You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/03/05 16:06:20 UTC
[01/22] [OLINGO-169] Package renaming according to latest ML
discussion
Repository: incubator-olingo-odata4
Updated Branches:
refs/heads/olingo169 eb886d6a5 -> bae3d847a
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java
new file mode 100644
index 0000000..06385db
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class SingletonDeserializer extends AbstractEdmDeserializer<SingletonImpl> {
+
+ @Override
+ protected SingletonImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final SingletonImpl singleton = new SingletonImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ singleton.setName(jp.nextTextValue());
+ } else if ("Type".equals(jp.getCurrentName())) {
+ singleton.setType(jp.nextTextValue());
+ } else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ singleton.getNavigationPropertyBindings().add(
+ jp.readValueAs(NavigationPropertyBindingImpl.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ singleton.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ }
+ }
+ }
+
+ return singleton;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java
new file mode 100644
index 0000000..09044bc
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Singleton;
+
+@JsonDeserialize(using = SingletonDeserializer.class)
+public class SingletonImpl extends AbstractAnnotatedEdmItem implements Singleton {
+
+ private static final long serialVersionUID = 941802518279658559L;
+
+ private String name;
+
+ private String type;
+
+ private final List<NavigationPropertyBindingImpl> navigationPropertyBindings
+ = new ArrayList<NavigationPropertyBindingImpl>();
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public List<NavigationPropertyBindingImpl> getNavigationPropertyBindings() {
+ return navigationPropertyBindings;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermDeserializer.java
new file mode 100644
index 0000000..c281b11
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermDeserializer.java
@@ -0,0 +1,75 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import java.math.BigInteger;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.CSDLElement;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class TermDeserializer extends AbstractEdmDeserializer<TermImpl> {
+
+ @Override
+ protected TermImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final TermImpl term = new TermImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ term.setName(jp.nextTextValue());
+ } else if ("Type".equals(jp.getCurrentName())) {
+ term.setType(jp.nextTextValue());
+ } else if ("BaseTerm".equals(jp.getCurrentName())) {
+ term.setBaseTerm(jp.nextTextValue());
+ } else if ("DefaultValue".equals(jp.getCurrentName())) {
+ term.setDefaultValue(jp.nextTextValue());
+ } else if ("Nullable".equals(jp.getCurrentName())) {
+ term.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("MaxLength".equals(jp.getCurrentName())) {
+ term.setMaxLength(jp.nextTextValue());
+ } else if ("Precision".equals(jp.getCurrentName())) {
+ term.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("Scale".equals(jp.getCurrentName())) {
+ term.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("SRID".equals(jp.getCurrentName())) {
+ term.setSrid(jp.nextTextValue());
+ } else if ("AppliesTo".equals(jp.getCurrentName())) {
+ for (String split : StringUtils.split(jp.nextTextValue())) {
+ term.getAppliesTo().add(CSDLElement.valueOf(split));
+ }
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ term.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ }
+ }
+ }
+
+ return term;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermImpl.java
new file mode 100644
index 0000000..bcce72a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TermImpl.java
@@ -0,0 +1,148 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.CSDLElement;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Term;
+
+@JsonDeserialize(using = TermDeserializer.class)
+public class TermImpl extends AbstractAnnotatedEdmItem implements Term {
+
+ private static final long serialVersionUID = -5888231162358116515L;
+
+ private String name;
+
+ private String type;
+
+ private String baseTerm;
+
+ private String defaultValue;
+
+ private boolean nullable = true;
+
+ private String maxLength;
+
+ private BigInteger precision;
+
+ private BigInteger scale;
+
+ private String srid;
+
+ private final List<CSDLElement> appliesTo = new ArrayList<CSDLElement>();
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public String getBaseTerm() {
+ return baseTerm;
+ }
+
+ @Override
+ public void setBaseTerm(final String baseTerm) {
+ this.baseTerm = baseTerm;
+ }
+
+ @Override
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ @Override
+ public void setDefaultValue(final String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+
+ @Override
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ @Override
+ public void setNullable(final boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public String getMaxLength() {
+ return maxLength;
+ }
+
+ @Override
+ public void setMaxLength(final String maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ @Override
+ public BigInteger getPrecision() {
+ return precision;
+ }
+
+ @Override
+ public void setPrecision(final BigInteger precision) {
+ this.precision = precision;
+ }
+
+ @Override
+ public BigInteger getScale() {
+ return scale;
+ }
+
+ @Override
+ public void setScale(final BigInteger scale) {
+ this.scale = scale;
+ }
+
+ @Override
+ public String getSrid() {
+ return srid;
+ }
+
+ @Override
+ public void setSrid(final String srid) {
+ this.srid = srid;
+ }
+
+ @Override
+ public List<CSDLElement> getAppliesTo() {
+ return appliesTo;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java
new file mode 100644
index 0000000..36b4cbe
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import java.math.BigInteger;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class TypeDefinitionDeserializer extends AbstractEdmDeserializer<TypeDefinitionImpl> {
+
+ @Override
+ protected TypeDefinitionImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final TypeDefinitionImpl typeDefinition = new TypeDefinitionImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ typeDefinition.setName(jp.nextTextValue());
+ } else if ("UnderlyingType".equals(jp.getCurrentName())) {
+ typeDefinition.setUnderlyingType(jp.nextTextValue());
+ } else if ("MaxLength".equals(jp.getCurrentName())) {
+ typeDefinition.setMaxLength(jp.nextTextValue());
+ } else if ("Unicode".equals(jp.getCurrentName())) {
+ typeDefinition.setUnicode(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Precision".equals(jp.getCurrentName())) {
+ typeDefinition.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("Scale".equals(jp.getCurrentName())) {
+ typeDefinition.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("SRID".equals(jp.getCurrentName())) {
+ typeDefinition.setSrid(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ typeDefinition.getAnnotations().add(jp.readValueAs( AnnotationImpl.class));
+ }
+ }
+ }
+
+ return typeDefinition;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java
new file mode 100644
index 0000000..061a4a6
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java
@@ -0,0 +1,122 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.TypeDefinition;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class TypeDefinitionImpl extends AbstractEdmItem implements TypeDefinition {
+
+ private static final long serialVersionUID = -5888231162358116515L;
+
+ private String name;
+
+ private String underlyingType;
+
+ private String maxLength;
+
+ private BigInteger precision;
+
+ private BigInteger scale;
+
+ private boolean unicode = true;
+
+ private String srid;
+
+ private final List<AnnotationImpl> annotations = new ArrayList<AnnotationImpl>();
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getUnderlyingType() {
+ return underlyingType;
+ }
+
+ @Override
+ public void setUnderlyingType(final String underlyingType) {
+ this.underlyingType = underlyingType;
+ }
+
+ @Override
+ public String getMaxLength() {
+ return maxLength;
+ }
+
+ @Override
+ public void setMaxLength(final String maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ @Override
+ public BigInteger getPrecision() {
+ return precision;
+ }
+
+ @Override
+ public void setPrecision(final BigInteger precision) {
+ this.precision = precision;
+ }
+
+ @Override
+ public BigInteger getScale() {
+ return scale;
+ }
+
+ @Override
+ public void setScale(final BigInteger scale) {
+ this.scale = scale;
+ }
+
+ @Override
+ public boolean isUnicode() {
+ return unicode;
+ }
+
+ @Override
+ public void setUnicode(final boolean unicode) {
+ this.unicode = unicode;
+ }
+
+ @Override
+ public String getSrid() {
+ return srid;
+ }
+
+ @Override
+ public void setSrid(final String srid) {
+ this.srid = srid;
+ }
+
+ @Override
+ public List<AnnotationImpl> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
index c6b5bba..bd8c3e9 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
@@ -25,7 +25,7 @@ import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser;
import java.io.IOException;
import org.apache.olingo.odata4.client.api.ODataClient;
-import org.apache.olingo.odata4.client.core.edm.v4.ReturnTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ReturnTypeImpl;
import org.apache.olingo.odata4.client.core.edm.v4.annotation.ConstExprConstructImpl;
public abstract class AbstractEdmDeserializer<T> extends JsonDeserializer<T> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/ComplexTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/ComplexTypeDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/ComplexTypeDeserializer.java
index 81bbd48..1ceca91 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/ComplexTypeDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/ComplexTypeDeserializer.java
@@ -24,8 +24,8 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.edm.AbstractComplexType;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractComplexType;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
public class ComplexTypeDeserializer extends AbstractEdmDeserializer<AbstractComplexType> {
@@ -35,8 +35,8 @@ public class ComplexTypeDeserializer extends AbstractEdmDeserializer<AbstractCom
throws IOException, JsonProcessingException {
final AbstractComplexType complexType = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.ComplexTypeImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl();
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -44,33 +44,33 @@ public class ComplexTypeDeserializer extends AbstractEdmDeserializer<AbstractCom
if ("Name".equals(jp.getCurrentName())) {
complexType.setName(jp.nextTextValue());
} else if ("Abstract".equals(jp.getCurrentName())) {
- ((org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl) complexType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl) complexType).
setAbstractEntityType(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("BaseType".equals(jp.getCurrentName())) {
- ((org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl) complexType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl) complexType).
setBaseType(jp.nextTextValue());
} else if ("OpenType".equals(jp.getCurrentName())) {
- ((org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl) complexType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl) complexType).
setOpenType(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("Property".equals(jp.getCurrentName())) {
jp.nextToken();
- if (complexType instanceof org.apache.olingo.odata4.client.core.edm.v3.ComplexTypeImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.ComplexTypeImpl) complexType).
+ if (complexType instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl) complexType).
getProperties().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.PropertyImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl) complexType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl) complexType).
getProperties().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.PropertyImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.PropertyImpl.class));
}
} else if ("NavigationProperty".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl) complexType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl) complexType).
getNavigationProperties().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.NavigationPropertyImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.NavigationPropertyImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl) complexType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl) complexType).
setAnnotation(jp.readValueAs(AnnotationImpl.class));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityContainerDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityContainerDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityContainerDeserializer.java
index babfaa8..92be399 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityContainerDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityContainerDeserializer.java
@@ -24,11 +24,11 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntityContainer;
-import org.apache.olingo.odata4.client.core.edm.v3.AssociationSetImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.ActionImportImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.SingletonImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityContainer;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.AssociationSetImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ActionImportImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.SingletonImpl;
import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
@SuppressWarnings("rawtypes")
@@ -39,8 +39,8 @@ public class EntityContainerDeserializer extends AbstractEdmDeserializer<Abstrac
throws IOException, JsonProcessingException {
final AbstractEntityContainer entityContainer = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl();
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -55,41 +55,41 @@ public class EntityContainerDeserializer extends AbstractEdmDeserializer<Abstrac
entityContainer.setDefaultEntityContainer(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("EntitySet".equals(jp.getCurrentName())) {
jp.nextToken();
- if (entityContainer instanceof org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl) entityContainer).
+ if (entityContainer instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl) entityContainer).
getEntitySets().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.EntitySetImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.EntitySetImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl) entityContainer).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl) entityContainer).
getEntitySets().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.EntitySetImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.EntitySetImpl.class));
}
} else if ("AssociationSet".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl) entityContainer).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl) entityContainer).
getAssociationSets().add(jp.readValueAs(AssociationSetImpl.class));
} else if ("Singleton".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl) entityContainer).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl) entityContainer).
getSingletons().add(jp.readValueAs(SingletonImpl.class));
} else if ("ActionImport".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl) entityContainer).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl) entityContainer).
getActionImports().add(jp.readValueAs(ActionImportImpl.class));
} else if ("FunctionImport".equals(jp.getCurrentName())) {
jp.nextToken();
- if (entityContainer instanceof org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl) entityContainer).
+ if (entityContainer instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl) entityContainer).
getFunctionImports().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.FunctionImportImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.FunctionImportImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl) entityContainer).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl) entityContainer).
getFunctionImports().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.FunctionImportImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImportImpl.class));
}
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl) entityContainer).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl) entityContainer).
setAnnotation(jp.readValueAs(AnnotationImpl.class));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityKeyDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityKeyDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityKeyDeserializer.java
index 7569c7b..dd26a97 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityKeyDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityKeyDeserializer.java
@@ -23,8 +23,8 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
-import org.apache.olingo.odata4.client.core.edm.EntityKeyImpl;
-import org.apache.olingo.odata4.client.core.edm.PropertyRefImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.EntityKeyImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.PropertyRefImpl;
public class EntityKeyDeserializer extends AbstractEdmDeserializer<EntityKeyImpl> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntitySetDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntitySetDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntitySetDeserializer.java
index 078fc65..a5fa924 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntitySetDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntitySetDeserializer.java
@@ -24,9 +24,9 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntitySet;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.NavigationPropertyBindingImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntitySet;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.NavigationPropertyBindingImpl;
import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
public class EntitySetDeserializer extends AbstractEdmDeserializer<AbstractEntitySet> {
@@ -36,8 +36,8 @@ public class EntitySetDeserializer extends AbstractEdmDeserializer<AbstractEntit
throws IOException, JsonProcessingException {
final AbstractEntitySet entitySet = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.EntitySetImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.EntitySetImpl();
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.EntitySetImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.EntitySetImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -47,16 +47,16 @@ public class EntitySetDeserializer extends AbstractEdmDeserializer<AbstractEntit
} else if ("EntityType".equals(jp.getCurrentName())) {
entitySet.setEntityType(jp.nextTextValue());
} else if ("IncludeInServiceDocument".equals(jp.getCurrentName())) {
- ((org.apache.olingo.odata4.client.core.edm.v4.EntitySetImpl) entitySet).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntitySetImpl) entitySet).
setIncludeInServiceDocument(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EntitySetImpl) entitySet).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntitySetImpl) entitySet).
getNavigationPropertyBindings().add(
jp.readValueAs(NavigationPropertyBindingImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EntitySetImpl) entitySet).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntitySetImpl) entitySet).
setAnnotation(jp.readValueAs(AnnotationImpl.class));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityTypeDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityTypeDeserializer.java
index f8af8b2..610b751 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityTypeDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EntityTypeDeserializer.java
@@ -24,9 +24,9 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntityType;
-import org.apache.olingo.odata4.client.core.edm.EntityKeyImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityType;
+import org.apache.olingo.odata4.client.core.edm.xml.EntityKeyImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
public class EntityTypeDeserializer extends AbstractEdmDeserializer<AbstractEntityType> {
@@ -36,8 +36,8 @@ public class EntityTypeDeserializer extends AbstractEdmDeserializer<AbstractEnti
throws IOException, JsonProcessingException {
final AbstractEntityType entityType = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.EntityTypeImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.EntityTypeImpl();
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -57,29 +57,29 @@ public class EntityTypeDeserializer extends AbstractEdmDeserializer<AbstractEnti
entityType.setKey(jp.readValueAs(EntityKeyImpl.class));
} else if ("Property".equals(jp.getCurrentName())) {
jp.nextToken();
- if (entityType instanceof org.apache.olingo.odata4.client.core.edm.v3.EntityTypeImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.EntityTypeImpl) entityType).
+ if (entityType instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl) entityType).
getProperties().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.PropertyImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityTypeImpl) entityType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl) entityType).
getProperties().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.PropertyImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.PropertyImpl.class));
}
} else if ("NavigationProperty".equals(jp.getCurrentName())) {
jp.nextToken();
- if (entityType instanceof org.apache.olingo.odata4.client.core.edm.v3.EntityTypeImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.EntityTypeImpl) entityType).
+ if (entityType instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl) entityType).
getNavigationProperties().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.NavigationPropertyImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.NavigationPropertyImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityTypeImpl) entityType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl) entityType).
getNavigationProperties().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.NavigationPropertyImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.NavigationPropertyImpl.class));
}
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EntityTypeImpl) entityType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl) entityType).
setAnnotation(jp.readValueAs(AnnotationImpl.class));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EnumTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EnumTypeDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EnumTypeDeserializer.java
index 867fac4..086d99c 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EnumTypeDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/EnumTypeDeserializer.java
@@ -24,8 +24,8 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.edm.AbstractEnumType;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEnumType;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
public class EnumTypeDeserializer extends AbstractEdmDeserializer<AbstractEnumType> {
@@ -35,8 +35,8 @@ public class EnumTypeDeserializer extends AbstractEdmDeserializer<AbstractEnumTy
throws IOException, JsonProcessingException {
final AbstractEnumType enumType = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.EnumTypeImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.EnumTypeImpl();
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.EnumTypeImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -49,18 +49,18 @@ public class EnumTypeDeserializer extends AbstractEdmDeserializer<AbstractEnumTy
enumType.setFlags(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("Member".equals(jp.getCurrentName())) {
jp.nextToken();
- if (enumType instanceof org.apache.olingo.odata4.client.core.edm.v3.EnumTypeImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.EnumTypeImpl) enumType).
+ if (enumType instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.EnumTypeImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.EnumTypeImpl) enumType).
getMembers().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.MemberImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.MemberImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.EnumTypeImpl) enumType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl) enumType).
getMembers().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.MemberImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.MemberImpl.class));
}
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EnumTypeImpl) enumType).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl) enumType).
setAnnotation(jp.readValueAs(AnnotationImpl.class));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/SchemaDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/SchemaDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/SchemaDeserializer.java
index 6c07a3b..c17c4cd 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/SchemaDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/SchemaDeserializer.java
@@ -23,14 +23,14 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
-import org.apache.olingo.odata4.client.core.edm.AbstractSchema;
-import org.apache.olingo.odata4.client.core.edm.v3.AssociationImpl;
-import org.apache.olingo.odata4.client.core.edm.v3.UsingImpl;
-import org.apache.olingo.odata4.client.core.edm.v3.ValueTermImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.ActionImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.FunctionImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.TypeDefinitionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractSchema;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.AssociationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.UsingImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.ValueTermImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ActionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.TypeDefinitionImpl;
import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
@SuppressWarnings("rawtypes")
@@ -41,8 +41,8 @@ public class SchemaDeserializer extends AbstractEdmDeserializer<AbstractSchema>
throws IOException, JsonProcessingException {
final AbstractSchema schema = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl();
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -53,90 +53,90 @@ public class SchemaDeserializer extends AbstractEdmDeserializer<AbstractSchema>
schema.setAlias(jp.nextTextValue());
} else if ("Using".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).
getUsings().add(jp.readValueAs( UsingImpl.class));
} else if ("Association".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).
getAssociations().add(jp.readValueAs( AssociationImpl.class));
} else if ("ComplexType".equals(jp.getCurrentName())) {
jp.nextToken();
- if (schema instanceof org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).
+ if (schema instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).
getComplexTypes().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.ComplexTypeImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).
getComplexTypes().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl.class));
}
} else if ("EntityType".equals(jp.getCurrentName())) {
jp.nextToken();
- if (schema instanceof org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).
+ if (schema instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).
getEntityTypes().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.EntityTypeImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).
getEntityTypes().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.EntityTypeImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl.class));
}
} else if ("EnumType".equals(jp.getCurrentName())) {
jp.nextToken();
- if (schema instanceof org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).
+ if (schema instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).
getEnumTypes().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.EnumTypeImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.EnumTypeImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).
getEnumTypes().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.EnumTypeImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl.class));
}
} else if ("ValueTerm".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).
getValueTerms().add(jp.readValueAs( ValueTermImpl.class));
} else if ("EntityContainer".equals(jp.getCurrentName())) {
jp.nextToken();
- if (schema instanceof org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).
+ if (schema instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).
getEntityContainers().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl.class));
} else {
- org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl entityContainer
+ org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl entityContainer
= jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl.class);
+ org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl.class);
entityContainer.setDefaultEntityContainer(true);
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).
setEntityContainer(entityContainer);
}
} else if ("Annotations".equals(jp.getCurrentName())) {
jp.nextToken();
- if (schema instanceof org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl) schema).getAnnotationsList().
+ if (schema instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl) schema).getAnnotationsList().
add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.AnnotationsImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v3.AnnotationsImpl.class));
} else {
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).getAnnotationsList().
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).getAnnotationsList().
add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.AnnotationsImpl.class));
+ org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationsImpl.class));
}
} else if ("Action".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).getActions().
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).getActions().
add(jp.readValueAs( ActionImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).getAnnotations().
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).getAnnotations().
add(jp.readValueAs( AnnotationImpl.class));
} else if ("Function".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).getFunctions().
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).getFunctions().
add(jp.readValueAs( FunctionImpl.class));
} else if ("TypeDefinition".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl) schema).
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl) schema).
getTypeDefinitions().add(jp.readValueAs( TypeDefinitionImpl.class));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
index f47cd83..36b90b2 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
@@ -21,7 +21,7 @@ package org.apache.olingo.odata4.client.core.op.impl.v3;
import java.io.InputStream;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.core.op.impl.AbstractODataDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmxImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.EdmxImpl;
public class ODataDeserializerImpl extends AbstractODataDeserializer {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
index d67adc2..b97b69b 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
@@ -21,7 +21,7 @@ package org.apache.olingo.odata4.client.core.op.impl.v4;
import java.io.InputStream;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.core.op.impl.AbstractODataDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.EdmxImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EdmxImpl;
public class ODataDeserializerImpl extends AbstractODataDeserializer {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
index f887096..b23cb72 100644
--- a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
+++ b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
@@ -28,13 +28,13 @@ import org.apache.olingo.odata4.client.api.edm.EdmType;
import org.apache.olingo.odata4.client.api.http.HttpMethod;
import org.apache.olingo.odata4.client.core.AbstractTest;
import org.apache.olingo.odata4.client.core.ODataV3Client;
-import org.apache.olingo.odata4.client.core.edm.v3.ComplexTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl;
import org.apache.olingo.odata4.client.core.edm.v3.EdmMetadataImpl;
import org.apache.olingo.odata4.client.core.edm.v3.EdmTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v3.EntityContainerImpl;
-import org.apache.olingo.odata4.client.core.edm.v3.EntityTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v3.FunctionImportImpl;
-import org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.FunctionImportImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl;
import org.junit.Test;
public class MetadataTest extends AbstractTest {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
index b3c2092..38709ed 100644
--- a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
+++ b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
@@ -28,20 +28,20 @@ import java.util.List;
import org.apache.olingo.odata4.client.api.data.EdmSimpleType;
import org.apache.olingo.odata4.client.core.AbstractTest;
import org.apache.olingo.odata4.client.core.ODataV4Client;
-import org.apache.olingo.odata4.client.core.edm.v4.FunctionImportImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.ActionImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationsImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.ComplexTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImportImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ActionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationsImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl;
import org.apache.olingo.odata4.client.core.edm.v4.EdmMetadataImpl;
import org.apache.olingo.odata4.client.core.edm.v4.EdmTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.EntityContainerImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.EntitySetImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.EntityTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.EnumTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.FunctionImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.SingletonImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EntitySetImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.SingletonImpl;
import org.apache.olingo.odata4.client.core.edm.v4.annotation.Apply;
import org.apache.olingo.odata4.client.core.edm.v4.annotation.Collection;
import org.apache.olingo.odata4.client.core.edm.v4.annotation.ConstExprConstructImpl;
[14/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmServiceMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmServiceMetadataImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmServiceMetadataImpl.java
index f44f1d6..ba8a46a 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmServiceMetadataImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmServiceMetadataImpl.java
@@ -23,12 +23,18 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.odata4.commons.api.ODataException;
+import org.apache.olingo.odata4.commons.api.edm.EdmActionImportInfo;
import org.apache.olingo.odata4.commons.api.edm.EdmEntitySetInfo;
import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImportInfo;
import org.apache.olingo.odata4.commons.api.edm.EdmServiceMetadata;
import org.apache.olingo.odata4.commons.api.edm.EdmSingletonInfo;
import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.odata4.commons.core.edm.EdmSingletonInfoImpl;
+import org.apache.olingo.odata4.commons.core.edm.EdmActionImportInfoImpl;
+import org.apache.olingo.odata4.commons.core.edm.EdmFunctionImportInfoImpl;
+import org.apache.olingo.odata4.commons.core.edm.EdmEntitySetInfoImpl;
+import org.apache.olingo.odata4.server.api.edm.provider.ActionImport;
import org.apache.olingo.odata4.server.api.edm.provider.EdmProvider;
import org.apache.olingo.odata4.server.api.edm.provider.EntityContainer;
import org.apache.olingo.odata4.server.api.edm.provider.EntitySet;
@@ -39,11 +45,17 @@ import org.apache.olingo.odata4.server.api.edm.provider.Singleton;
public class EdmServiceMetadataImpl implements EdmServiceMetadata {
private EdmProvider provider;
- private ArrayList<EdmEntitySetInfo> entitySetInfos;
- private ArrayList<EdmFunctionImportInfo> functionImportInfos;
- private ArrayList<EdmSingletonInfo> singletonInfos;
+
private List<Schema> schemas;
+ private List<EdmEntitySetInfo> entitySetInfos;
+
+ private List<EdmSingletonInfo> singletonInfos;
+
+ private List<EdmActionImportInfo> actionImportInfos;
+
+ private List<EdmFunctionImportInfo> functionImportInfos;
+
public EdmServiceMetadataImpl(final EdmProvider provider) {
this.provider = provider;
}
@@ -70,12 +82,12 @@ public class EdmServiceMetadataImpl implements EdmServiceMetadata {
}
}
for (Schema schema : schemas) {
- EntityContainer entityContainer = schema.getEntityContainer();
+ final EntityContainer entityContainer = schema.getEntityContainer();
if (entityContainer != null) {
- List<EntitySet> entitySets = entityContainer.getEntitySets();
+ final List<EntitySet> entitySets = entityContainer.getEntitySets();
if (entitySets != null) {
for (EntitySet set : entitySets) {
- entitySetInfos.add(new EdmEntitySetInfoImpl(entityContainer, set));
+ entitySetInfos.add(new EdmEntitySetInfoImpl(entityContainer.getName(), set.getName()));
}
}
}
@@ -99,12 +111,12 @@ public class EdmServiceMetadataImpl implements EdmServiceMetadata {
}
}
for (Schema schema : schemas) {
- EntityContainer entityContainer = schema.getEntityContainer();
+ final EntityContainer entityContainer = schema.getEntityContainer();
if (entityContainer != null) {
- List<Singleton> singletons = entityContainer.getSingletons();
+ final List<Singleton> singletons = entityContainer.getSingletons();
if (singletons != null) {
for (Singleton singleton : singletons) {
- singletonInfos.add(new EdmSingletonInfoImpl(entityContainer, singleton));
+ singletonInfos.add(new EdmSingletonInfoImpl(entityContainer.getName(), singleton.getName()));
}
}
}
@@ -117,6 +129,35 @@ public class EdmServiceMetadataImpl implements EdmServiceMetadata {
}
@Override
+ public List<EdmActionImportInfo> getActionImportInfos() {
+ if (actionImportInfos == null) {
+ try {
+ actionImportInfos = new ArrayList<EdmActionImportInfo>();
+ if (schemas == null) {
+ schemas = provider.getSchemas();
+ if (schemas == null) {
+ throw new EdmException("Provider doe not define any schemas.");
+ }
+ }
+ for (Schema schema : schemas) {
+ final EntityContainer entityContainer = schema.getEntityContainer();
+ if (entityContainer != null) {
+ final List<ActionImport> actionImports = entityContainer.getActionImports();
+ if (actionImports != null) {
+ for (ActionImport actionImport : actionImports) {
+ actionImportInfos.add(new EdmActionImportInfoImpl(entityContainer.getName(), actionImport.getName()));
+ }
+ }
+ }
+ }
+ } catch (ODataException e) {
+ throw new EdmException(e);
+ }
+ }
+ return actionImportInfos;
+ }
+
+ @Override
public List<EdmFunctionImportInfo> getFunctionImportInfos() {
if (functionImportInfos == null) {
try {
@@ -128,12 +169,13 @@ public class EdmServiceMetadataImpl implements EdmServiceMetadata {
}
}
for (Schema schema : schemas) {
- EntityContainer entityContainer = schema.getEntityContainer();
+ final EntityContainer entityContainer = schema.getEntityContainer();
if (entityContainer != null) {
- List<FunctionImport> functionImports = entityContainer.getFunctionImports();
+ final List<FunctionImport> functionImports = entityContainer.getFunctionImports();
if (functionImports != null) {
for (FunctionImport functionImport : functionImports) {
- functionImportInfos.add(new EdmFunctionImportInfoImpl(entityContainer, functionImport));
+ functionImportInfos.add(
+ new EdmFunctionImportInfoImpl(entityContainer.getName(), functionImport.getName()));
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImpl.java
index 1ca0fc5..9fbd0b0 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImpl.java
@@ -18,13 +18,14 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
import org.apache.olingo.odata4.server.api.edm.provider.Singleton;
public class EdmSingletonImpl extends EdmBindingTargetImpl implements EdmSingleton {
- public EdmSingletonImpl(final EdmProviderImpl edm, final EdmEntityContainer container, final Singleton singleton) {
+ public EdmSingletonImpl(final Edm edm, final EdmEntityContainer container, final Singleton singleton) {
super(edm, container, singleton);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImpl.java
deleted file mode 100644
index d69bc99..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImpl.java
+++ /dev/null
@@ -1,53 +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.odata4.server.core.edm.provider;
-
-import java.net.URI;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmSingletonInfo;
-import org.apache.olingo.odata4.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.odata4.server.api.edm.provider.Singleton;
-
-public class EdmSingletonInfoImpl implements EdmSingletonInfo {
-
- private final EntityContainer entityContainer;
- private final Singleton singleton;
-
- public EdmSingletonInfoImpl(final EntityContainer entityContainer, final Singleton singleton) {
- this.entityContainer = entityContainer;
- this.singleton = singleton;
- }
-
- @Override
- public String getEntityContainerName() {
- return entityContainer.getName();
- }
-
- @Override
- public String getSingletonName() {
- return singleton.getName();
- }
-
- @Override
- public URI getEntitySetUri() {
- throw new EdmException("Not yet implemented");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuralTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuralTypeImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuralTypeImpl.java
deleted file mode 100644
index 8849dd0..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuralTypeImpl.java
+++ /dev/null
@@ -1,129 +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.odata4.server.core.edm.provider;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmElement;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmStructuralType;
-import org.apache.olingo.odata4.commons.api.edm.EdmType;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.odata4.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.odata4.server.api.edm.provider.Property;
-import org.apache.olingo.odata4.server.api.edm.provider.StructuralType;
-
-public abstract class EdmStructuralTypeImpl extends EdmTypeImpl implements EdmStructuralType {
-
- private final Map<String, EdmElement> properties = new HashMap<String, EdmElement>();
- private ArrayList<String> navigationPropertyNames;
- private ArrayList<String> propertyNames;
- protected final EdmStructuralType baseType;
- private final StructuralType structuralType;
-
- public EdmStructuralTypeImpl(final EdmProviderImpl edm, final FullQualifiedName name,
- final StructuralType structuralType, final EdmTypeKind kind) {
- super(edm, name, kind);
- this.structuralType = structuralType;
- baseType = buildBaseType(structuralType.getBaseType());
- buildProperties(structuralType.getProperties());
- buildNavigationProperties(structuralType.getNavigationProperties());
- }
-
- private void buildNavigationProperties(final List<NavigationProperty> providerNavigationProperties) {
- if (providerNavigationProperties != null) {
- for (NavigationProperty navigationProperty : providerNavigationProperties) {
- properties.put(navigationProperty.getName(), new EdmNavigationPropertyImpl(edm, navigationProperty));
- }
- }
-
- }
-
- private void buildProperties(final List<Property> providerProperties) {
- if (providerProperties != null) {
- for (Property property : providerProperties) {
- properties.put(property.getName(), new EdmPropertyImpl(edm, property));
- }
- }
-
- }
-
- @Override
- public EdmElement getProperty(final String name) {
- EdmElement property = null;
- if (baseType != null) {
- property = baseType.getProperty(name);
- }
- if (property == null) {
- property = properties.get(name);
- }
- return property;
- }
-
- @Override
- public List<String> getPropertyNames() {
- if (propertyNames == null) {
- propertyNames = new ArrayList<String>();
- if (baseType != null) {
- propertyNames.addAll(baseType.getPropertyNames());
- }
- for (Property property : structuralType.getProperties()) {
- propertyNames.add(property.getName());
- }
- }
- return propertyNames;
- }
-
- @Override
- public List<String> getNavigationPropertyNames() {
- if (navigationPropertyNames == null) {
- navigationPropertyNames = new ArrayList<String>();
- if (baseType != null) {
- navigationPropertyNames.addAll(baseType.getNavigationPropertyNames());
- }
- for (NavigationProperty navProperty : structuralType.getNavigationProperties()) {
- navigationPropertyNames.add(navProperty.getName());
- }
- }
- return navigationPropertyNames;
- }
-
- @Override
- public boolean compatibleTo(final EdmType targetType) {
- EdmStructuralType sourceType = this;
- if (targetType == null) {
- throw new EdmException("Target type must not be null");
- }
- while (sourceType.getName() != targetType.getName() ||
- sourceType.getNamespace() != targetType.getNamespace()) {
- sourceType = sourceType.getBaseType();
- if (sourceType == null) {
- return false;
- }
- }
-
- return true;
- }
-
- protected abstract EdmStructuralType buildBaseType(FullQualifiedName baseTypeName);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuredTypeHelperImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuredTypeHelperImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuredTypeHelperImpl.java
new file mode 100644
index 0000000..cc7eac7
--- /dev/null
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmStructuredTypeHelperImpl.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.odata4.server.core.edm.provider;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
+import org.apache.olingo.odata4.server.api.edm.provider.NavigationProperty;
+import org.apache.olingo.odata4.server.api.edm.provider.Property;
+import org.apache.olingo.odata4.server.api.edm.provider.StructuredType;
+
+public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
+
+ private final Edm edm;
+
+ private final StructuredType structuredType;
+
+ private Map<String, EdmProperty> properties;
+
+ private Map<String, EdmNavigationProperty> navigationProperties;
+
+ public EdmStructuredTypeHelperImpl(final Edm edm, final StructuredType structuredType) {
+ this.edm = edm;
+ this.structuredType = structuredType;
+ }
+
+ @Override
+ public Map<String, EdmProperty> getProperties() {
+ if (properties == null) {
+ properties = new LinkedHashMap<String, EdmProperty>();
+ if (structuredType.getProperties() != null) {
+ for (Property property : structuredType.getProperties()) {
+ properties.put(property.getName(), new EdmPropertyImpl(edm, property));
+ }
+ }
+ }
+ return properties;
+ }
+
+ @Override
+ public Map<String, EdmNavigationProperty> getNavigationProperties() {
+ if (navigationProperties == null) {
+ navigationProperties = new LinkedHashMap<String, EdmNavigationProperty>();
+ if (structuredType.getNavigationProperties() != null) {
+ for (NavigationProperty navigationProperty : structuredType.getNavigationProperties()) {
+ navigationProperties.put(navigationProperty.getName(),
+ new EdmNavigationPropertyImpl(edm, navigationProperty));
+ }
+ }
+ }
+ return navigationProperties;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeDefinitionImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeDefinitionImpl.java
index ad44f08..3c370e7 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeDefinitionImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeDefinitionImpl.java
@@ -18,88 +18,36 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.odata4.commons.api.edm.EdmTypeDefinition;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmTypeDefinition;
import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
import org.apache.olingo.odata4.server.api.edm.provider.TypeDefinition;
-public class EdmTypeDefinitionImpl extends EdmNamedImpl implements EdmTypeDefinition {
+public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition implements EdmTypeDefinition {
- private final FullQualifiedName typeDefinitionName;
private TypeDefinition typeDefinition;
+
private EdmPrimitiveType edmPrimitiveTypeInstance;
- public EdmTypeDefinitionImpl(final EdmProviderImpl edm, final FullQualifiedName typeDefinitionName,
- final TypeDefinition typeDefinition) {
- super(edm, typeDefinitionName.getName());
- this.typeDefinitionName = typeDefinitionName;
+ public EdmTypeDefinitionImpl(final Edm edm, final FullQualifiedName typeDefinitionName,
+ final TypeDefinition typeDefinition) {
+
+ super(edm, typeDefinitionName);
this.typeDefinition = typeDefinition;
// TODO: Should we check for edmNamespace in the underlying type name?
try {
- edmPrimitiveTypeInstance =
- EdmPrimitiveTypeKind.valueOf(typeDefinition.getUnderlyingType().getName()).getEdmPrimitiveTypeInstance();
+ edmPrimitiveTypeInstance = EdmPrimitiveTypeKind.valueOf(
+ typeDefinition.getUnderlyingType().getName()).getEdmPrimitiveTypeInstance();
} catch (IllegalArgumentException e) {
throw new EdmException("Invalid underlying type: " + typeDefinitionName, e);
}
}
@Override
- public boolean isCompatible(final EdmPrimitiveType primitiveType) {
- return edmPrimitiveTypeInstance.isCompatible(primitiveType);
- }
-
- @Override
- public Class<?> getDefaultType() {
- return edmPrimitiveTypeInstance.getDefaultType();
- }
-
- @Override
- public boolean validate(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode) {
- return edmPrimitiveTypeInstance.validate(value, isNullable, maxLength, precision, scale, isUnicode);
- }
-
- @Override
- public <T> T valueOfString(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode, final Class<T> returnType) throws EdmPrimitiveTypeException {
- return edmPrimitiveTypeInstance
- .valueOfString(value, isNullable, maxLength, precision, scale, isUnicode, returnType);
- }
-
- @Override
- public String valueToString(final Object value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode) throws EdmPrimitiveTypeException {
- return edmPrimitiveTypeInstance.valueToString(value, isNullable, maxLength, precision, scale, isUnicode);
- }
-
- @Override
- public String toUriLiteral(final String literal) {
- return edmPrimitiveTypeInstance.toUriLiteral(literal);
- }
-
- @Override
- public String fromUriLiteral(final String literal) throws EdmPrimitiveTypeException {
- return edmPrimitiveTypeInstance.fromUriLiteral(literal);
- }
-
- @Override
- public String getNamespace() {
- return typeDefinitionName.getNamespace();
- }
-
- @Override
- public EdmTypeKind getKind() {
- return EdmTypeKind.DEFINITION;
- }
-
- @Override
public EdmPrimitiveType getUnderlyingType() {
return edmPrimitiveTypeInstance;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImpl.java
deleted file mode 100644
index 3f232c5..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImpl.java
+++ /dev/null
@@ -1,46 +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.odata4.server.core.edm.provider;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmType;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
-
-public abstract class EdmTypeImpl extends EdmNamedImpl implements EdmType {
-
- private final EdmTypeKind kind;
- private final String namespace;
-
- public EdmTypeImpl(final EdmProviderImpl edm, final FullQualifiedName name, final EdmTypeKind kind) {
- super(edm, name.getName());
- namespace = name.getNamespace();
- this.kind = kind;
- }
-
- @Override
- public String getNamespace() {
- return namespace;
- }
-
- @Override
- public EdmTypeKind getKind() {
- return kind;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceTypedImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceTypedImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceTypedImpl.java
index 2cec8de..a5b21b1 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceTypedImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceTypedImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.odata4.server.core.uri;
-import org.apache.olingo.odata4.commons.api.edm.EdmStructuralType;
+import org.apache.olingo.odata4.commons.api.edm.EdmStructuredType;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
import org.apache.olingo.odata4.server.api.uri.UriResourceKind;
@@ -36,7 +36,7 @@ public abstract class UriResourceTypedImpl extends UriResourceImpl implements Ur
return typeFilter;
}
- public UriResourceTypedImpl setTypeFilter(final EdmStructuralType typeFilter) {
+ public UriResourceTypedImpl setTypeFilter(final EdmStructuredType typeFilter) {
this.typeFilter = typeFilter;
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/parser/UriParseTreeVisitor.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/parser/UriParseTreeVisitor.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/parser/UriParseTreeVisitor.java
index f13484f..1561f17 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/parser/UriParseTreeVisitor.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/parser/UriParseTreeVisitor.java
@@ -38,7 +38,7 @@ import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
-import org.apache.olingo.odata4.commons.api.edm.EdmStructuralType;
+import org.apache.olingo.odata4.commons.api.edm.EdmStructuredType;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
@@ -387,12 +387,12 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
return null;
}
- if (!(source.type instanceof EdmStructuralType)) {
+ if (!(source.type instanceof EdmStructuredType)) {
throw wrap(new UriParserSemanticException("Can not parse'" + odi
+ "'Previous path segment not a structural type."));
}
- EdmStructuralType structType = (EdmStructuralType) source.type;
+ EdmStructuredType structType = (EdmStructuredType) source.type;
EdmElement property = structType.getProperty(odi);
if (property == null) {
@@ -1815,11 +1815,11 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
}
}
- if (!(prevType instanceof EdmStructuralType)) {
+ if (!(prevType instanceof EdmStructuredType)) {
throw wrap(new UriParserSemanticException("Previous select item is not a structural type"));
}
- EdmStructuralType structType = (EdmStructuralType) prevType;
+ EdmStructuredType structType = (EdmStructuredType) prevType;
EdmElement element = structType.getProperty(odi);
if (element == null) {
throw wrap(new UriParserSemanticException("Previous select item has not property: " + odi));
@@ -1888,7 +1888,7 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
if (prevType instanceof EdmComplexType) {
EdmComplexType ct = edm.getComplexType(fullName);
if (ct != null) {
- if ((ct.compatibleTo((EdmStructuralType) prevType))) {
+ if ((ct.compatibleTo((EdmStructuredType) prevType))) {
UriResourceStartingTypeFilterImpl resourcePart = new UriResourceStartingTypeFilterImpl();
resourcePart.setCollectionTypeFilter(ct);
@@ -1907,7 +1907,7 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
} else if (prevType instanceof EdmEntityType) {
EdmEntityType et = edm.getEntityType(fullName);
if (et != null) {
- if ((et.compatibleTo((EdmStructuralType) prevType))) {
+ if ((et.compatibleTo((EdmStructuredType) prevType))) {
UriResourceStartingTypeFilterImpl resourcePart = new UriResourceStartingTypeFilterImpl();
resourcePart.setCollectionTypeFilter(et);
@@ -1938,7 +1938,7 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
if (prevType instanceof EdmComplexType) {
EdmComplexType ct = edm.getComplexType(fullName);
if (ct != null) {
- if ((ct.compatibleTo((EdmStructuralType) prevType))) {
+ if ((ct.compatibleTo((EdmStructuredType) prevType))) {
UriResourceStartingTypeFilterImpl resourcePart = new UriResourceStartingTypeFilterImpl();
resourcePart.setCollectionTypeFilter(ct);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImplTest.java
index a6b5c36..866f347 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImplTest.java
@@ -57,20 +57,20 @@ public class EdmActionImplTest {
parameters.add(new Parameter().setName("Id").setType(new FullQualifiedName("namespace", "name")));
FullQualifiedName action1Name = new FullQualifiedName("namespace", "action1");
Action action1 = new Action().setName("action1").setBound(true).setParameters(parameters);
- actionImpl1 = new EdmActionImpl(provider, action1Name, action1);
+ actionImpl1 = EdmActionImpl.getInstance(provider, action1Name, action1);
FullQualifiedName action2Name = new FullQualifiedName("namespace", "action2");
FullQualifiedName returnTypeName = new FullQualifiedName("Edm", "String");
ReturnType returnType = new ReturnType().setType(returnTypeName);
Action action2 = new Action().setName("action2").setParameters(parameters).setReturnType(returnType);
- actionImpl2 = new EdmActionImpl(provider, action2Name, action2);
+ actionImpl2 = EdmActionImpl.getInstance(provider, action2Name, action2);
FullQualifiedName action3Name = new FullQualifiedName("namespace", "action3");
EntitySetPath entitySetPath = new EntitySetPath().setBindingParameter("Id").setPath("path");
Action action3 =
new Action().setName("action3").setParameters(parameters).setReturnType(returnType).setEntitySetPath(
entitySetPath);
- actionImpl3 = new EdmActionImpl(provider, action3Name, action3);
+ actionImpl3 = EdmActionImpl.getInstance(provider, action3Name, action3);
}
@Test
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImplTest.java
index a829c89..033800d 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImplTest.java
@@ -31,15 +31,18 @@ import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
import org.apache.olingo.odata4.server.api.edm.provider.ActionImport;
-import org.apache.olingo.odata4.server.api.edm.provider.Target;
+import org.apache.olingo.odata4.commons.api.edm.Target;
import org.junit.Before;
import org.junit.Test;
public class EdmActionImportImplTest {
EdmEntityContainer container;
+
EdmActionImport actionImport;
+
private EdmAction action;
+
private EdmEntitySet entitySet;
@Before
@@ -47,8 +50,8 @@ public class EdmActionImportImplTest {
FullQualifiedName actionFqn = new FullQualifiedName("namespace", "actionName");
FullQualifiedName entityContainerFqn = new FullQualifiedName("namespace", "containerName");
Target target = new Target().setEntityContainer(entityContainerFqn).setTargetName("entitySetName");
- ActionImport providerActionImport =
- new ActionImport().setName("actionImportName").setAction(actionFqn).setEntitySet(target);
+ ActionImport providerActionImport
+ = new ActionImport().setName("actionImportName").setAction(actionFqn).setEntitySet(target);
EdmProviderImpl edm = mock(EdmProviderImpl.class);
container = mock(EdmEntityContainer.class);
@@ -58,7 +61,7 @@ public class EdmActionImportImplTest {
entitySet = mock(EdmEntitySet.class);
when(container.getEntitySet("entitySetName")).thenReturn(entitySet);
- actionImport = new EdmActionImportImpl(edm, "actionImportName", container, providerActionImport);
+ actionImport = new EdmActionImportImpl(edm, container, "actionImportName", providerActionImport);
}
@Test
@@ -82,8 +85,8 @@ public class EdmActionImportImplTest {
public void getReturnedEntitySetNonExistingContainer() {
Target target = new Target();
ActionImport providerActionImport = new ActionImport().setName("actionImportName").setEntitySet(target);
- EdmActionImport actionImport =
- new EdmActionImportImpl(mock(EdmProviderImpl.class), "actionImportName", container, providerActionImport);
+ EdmActionImport actionImport
+ = new EdmActionImportImpl(mock(EdmProviderImpl.class), container, "actionImportName", providerActionImport);
actionImport.getReturnedEntitySet();
}
@@ -93,7 +96,7 @@ public class EdmActionImportImplTest {
ActionImport providerActionImport = new ActionImport().setName("actionImportName").setEntitySet(target);
EdmProviderImpl edm = mock(EdmProviderImpl.class);
when(edm.getEntityContainer(null)).thenReturn(container);
- EdmActionImport actionImport = new EdmActionImportImpl(edm, "actionImportName", container, providerActionImport);
+ EdmActionImport actionImport = new EdmActionImportImpl(edm, container, "actionImportName", providerActionImport);
actionImport.getReturnedEntitySet();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImplTest.java
index 33832ed..9ae780b 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImplTest.java
@@ -61,7 +61,7 @@ public class EdmComplexTypeImplTest {
.setNavigationProperties(baseNavigationProperties);
when(provider.getComplexType(baseName)).thenReturn(baseComplexType);
- baseType = new EdmComplexTypeImpl(edm, baseName, baseComplexType);
+ baseType = EdmComplexTypeImpl.getInstance(edm, baseName, baseComplexType);
FullQualifiedName name = new FullQualifiedName("namespace", "typeName");
ComplexType complexType = new ComplexType().setBaseType(baseName);
@@ -73,14 +73,14 @@ public class EdmComplexTypeImplTest {
.setNavigationProperties(navigationProperties);
when(provider.getComplexType(name)).thenReturn(complexType);
- type = new EdmComplexTypeImpl(edm, name, complexType);
+ type = EdmComplexTypeImpl.getInstance(edm, name, complexType);
}
@Test
public void noPropertiesAndNoNavPropertiesMustNotResultInException() {
EdmProviderImpl edm = mock(EdmProviderImpl.class);
ComplexType complexType = new ComplexType().setName("n");
- new EdmComplexTypeImpl(edm, new FullQualifiedName("n", "n"), complexType);
+ EdmComplexTypeImpl.getInstance(edm, new FullQualifiedName("n", "n"), complexType);
}
@Test
@@ -158,6 +158,6 @@ public class EdmComplexTypeImplTest {
new ComplexType().setBaseType(new FullQualifiedName("wrong", "wrong"));
complexTypeForNonexistingBaseType.setName("typeName");
when(provider.getComplexType(typeWithNonexistingBaseTypeName)).thenReturn(complexTypeForNonexistingBaseType);
- new EdmComplexTypeImpl(edm, typeWithNonexistingBaseTypeName, complexTypeForNonexistingBaseType);
+ EdmComplexTypeImpl.getInstance(edm, typeWithNonexistingBaseTypeName, complexTypeForNonexistingBaseType);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImplTest.java
index 5bd5fa3..85df520 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImplTest.java
@@ -36,7 +36,7 @@ import org.apache.olingo.odata4.server.api.edm.provider.EntitySet;
import org.apache.olingo.odata4.server.api.edm.provider.EntityType;
import org.apache.olingo.odata4.server.api.edm.provider.NavigationPropertyBinding;
import org.apache.olingo.odata4.server.api.edm.provider.PropertyRef;
-import org.apache.olingo.odata4.server.api.edm.provider.Target;
+import org.apache.olingo.odata4.commons.api.edm.Target;
import org.junit.Test;
public class EdmEntitySetImplTest {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImplTest.java
deleted file mode 100644
index d002dd4..0000000
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImplTest.java
+++ /dev/null
@@ -1,51 +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.odata4.server.core.edm.provider;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmEntitySetInfo;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.odata4.server.api.edm.provider.EntitySet;
-import org.junit.Test;
-
-public class EdmEntitySetInfoImplTest {
-
- @Test
- public void entitySetTest() {
- EntitySet providerEntitySet = new EntitySet().setName("name");
- EntityContainer providerContainer = new EntityContainer().setName("container");
-
- EdmEntitySetInfo info = new EdmEntitySetInfoImpl(providerContainer, providerEntitySet);
-
- assertEquals("name", info.getEntitySetName());
- assertEquals("container", info.getEntityContainerName());
- }
-
- @Test(expected = EdmException.class)
- public void getUriTest() {
- EntitySet providerEntitySet = new EntitySet().setName("name");
- EntityContainer providerContainer = new EntityContainer().setName("container");
-
- EdmEntitySetInfo info = new EdmEntitySetInfoImpl(providerContainer, providerEntitySet);
- info.getEntitySetUri();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImplTest.java
index 4e2ca11..a4a26d8 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImplTest.java
@@ -72,7 +72,7 @@ public class EdmEntityTypeImplTest {
baseType.setNavigationProperties(navigationProperties);
when(provider.getEntityType(baseName)).thenReturn(baseType);
- this.baseType = new EdmEntityTypeImpl(edm, baseName, baseType);
+ this.baseType = EdmEntityTypeImpl.getInstance(edm, baseName, baseType);
FullQualifiedName typeName = new FullQualifiedName("namespace", "typeName");
EntityType type = new EntityType();
@@ -87,7 +87,7 @@ public class EdmEntityTypeImplTest {
type.setNavigationProperties(typeNavigationProperties);
when(provider.getEntityType(typeName)).thenReturn(type);
- typeWithBaseType = new EdmEntityTypeImpl(edm, typeName, type);
+ typeWithBaseType = EdmEntityTypeImpl.getInstance(edm, typeName, type);
FullQualifiedName typeWithComplexKeyName = new FullQualifiedName("namespace", "typeName");
EntityType typeWithComplexKeyProvider = new EntityType();
@@ -112,7 +112,7 @@ public class EdmEntityTypeImplTest {
typeWithComplexKeyProvider.setKey(keyForTypeWithComplexKey);
when(provider.getEntityType(typeWithComplexKeyName)).thenReturn(typeWithComplexKeyProvider);
- typeWithComplexKey = new EdmEntityTypeImpl(edm, typeWithComplexKeyName, typeWithComplexKeyProvider);
+ typeWithComplexKey = EdmEntityTypeImpl.getInstance(edm, typeWithComplexKeyName, typeWithComplexKeyProvider);
}
@Test
@@ -246,21 +246,21 @@ public class EdmEntityTypeImplTest {
public void noKeyOnTypeWithoutBaseTypeMustResultInException() {
EdmProviderImpl edm = mock(EdmProviderImpl.class);
EntityType entityType = new EntityType().setName("n");
- new EdmEntityTypeImpl(edm, new FullQualifiedName("n", "n"), entityType);
+ EdmEntityTypeImpl.getInstance(edm, new FullQualifiedName("n", "n"), entityType);
}
@Test
public void abstractTypeDoesNotNeedKey() {
EdmProviderImpl edm = mock(EdmProviderImpl.class);
EntityType entityType = new EntityType().setName("n").setAbstract(true);
- new EdmEntityTypeImpl(edm, new FullQualifiedName("n", "n"), entityType);
+ EdmEntityTypeImpl.getInstance(edm, new FullQualifiedName("n", "n"), entityType);
}
@Test(expected = EdmException.class)
public void invalidBaseType() {
EdmProviderImpl edm = mock(EdmProviderImpl.class);
EntityType entityType = new EntityType().setName("n").setBaseType(new FullQualifiedName("wrong", "wrong"));
- new EdmEntityTypeImpl(edm, new FullQualifiedName("n", "n"), entityType);
+ EdmEntityTypeImpl.getInstance(edm, new FullQualifiedName("n", "n"), entityType);
}
@Test
@@ -270,7 +270,7 @@ public class EdmEntityTypeImplTest {
FullQualifiedName baseName = new FullQualifiedName("n", "base");
when(provider.getEntityType(baseName)).thenReturn(new EntityType().setName("base").setAbstract(true));
EntityType entityType = new EntityType().setName("n").setAbstract(true).setBaseType(baseName);
- new EdmEntityTypeImpl(edm, new FullQualifiedName("n", "n"), entityType);
+ EdmEntityTypeImpl.getInstance(edm, new FullQualifiedName("n", "n"), entityType);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTest.java
index 4c31103..b55f625 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTest.java
@@ -51,11 +51,11 @@ public class EdmEnumTest extends PrimitiveTypeBaseTest {
EdmPrimitiveTypeKind.SByte.getFullQualifiedName());
FullQualifiedName enumName = new FullQualifiedName("namespace", "name");
- instance = new EdmEnumImpl(mock(EdmProviderImpl.class), enumName, enumType);
+ instance = new EdmEnumTypeImpl(mock(EdmProviderImpl.class), enumName, enumType);
EnumType enumType2 = new EnumType().setName("name").setMembers(memberList).setFlags(false).setUnderlyingType(
EdmPrimitiveTypeKind.SByte.getFullQualifiedName());
- nonFlagsInstance = new EdmEnumImpl(mock(EdmProviderImpl.class), enumName, enumType2);
+ nonFlagsInstance = new EdmEnumTypeImpl(mock(EdmProviderImpl.class), enumName, enumType2);
// EdmMember member1 = mock(EdmMember.class);
// when(member1.getName()).thenReturn("first");
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImplTest.java
index 6ed7ef1..f5488d3 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImplTest.java
@@ -44,9 +44,9 @@ public class EdmFunctionImplTest {
EdmProviderImpl provider = mock(EdmProviderImpl.class);
Function function1 = new Function().setReturnType(new ReturnType().setType(new FullQualifiedName("Edm", "String")));
- functionImpl1 = new EdmFunctionImpl(provider, new FullQualifiedName("namespace", "name"), function1);
+ functionImpl1 = EdmFunctionImpl.getInstance(provider, new FullQualifiedName("namespace", "name"), function1);
Function function2 = new Function().setComposable(true);
- functionImpl2 = new EdmFunctionImpl(provider, new FullQualifiedName("namespace", "name"), function2);
+ functionImpl2 = EdmFunctionImpl.getInstance(provider, new FullQualifiedName("namespace", "name"), function2);
}
@Test
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImplTest.java
index 3a98a88..f7d7e59 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImplTest.java
@@ -69,7 +69,7 @@ public class EdmFunctionImportImplTest {
when(provider.getFunctionImport(containerName, functionImportName)).thenReturn(functionImportProvider);
final EdmFunctionImport functionImport =
- new EdmFunctionImportImpl(edm, "test", entityContainer, functionImportProvider);
+ new EdmFunctionImportImpl(edm, entityContainer, "test", functionImportProvider);
assertEquals(functionImportName, entityContainer.getFunctionImport(functionImportName).getName());
assertEquals("test", functionImport.getName());
final EdmFunction function = functionImport.getFunction(Collections.<String> emptyList());
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImplTest.java
deleted file mode 100644
index 136d38c..0000000
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImplTest.java
+++ /dev/null
@@ -1,50 +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.odata4.server.core.edm.provider;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImportInfo;
-import org.apache.olingo.odata4.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.odata4.server.api.edm.provider.FunctionImport;
-import org.junit.Test;
-
-public class EdmFunctionImportInfoImplTest {
-
- @Test
- public void functionImportTest() {
- FunctionImport providerFunctionImport = new FunctionImport().setName("name");
- EntityContainer providerContainer = new EntityContainer().setName("container");
-
- EdmFunctionImportInfo info = new EdmFunctionImportInfoImpl(providerContainer, providerFunctionImport);
-
- assertEquals("name", info.getFunctionImportName());
- assertEquals("container", info.getEntityContainerName());
- }
-
- @Test(expected = EdmException.class)
- public void getUriTest() {
- FunctionImport providerFunctionImport = new FunctionImport().setName("name");
- EntityContainer providerContainer = new EntityContainer().setName("container");
-
- EdmFunctionImportInfo info = new EdmFunctionImportInfoImpl(providerContainer, providerFunctionImport);
- info.getFunctionImportUri();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImplTest.java
index 4a356fb..ce2e374 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImplTest.java
@@ -41,7 +41,7 @@ public class EdmKeyPropertyRefImplTest {
PropertyRef providerRef = new PropertyRef().setPropertyName("Id");
EdmEntityType etMock = mock(EdmEntityType.class);
EdmProperty keyPropertyMock = mock(EdmProperty.class);
- when(etMock.getProperty("Id")).thenReturn(keyPropertyMock);
+ when(etMock.getStructuralProperty("Id")).thenReturn(keyPropertyMock);
EdmKeyPropertyRef ref = new EdmKeyPropertyRefImpl(etMock, providerRef);
assertEquals("Id", ref.getKeyPropertyName());
assertNull(ref.getAlias());
@@ -58,11 +58,11 @@ public class EdmKeyPropertyRefImplTest {
PropertyRef providerRef = new PropertyRef().setPropertyName("Id").setAlias("alias").setPath("comp/Id");
EdmEntityType etMock = mock(EdmEntityType.class);
EdmProperty keyPropertyMock = mock(EdmProperty.class);
- EdmElement compMock = mock(EdmProperty.class);
+ EdmProperty compMock = mock(EdmProperty.class);
EdmComplexType compTypeMock = mock(EdmComplexType.class);
- when(compTypeMock.getProperty("Id")).thenReturn(keyPropertyMock);
+ when(compTypeMock.getStructuralProperty("Id")).thenReturn(keyPropertyMock);
when(compMock.getType()).thenReturn(compTypeMock);
- when(etMock.getProperty("comp")).thenReturn(compMock);
+ when(etMock.getStructuralProperty("comp")).thenReturn(compMock);
EdmKeyPropertyRef ref = new EdmKeyPropertyRefImpl(etMock, providerRef);
assertEquals("alias", ref.getAlias());
assertEquals("comp/Id", ref.getPath());
@@ -103,15 +103,15 @@ public class EdmKeyPropertyRefImplTest {
PropertyRef providerRef = new PropertyRef().setPropertyName("Id").setAlias("alias").setPath("comp/comp2/Id");
EdmEntityType etMock = mock(EdmEntityType.class);
EdmProperty keyPropertyMock = mock(EdmProperty.class);
- EdmElement compMock = mock(EdmProperty.class);
+ EdmProperty compMock = mock(EdmProperty.class);
EdmComplexType compTypeMock = mock(EdmComplexType.class);
- EdmElement comp2Mock = mock(EdmProperty.class);
+ EdmProperty comp2Mock = mock(EdmProperty.class);
EdmComplexType comp2TypeMock = mock(EdmComplexType.class);
- when(comp2TypeMock.getProperty("Id")).thenReturn(keyPropertyMock);
+ when(comp2TypeMock.getStructuralProperty("Id")).thenReturn(keyPropertyMock);
when(comp2Mock.getType()).thenReturn(comp2TypeMock);
- when(compTypeMock.getProperty("comp2")).thenReturn(comp2Mock);
+ when(compTypeMock.getStructuralProperty("comp2")).thenReturn(comp2Mock);
when(compMock.getType()).thenReturn(compTypeMock);
- when(etMock.getProperty("comp")).thenReturn(compMock);
+ when(etMock.getStructuralProperty("comp")).thenReturn(compMock);
EdmKeyPropertyRef ref = new EdmKeyPropertyRefImpl(etMock, providerRef);
EdmProperty property = ref.getProperty();
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImplTest.java
index 0f249d6..26dffae 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImplTest.java
@@ -18,6 +18,7 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.core.edm.EdmMemberImpl;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
@@ -29,7 +30,7 @@ public class EdmMemberImplTest {
@Test
public void enumMember() {
EnumMember member = new EnumMember().setName("name").setValue("value");
- EdmMemberImpl memberImpl = new EdmMemberImpl(mock(EdmProviderImpl.class), member);
+ EdmMemberImpl memberImpl = new EdmMemberImpl(mock(EdmProviderImpl.class), member.getName(), member.getValue());
assertEquals("name", memberImpl.getName());
assertEquals("value", memberImpl.getValue());
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImplTest.java
index a777be7..986acca 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImplTest.java
@@ -21,6 +21,7 @@ package org.apache.olingo.odata4.server.core.edm.provider;
import static org.junit.Assert.assertEquals;
import org.apache.olingo.odata4.commons.api.edm.EdmNamed;
+import org.apache.olingo.odata4.commons.core.edm.EdmNamedImpl;
import org.junit.Test;
public class EdmNamedImplTest {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImplTest.java
index b253c55..d87e871 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonImplTest.java
@@ -37,7 +37,7 @@ import org.apache.olingo.odata4.server.api.edm.provider.EntityType;
import org.apache.olingo.odata4.server.api.edm.provider.NavigationPropertyBinding;
import org.apache.olingo.odata4.server.api.edm.provider.PropertyRef;
import org.apache.olingo.odata4.server.api.edm.provider.Singleton;
-import org.apache.olingo.odata4.server.api.edm.provider.Target;
+import org.apache.olingo.odata4.commons.api.edm.Target;
import org.junit.Test;
public class EdmSingletonImplTest {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImplTest.java
deleted file mode 100644
index a8d6175..0000000
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmSingletonInfoImplTest.java
+++ /dev/null
@@ -1,51 +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.odata4.server.core.edm.provider;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmSingletonInfo;
-import org.apache.olingo.odata4.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.odata4.server.api.edm.provider.Singleton;
-import org.junit.Test;
-
-public class EdmSingletonInfoImplTest {
-
- @Test
- public void singletonTest() {
- Singleton providerSingleton = new Singleton().setName("name");
- EntityContainer providerContainer = new EntityContainer().setName("container");
-
- EdmSingletonInfo info = new EdmSingletonInfoImpl(providerContainer, providerSingleton);
-
- assertEquals("name", info.getSingletonName());
- assertEquals("container", info.getEntityContainerName());
- }
-
- @Test(expected = EdmException.class)
- public void getUriTest() {
- Singleton providerSingleton = new Singleton().setName("name");
- EntityContainer providerContainer = new EntityContainer().setName("container");
-
- EdmSingletonInfo info = new EdmSingletonInfoImpl(providerContainer, providerSingleton);
- info.getEntitySetUri();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImplTest.java
index 1ca05ad..2a467b2 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/edm/provider/EdmTypeImplTest.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertEquals;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.EdmTypeImpl;
import org.junit.Test;
public class EdmTypeImplTest {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/testutil/EdmTechProvider.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/testutil/EdmTechProvider.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/testutil/EdmTechProvider.java
index acedb6f..c7b0724 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/testutil/EdmTechProvider.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/testutil/EdmTechProvider.java
@@ -45,7 +45,7 @@ import org.apache.olingo.odata4.server.api.edm.provider.PropertyRef;
import org.apache.olingo.odata4.server.api.edm.provider.ReferentialConstraint;
import org.apache.olingo.odata4.server.api.edm.provider.ReturnType;
import org.apache.olingo.odata4.server.api.edm.provider.Singleton;
-import org.apache.olingo.odata4.server.api.edm.provider.Target;
+import org.apache.olingo.odata4.commons.api.edm.Target;
public class EdmTechProvider extends EdmProvider {
[07/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ExprConstruct.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ExprConstruct.java
new file mode 100644
index 0000000..7a3e6f2
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ExprConstruct.java
@@ -0,0 +1,23 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4.annotation;
+
+public interface ExprConstruct {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
index 73b3b7e..fe6872c 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
@@ -20,7 +20,7 @@ package org.apache.olingo.odata4.client.api.op;
import java.io.InputStream;
import java.io.Serializable;
-import org.apache.olingo.odata4.client.api.edm.Edmx;
+import org.apache.olingo.odata4.client.api.edm.xml.Edmx;
import org.w3c.dom.Element;
/**
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractAnnotations.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractAnnotations.java
deleted file mode 100644
index 63f272a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractAnnotations.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public abstract class AbstractAnnotations extends AbstractEdmItem
- implements org.apache.olingo.odata4.client.api.edm.AbstractAnnotations {
-
- private static final long serialVersionUID = 4926640428016042620L;
-
- @JsonProperty(value = "Target", required = true)
- private String target;
-
- @JsonProperty("Qualifier")
- private String qualifier;
-
- @Override
- public String getTarget() {
- return target;
- }
-
- @Override
- public void setTarget(final String target) {
- this.target = target;
- }
-
- @Override
- public String getQualifier() {
- return qualifier;
- }
-
- @Override
- public void setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractComplexType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractComplexType.java
deleted file mode 100644
index 926db3a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractComplexType.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.ComplexType;
-import org.apache.olingo.odata4.client.api.edm.CommonNavigationProperty;
-import org.apache.olingo.odata4.client.api.edm.CommonProperty;
-import org.apache.olingo.odata4.client.core.op.impl.ComplexTypeDeserializer;
-
-@JsonDeserialize(using = ComplexTypeDeserializer.class)
-public abstract class AbstractComplexType extends AbstractEdmItem implements ComplexType {
-
- private static final long serialVersionUID = -4765071294433482957L;
-
- private String name;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public CommonProperty getProperty(final String name) {
- return getOneByName(name, getProperties());
- }
-
- @Override
- public CommonNavigationProperty getNavigationProperty(final String name) {
- return getOneByName(name, getNavigationProperties());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractDataServices.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractDataServices.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractDataServices.java
deleted file mode 100644
index 378ff01..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractDataServices.java
+++ /dev/null
@@ -1,52 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.DataServices;
-
-@JsonDeserialize(using = DataServicesDeserializer.class)
-public abstract class AbstractDataServices extends AbstractEdmItem implements DataServices {
-
- private static final long serialVersionUID = -9126377222393876166L;
-
- private String dataServiceVersion;
-
- private String maxDataServiceVersion;
-
- @Override
- public String getDataServiceVersion() {
- return dataServiceVersion;
- }
-
- @Override
- public void setDataServiceVersion(final String version) {
- this.dataServiceVersion = version;
- }
-
- @Override
- public String getMaxDataServiceVersion() {
- return maxDataServiceVersion;
- }
-
- @Override
- public void setMaxDataServiceVersion(final String version) {
- this.maxDataServiceVersion = version;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmItem.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmItem.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmItem.java
deleted file mode 100644
index f359a04..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmItem.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.odata4.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public abstract class AbstractEdmItem {
-
- protected <T extends Named> T getOneByName(final String name, final Collection<T> items) {
- final List<T> result = getAllByName(name, items);
- return result.isEmpty() ? null : result.get(0);
- }
-
- protected <T extends Named> List<T> getAllByName(final String name, final Collection<T> items) {
- final List<T> result = new ArrayList<T>();
- for (T type : items) {
- if (name.equals(type.getName())) {
- result.add(type);
- }
- }
- return result;
- }
-
- @Override
- public boolean equals(final Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
- }
-
- @Override
- public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
- }
-
- @Override
- public String toString() {
- return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java
index e8f923a..2e6cc1a 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java
@@ -25,8 +25,9 @@ import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.api.edm.EdmMetadata;
-import org.apache.olingo.odata4.client.api.edm.Edmx;
-import org.apache.olingo.odata4.client.api.edm.Schema;
+import org.apache.olingo.odata4.client.api.edm.xml.Edmx;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
/**
* Entry point for access information about EDM metadata.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java
index 0cf93d6..2d4dccf 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java
@@ -20,13 +20,16 @@ package org.apache.olingo.odata4.client.core.edm;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.odata4.client.api.data.EdmSimpleType;
-import org.apache.olingo.odata4.client.api.edm.ComplexType;
+import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
import org.apache.olingo.odata4.client.api.edm.EdmMetadata;
import org.apache.olingo.odata4.client.api.edm.EdmType;
import org.apache.olingo.odata4.client.api.edm.EdmTypeNotFoundException;
-import org.apache.olingo.odata4.client.api.edm.EntityType;
-import org.apache.olingo.odata4.client.api.edm.EnumType;
-import org.apache.olingo.odata4.client.api.edm.Schema;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
+import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractComplexType;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityType;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEnumType;
/**
* Parse type information from metadata into semantic data.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmx.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmx.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmx.java
deleted file mode 100644
index dac8d09..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmx.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.DataServices;
-import org.apache.olingo.odata4.client.api.edm.Edmx;
-
-@JsonDeserialize(using = EdmxDeserializer.class)
-public abstract class AbstractEdmx extends AbstractEdmItem implements Edmx {
-
- private static final long serialVersionUID = -5480835122183091469L;
-
- private String version;
-
- private DataServices dataServices;
-
- @Override
- public String getVersion() {
- return version;
- }
-
- @Override
- public void setVersion(final String version) {
- this.version = version;
- }
-
- @Override
- public DataServices getDataServices() {
- return dataServices;
- }
-
- @Override
- public void setDataServices(final DataServices dataServices) {
- this.dataServices = dataServices;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityContainer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityContainer.java
deleted file mode 100644
index 15789a7..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityContainer.java
+++ /dev/null
@@ -1,107 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.EntityContainer;
-import org.apache.olingo.odata4.client.api.edm.EntitySet;
-import org.apache.olingo.odata4.client.api.edm.CommonFunctionImport;
-import org.apache.olingo.odata4.client.core.op.impl.EntityContainerDeserializer;
-
-@JsonDeserialize(using = EntityContainerDeserializer.class)
-public abstract class AbstractEntityContainer extends AbstractEdmItem implements EntityContainer {
-
- private static final long serialVersionUID = 4121974387552855032L;
-
- private String name;
-
- private String _extends;
-
- private boolean lazyLoadingEnabled;
-
- private boolean defaultEntityContainer;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getExtends() {
- return _extends;
- }
-
- @Override
- public void setExtends(final String _extends) {
- this._extends = _extends;
- }
-
- @Override
- public boolean isLazyLoadingEnabled() {
- return lazyLoadingEnabled;
- }
-
- @Override
- public void setLazyLoadingEnabled(final boolean lazyLoadingEnabled) {
- this.lazyLoadingEnabled = lazyLoadingEnabled;
- }
-
- @Override
- public boolean isDefaultEntityContainer() {
- return defaultEntityContainer;
- }
-
- @Override
- public void setDefaultEntityContainer(final boolean defaultEntityContainer) {
- this.defaultEntityContainer = defaultEntityContainer;
- }
-
- @Override
- public EntitySet getEntitySet(final String name) {
- return getOneByName(name, getEntitySets());
- }
-
- /**
- * Gets the first function import with given name.
- *
- * @param name name.
- * @return function import.
- */
- @Override
- public CommonFunctionImport getFunctionImport(final String name) {
- return getOneByName(name, getFunctionImports());
- }
-
- /**
- * Gets all function imports with given name.
- *
- * @param name name.
- * @return function imports.
- */
- @Override
- public List<? extends CommonFunctionImport> getFunctionImports(final String name) {
- return getAllByName(name, getFunctionImports());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntitySet.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntitySet.java
deleted file mode 100644
index 83f7a38..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntitySet.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.EntitySet;
-import org.apache.olingo.odata4.client.core.op.impl.EntitySetDeserializer;
-
-@JsonDeserialize(using = EntitySetDeserializer.class)
-public abstract class AbstractEntitySet extends AbstractEdmItem implements EntitySet {
-
- private static final long serialVersionUID = -6577263439520376420L;
-
- private String name;
-
- private String entityType;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getEntityType() {
- return entityType;
- }
-
- @Override
- public void setEntityType(final String entityType) {
- this.entityType = entityType;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityType.java
deleted file mode 100644
index 27eeabb..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEntityType.java
+++ /dev/null
@@ -1,90 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.EntityKey;
-import org.apache.olingo.odata4.client.api.edm.EntityType;
-import org.apache.olingo.odata4.client.core.op.impl.EntityTypeDeserializer;
-
-@JsonDeserialize(using = EntityTypeDeserializer.class)
-public abstract class AbstractEntityType extends AbstractComplexType implements EntityType {
-
- private static final long serialVersionUID = -1579462552966168139L;
-
- private boolean abstractEntityType = false;
-
- private String baseType;
-
- private boolean openType = false;
-
- private boolean hasStream = false;
-
- private EntityKeyImpl key;
-
- @Override
- public boolean isAbstractEntityType() {
- return abstractEntityType;
- }
-
- @Override
- public void setAbstractEntityType(final boolean abstractEntityType) {
- this.abstractEntityType = abstractEntityType;
- }
-
- @Override
- public String getBaseType() {
- return baseType;
- }
-
- @Override
- public void setBaseType(final String baseType) {
- this.baseType = baseType;
- }
-
- @Override
- public boolean isOpenType() {
- return openType;
- }
-
- @Override
- public void setOpenType(final boolean openType) {
- this.openType = openType;
- }
-
- @Override
- public EntityKeyImpl getKey() {
- return key;
- }
-
- public void setKey(final EntityKey key) {
- this.key = (EntityKeyImpl) key;
- }
-
- @Override
- public boolean isHasStream() {
- return hasStream;
- }
-
- @Override
- public void setHasStream(final boolean hasStream) {
- this.hasStream = hasStream;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEnumType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEnumType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEnumType.java
deleted file mode 100644
index 0b21697..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEnumType.java
+++ /dev/null
@@ -1,88 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.EnumType;
-import org.apache.olingo.odata4.client.api.edm.Member;
-import org.apache.olingo.odata4.client.core.op.impl.EnumTypeDeserializer;
-
-@JsonDeserialize(using = EnumTypeDeserializer.class)
-public abstract class AbstractEnumType extends AbstractEdmItem implements EnumType {
-
- private static final long serialVersionUID = 2688487586103418210L;
-
- private String name;
-
- private String underlyingType;
-
- private boolean flags;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getUnderlyingType() {
- return underlyingType;
- }
-
- @Override
- public void setUnderlyingType(final String underlyingType) {
- this.underlyingType = underlyingType;
- }
-
- @Override
- public boolean isFlags() {
- return flags;
- }
-
- @Override
- public void setFlags(final boolean flags) {
- this.flags = flags;
- }
-
- @Override
- public Member getMember(final String name) {
- Member result = null;
- for (Member member : getMembers()) {
- if (name.equals(member.getName())) {
- result = member;
- }
- }
- return result;
- }
-
- @Override
- public Member getMember(final Integer value) {
- Member result = null;
- for (Member member : getMembers()) {
- if (value.equals(member.getValue())) {
- result = member;
- }
- }
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractMember.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractMember.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractMember.java
deleted file mode 100644
index 7f53394..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractMember.java
+++ /dev/null
@@ -1,51 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.Member;
-
-public abstract class AbstractMember extends AbstractEdmItem implements Member {
-
- private static final long serialVersionUID = -1852481655317148552L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty("Value")
- private Integer value;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public Integer getValue() {
- return value;
- }
-
- public void setValue(final Integer value) {
- this.value = value;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractNavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractNavigationProperty.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractNavigationProperty.java
deleted file mode 100644
index c369887..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractNavigationProperty.java
+++ /dev/null
@@ -1,40 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.CommonNavigationProperty;
-
-public class AbstractNavigationProperty extends AbstractEdmItem implements CommonNavigationProperty {
-
- private static final long serialVersionUID = 3112463683071069594L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractParameter.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractParameter.java
deleted file mode 100644
index f709d50..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractParameter.java
+++ /dev/null
@@ -1,106 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigInteger;
-import org.apache.olingo.odata4.client.api.edm.CommonParameter;
-
-public abstract class AbstractParameter extends AbstractEdmItem implements CommonParameter {
-
- private static final long serialVersionUID = -4305016554930334342L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty(value = "Type", required = true)
- private String type;
-
- @JsonProperty(value = "Nullable")
- private boolean nullable = true;
-
- @JsonProperty("MaxLength")
- private String maxLength;
-
- @JsonProperty("Precision")
- private BigInteger precision;
-
- @JsonProperty("Scale")
- private BigInteger scale;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public boolean isNullable() {
- return nullable;
- }
-
- @Override
- public void setNullable(final boolean nullable) {
- this.nullable = nullable;
- }
-
- @Override
- public String getMaxLength() {
- return maxLength;
- }
-
- @Override
- public void setMaxLength(final String maxLength) {
- this.maxLength = maxLength;
- }
-
- @Override
- public BigInteger getPrecision() {
- return precision;
- }
-
- @Override
- public void setPrecision(final BigInteger precision) {
- this.precision = precision;
- }
-
- @Override
- public BigInteger getScale() {
- return scale;
- }
-
- @Override
- public void setScale(final BigInteger scale) {
- this.scale = scale;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractProperty.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractProperty.java
deleted file mode 100644
index 893504a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractProperty.java
+++ /dev/null
@@ -1,197 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigInteger;
-import org.apache.olingo.odata4.client.api.edm.CommonProperty;
-import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
-import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
-
-public abstract class AbstractProperty extends AbstractEdmItem implements CommonProperty {
-
- private static final long serialVersionUID = -6004492361142315153L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty(value = "Type", required = true)
- private String type;
-
- @JsonProperty(value = "Nullable")
- private boolean nullable = true;
-
- @JsonProperty(value = "DefaultValue")
- private String defaultValue;
-
- @JsonProperty(value = "MaxLength")
- private String maxLength;
-
- @JsonProperty(value = "FixedLength")
- private boolean fixedLength;
-
- @JsonProperty(value = "Precision")
- private BigInteger precision;
-
- @JsonProperty(value = "Scale")
- private BigInteger scale;
-
- @JsonProperty(value = "Unicode")
- private boolean unicode = true;
-
- @JsonProperty(value = "Collation")
- private String collation;
-
- @JsonProperty(value = "SRID")
- private String srid;
-
- @JsonProperty(value = "ConcurrencyMode")
- private ConcurrencyMode concurrencyMode;
-
- @JsonProperty("StoreGeneratedPattern")
- private StoreGeneratedPattern storeGeneratedPattern = StoreGeneratedPattern.None;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public boolean isNullable() {
- return nullable;
- }
-
- @Override
- public void setNullable(final boolean nullable) {
- this.nullable = nullable;
- }
-
- @Override
- public String getDefaultValue() {
- return defaultValue;
- }
-
- @Override
- public void setDefaultValue(final String defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- @Override
- public String getMaxLength() {
- return maxLength;
- }
-
- @Override
- public void setMaxLength(final String maxLength) {
- this.maxLength = maxLength;
- }
-
- @Override
- public boolean isFixedLength() {
- return fixedLength;
- }
-
- @Override
- public void setFixedLength(final boolean fixedLength) {
- this.fixedLength = fixedLength;
- }
-
- @Override
- public BigInteger getPrecision() {
- return precision;
- }
-
- @Override
- public void setPrecision(final BigInteger precision) {
- this.precision = precision;
- }
-
- @Override
- public BigInteger getScale() {
- return scale;
- }
-
- @Override
- public void setScale(final BigInteger scale) {
- this.scale = scale;
- }
-
- @Override
- public boolean isUnicode() {
- return unicode;
- }
-
- @Override
- public void setUnicode(final boolean unicode) {
- this.unicode = unicode;
- }
-
- @Override
- public String getCollation() {
- return collation;
- }
-
- @Override
- public void setCollation(final String collation) {
- this.collation = collation;
- }
-
- @Override
- public String getSrid() {
- return srid;
- }
-
- @Override
- public void setSrid(final String srid) {
- this.srid = srid;
- }
-
- @Override
- public ConcurrencyMode getConcurrencyMode() {
- return concurrencyMode;
- }
-
- @Override
- public void setConcurrencyMode(final ConcurrencyMode concurrencyMode) {
- this.concurrencyMode = concurrencyMode;
- }
-
- public StoreGeneratedPattern getStoreGeneratedPattern() {
- return storeGeneratedPattern;
- }
-
- public void setStoreGeneratedPattern(final StoreGeneratedPattern storeGeneratedPattern) {
- this.storeGeneratedPattern = storeGeneratedPattern;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractSchema.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractSchema.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractSchema.java
deleted file mode 100644
index 809bc8d..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractSchema.java
+++ /dev/null
@@ -1,71 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.ComplexType;
-import org.apache.olingo.odata4.client.api.edm.EntityType;
-import org.apache.olingo.odata4.client.api.edm.EnumType;
-import org.apache.olingo.odata4.client.api.edm.Schema;
-import org.apache.olingo.odata4.client.core.op.impl.SchemaDeserializer;
-
-@JsonDeserialize(using = SchemaDeserializer.class)
-public abstract class AbstractSchema extends AbstractEdmItem implements Schema {
-
- private static final long serialVersionUID = -1356392748971378455L;
-
- private String namespace;
-
- private String alias;
-
- @Override
- public String getNamespace() {
- return namespace;
- }
-
- @Override
- public void setNamespace(final String namespace) {
- this.namespace = namespace;
- }
-
- @Override
- public String getAlias() {
- return alias;
- }
-
- @Override
- public void setAlias(final String alias) {
- this.alias = alias;
- }
-
- @Override
- public EnumType getEnumType(final String name) {
- return getOneByName(name, getEnumTypes());
- }
-
- @Override
- public ComplexType getComplexType(final String name) {
- return getOneByName(name, getComplexTypes());
- }
-
- @Override
- public EntityType getEntityType(final String name) {
- return getOneByName(name, getEntityTypes());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/DataServicesDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/DataServicesDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/DataServicesDeserializer.java
deleted file mode 100644
index 81f799a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/DataServicesDeserializer.java
+++ /dev/null
@@ -1,64 +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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
-
-public class DataServicesDeserializer extends AbstractEdmDeserializer<AbstractDataServices> {
-
- @Override
- protected AbstractDataServices doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final AbstractDataServices dataServices = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.DataServicesImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.DataServicesImpl();
-
- 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();
- if (dataServices instanceof org.apache.olingo.odata4.client.core.edm.v3.DataServicesImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.DataServicesImpl) dataServices).
- getSchemas().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.SchemaImpl.class));
-
- } else {
- ((org.apache.olingo.odata4.client.core.edm.v4.DataServicesImpl) dataServices).
- getSchemas().add(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.SchemaImpl.class));
- }
- }
- }
- }
-
- return dataServices;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmxDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmxDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmxDeserializer.java
deleted file mode 100644
index 82ad88c..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmxDeserializer.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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.edm.v4.ReferenceImpl;
-import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
-
-@SuppressWarnings("rawtypes")
-public class EdmxDeserializer extends AbstractEdmDeserializer<AbstractEdmx> {
-
- @Override
- protected AbstractEdmx doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final AbstractEdmx edmx = ODataServiceVersion.V30 == client.getServiceVersion()
- ? new org.apache.olingo.odata4.client.core.edm.v3.EdmxImpl()
- : new org.apache.olingo.odata4.client.core.edm.v4.EdmxImpl();
-
- 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();
- if (edmx instanceof org.apache.olingo.odata4.client.core.edm.v3.EdmxImpl) {
- ((org.apache.olingo.odata4.client.core.edm.v3.EdmxImpl) edmx).
- setDataServices(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v3.DataServicesImpl.class));
- } else {
- ((org.apache.olingo.odata4.client.core.edm.v4.EdmxImpl) edmx).
- setDataServices(jp.readValueAs(
- org.apache.olingo.odata4.client.core.edm.v4.DataServicesImpl.class));
- }
- } else if ("Reference".equals(jp.getCurrentName())) {
- jp.nextToken();
- ((org.apache.olingo.odata4.client.core.edm.v4.EdmxImpl) edmx).getReferences().
- add(jp.readValueAs( ReferenceImpl.class));
- }
- }
- }
-
- return edmx;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EntityKeyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EntityKeyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EntityKeyImpl.java
deleted file mode 100644
index 7d5de43..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EntityKeyImpl.java
+++ /dev/null
@@ -1,38 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.EntityKey;
-import org.apache.olingo.odata4.client.core.op.impl.EntityKeyDeserializer;
-
-@JsonDeserialize(using = EntityKeyDeserializer.class)
-public class EntityKeyImpl extends AbstractEdmItem implements EntityKey {
-
- private static final long serialVersionUID = 2586047015894794685L;
-
- private final List<PropertyRefImpl> propertyRefs = new ArrayList<PropertyRefImpl>();
-
- @Override
- public List<PropertyRefImpl> getPropertyRefs() {
- return propertyRefs;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/OnDeleteImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/OnDeleteImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/OnDeleteImpl.java
deleted file mode 100644
index 98f3a8a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/OnDeleteImpl.java
+++ /dev/null
@@ -1,42 +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.odata4.client.core.edm;
-
-import org.apache.olingo.odata4.client.api.edm.v4.OnDeleteAction;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.OnDelete;
-
-public class OnDeleteImpl extends AbstractEdmItem implements OnDelete {
-
- private static final long serialVersionUID = -5321523424474336347L;
-
- @JsonProperty(value = "Action", required = true)
- private OnDeleteAction action = OnDeleteAction.None;
-
- @Override
- public OnDeleteAction getAction() {
- return action;
- }
-
- @Override
- public void setAction(final OnDeleteAction action) {
- this.action = action;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/PropertyRefImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/PropertyRefImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/PropertyRefImpl.java
deleted file mode 100644
index f34d0d4..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/PropertyRefImpl.java
+++ /dev/null
@@ -1,54 +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.odata4.client.core.edm;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.PropertyRef;
-
-public class PropertyRefImpl extends AbstractEdmItem implements PropertyRef {
-
- private static final long serialVersionUID = 6738212067449628983L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty(value = "Alias")
- private String alias;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getAlias() {
- return alias;
- }
-
- @Override
- public void setAlias(final String alias) {
- this.alias = alias;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsDeserializer.java
deleted file mode 100644
index ef97c8b..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsDeserializer.java
+++ /dev/null
@@ -1,55 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class AnnotationsDeserializer extends AbstractEdmDeserializer<AnnotationsImpl> {
-
- @Override
- protected AnnotationsImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final AnnotationsImpl annotations = new AnnotationsImpl();
-
- for (; 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 ("typeAnnotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- annotations.getTypeAnnotations().add(jp.readValueAs( TypeAnnotationImpl.class));
- } else if ("ValueAnnotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- annotations.getValueAnnotations().add(jp.readValueAs( ValueAnnotationImpl.class));
- }
- }
- }
-
- return annotations;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsImpl.java
deleted file mode 100644
index 7b68771..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AnnotationsImpl.java
+++ /dev/null
@@ -1,46 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v3.Annotations;
-import org.apache.olingo.odata4.client.core.edm.AbstractAnnotations;
-
-@JsonDeserialize(using = AnnotationsDeserializer.class)
-public class AnnotationsImpl extends AbstractAnnotations implements Annotations {
-
- private static final long serialVersionUID = 3877353656301805410L;
-
- private final List<TypeAnnotationImpl> typeAnnotations = new ArrayList<TypeAnnotationImpl>();
-
- private final List<ValueAnnotationImpl> valueAnnotations = new ArrayList<ValueAnnotationImpl>();
-
- @Override
- public List<TypeAnnotationImpl> getTypeAnnotations() {
- return typeAnnotations;
- }
-
- @Override
- public List<ValueAnnotationImpl> getValueAnnotations() {
- return valueAnnotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationDeserializer.java
deleted file mode 100644
index b8c032a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationDeserializer.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class AssociationDeserializer extends AbstractEdmDeserializer<AssociationImpl> {
-
- @Override
- protected AssociationImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final AssociationImpl association = new AssociationImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- association.setName(jp.nextTextValue());
- } else if ("ReferentialConstraint".equals(jp.getCurrentName())) {
- jp.nextToken();
- association.setReferentialConstraint(jp.readValueAs( ReferentialConstraintImpl.class));
- } else if ("End".equals(jp.getCurrentName())) {
- jp.nextToken();
- association.getEnds().add(jp.readValueAs( AssociationEndImpl.class));
- }
- }
- }
-
- return association;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationEndImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationEndImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationEndImpl.java
deleted file mode 100644
index 0b41ff7..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationEndImpl.java
+++ /dev/null
@@ -1,81 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.OnDelete;
-import org.apache.olingo.odata4.client.api.edm.v3.AssociationEnd;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class AssociationEndImpl extends AbstractEdmItem implements AssociationEnd {
-
- private static final long serialVersionUID = 3305394053564979376L;
-
- @JsonProperty(value = "Type", required = true)
- private String type;
-
- @JsonProperty(value = "Role")
- private String role;
-
- @JsonProperty(value = "Multiplicity")
- private String multiplicity;
-
- @JsonProperty(value = "OnDelete")
- private OnDelete onDelete;
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public String getRole() {
- return role;
- }
-
- @Override
- public void setRole(final String role) {
- this.role = role;
- }
-
- @Override
- public String getMultiplicity() {
- return multiplicity;
- }
-
- @Override
- public void setMultiplicity(final String multiplicity) {
- this.multiplicity = multiplicity;
- }
-
- @Override
- public OnDelete getOnDelete() {
- return onDelete;
- }
-
- @Override
- public void setOnDelete(final OnDelete onDelete) {
- this.onDelete = onDelete;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationImpl.java
deleted file mode 100644
index f7e2a31..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationImpl.java
+++ /dev/null
@@ -1,63 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v3.Association;
-import org.apache.olingo.odata4.client.api.edm.v3.ReferentialConstraint;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-@JsonDeserialize(using = AssociationDeserializer.class)
-public class AssociationImpl extends AbstractEdmItem implements Association {
-
- private static final long serialVersionUID = 73763231919532482L;
-
- private String name;
-
- private ReferentialConstraint referentialConstraint;
-
- private List<AssociationEndImpl> ends = new ArrayList<AssociationEndImpl>();
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public ReferentialConstraint getReferentialConstraint() {
- return referentialConstraint;
- }
-
- @Override
- public void setReferentialConstraint(final ReferentialConstraint referentialConstraint) {
- this.referentialConstraint = referentialConstraint;
- }
-
- @Override
- public List<AssociationEndImpl> getEnds() {
- return ends;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetDeserializer.java
deleted file mode 100644
index ae0b96d..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetDeserializer.java
+++ /dev/null
@@ -1,52 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class AssociationSetDeserializer extends AbstractEdmDeserializer<AssociationSetImpl> {
-
- @Override
- protected AssociationSetImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final AssociationSetImpl associationSet = new AssociationSetImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- associationSet.setName(jp.nextTextValue());
- } else if ("Association".equals(jp.getCurrentName())) {
- associationSet.setAssociation(jp.nextTextValue());
- } else if ("End".equals(jp.getCurrentName())) {
- jp.nextToken();
- associationSet.getEnds().add(jp.readValueAs( AssociationSetEndImpl.class));
- }
- }
- }
-
- return associationSet;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetEndImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetEndImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetEndImpl.java
deleted file mode 100644
index 13abf06..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetEndImpl.java
+++ /dev/null
@@ -1,54 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v3.AssociationSetEnd;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class AssociationSetEndImpl extends AbstractEdmItem implements AssociationSetEnd {
-
- private static final long serialVersionUID = -6238344152962217446L;
-
- @JsonProperty("Role")
- private String role;
-
- @JsonProperty(value = "EntitySet", required = true)
- private String entitySet;
-
- @Override
- public String getRole() {
- return role;
- }
-
- @Override
- public void setRole(final String role) {
- this.role = role;
- }
-
- @Override
- public String getEntitySet() {
- return entitySet;
- }
-
- @Override
- public void setEntitySet(final String entitySet) {
- this.entitySet = entitySet;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetImpl.java
deleted file mode 100644
index 557c766..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/AssociationSetImpl.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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v3.AssociationSet;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-@JsonDeserialize(using = AssociationSetDeserializer.class)
-public class AssociationSetImpl extends AbstractEdmItem implements AssociationSet {
-
- private static final long serialVersionUID = 1248430921598774799L;
-
- private String name;
-
- private String association;
-
- private List<AssociationSetEndImpl> ends = new ArrayList<AssociationSetEndImpl>();
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getAssociation() {
- return association;
- }
-
- @Override
- public void setAssociation(final String association) {
- this.association = association;
- }
-
- @Override
- public List<AssociationSetEndImpl> getEnds() {
- return ends;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ComplexTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ComplexTypeImpl.java
deleted file mode 100644
index e755581..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ComplexTypeImpl.java
+++ /dev/null
@@ -1,54 +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.odata4.client.core.edm.v3;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.ComplexType;
-import org.apache.olingo.odata4.client.core.edm.AbstractComplexType;
-
-public class ComplexTypeImpl extends AbstractComplexType implements ComplexType {
-
- private static final long serialVersionUID = -1251230308269425962L;
-
- private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
-
- private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
-
- @Override
- public PropertyImpl getProperty(final String name) {
- return (PropertyImpl) super.getProperty(name);
- }
-
- @Override
- public List<PropertyImpl> getProperties() {
- return properties;
- }
-
- @Override
- public NavigationPropertyImpl getNavigationProperty(String name) {
- return (NavigationPropertyImpl) super.getNavigationProperty(name);
- }
-
- @Override
- public List<NavigationPropertyImpl> getNavigationProperties() {
- return navigationProperties;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/DataServicesImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/DataServicesImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/DataServicesImpl.java
deleted file mode 100644
index 2d64109..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/DataServicesImpl.java
+++ /dev/null
@@ -1,36 +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.odata4.client.core.edm.v3;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.core.edm.AbstractDataServices;
-
-public class DataServicesImpl extends AbstractDataServices {
-
- private static final long serialVersionUID = 633129618050875211L;
-
- private final List<SchemaImpl> schemas = new ArrayList<SchemaImpl>();
-
- @Override
- public List<SchemaImpl> getSchemas() {
- return schemas;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java
index 4076b35..f7e1993 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
import java.util.List;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.core.edm.AbstractEdmMetadata;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl;
public class EdmMetadataImpl extends AbstractEdmMetadata {
[04/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java
index bc5fc31..b32dcae 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java
@@ -18,9 +18,9 @@
*/
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.AnnotatedEdmItem;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
abstract class AnnotatedDynExprConstruct extends DynExprConstructImpl implements AnnotatedEdmItem {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java
index 6292de9..8d49884 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java
@@ -21,7 +21,7 @@ package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.ArrayList;
import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
@JsonDeserialize(using = ApplyDeserializer.class)
public class Apply extends AnnotatedDynExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java
index f65b7fa..6468685 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java
@@ -24,7 +24,7 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
public class ApplyDeserializer extends AbstractEdmDeserializer<Apply> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java
index 65d41d5..970d33f 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java
@@ -20,7 +20,7 @@ package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.math.BigInteger;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
@JsonDeserialize(using = CastDeserializer.class)
public class Cast extends AnnotatedDynExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java
index b97c5e5..a404944 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java
@@ -25,7 +25,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import java.math.BigInteger;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
public class CastDeserializer extends AbstractEdmDeserializer<Cast> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java
index e7d9359..62925d1 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java
@@ -21,7 +21,7 @@ package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.ArrayList;
import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
@JsonDeserialize(using = CollectionDeserializer.class)
public class Collection extends DynExprConstructImpl {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java
index 51b6244..9d27cdb 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ConstExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ConstExprConstruct;
public class ConstExprConstructImpl extends ExprConstructImpl implements ConstExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java
index 9442977..ececbf2 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java
@@ -19,7 +19,7 @@
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
@JsonDeserialize(using = DynExprConstructDeserializer.class)
public abstract class DynExprConstructImpl extends ExprConstructImpl implements DynExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java
index b35a424..a455a86 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
public class DynExprDoubleParamOp extends DynExprConstructImpl {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java
index 52befcd..fa5862f 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
public class DynExprSingleParamOp extends DynExprConstructImpl {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java
index 5cee1e8..b628006 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java
@@ -18,8 +18,8 @@
*/
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ExprConstruct;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
public abstract class ExprConstructImpl extends AbstractEdmItem implements ExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java
index 5c43058..f1c285d 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java
@@ -18,7 +18,7 @@
*/
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
public class If extends AnnotatedDynExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java
index 7779b55..036a13c 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java
@@ -20,7 +20,7 @@ package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.math.BigInteger;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
@JsonDeserialize(using = IsOfDeserializer.class)
public class IsOf extends AnnotatedDynExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java
index d8602c9..68e5358 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java
@@ -25,7 +25,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import java.math.BigInteger;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
public class IsOfDeserializer extends AbstractEdmDeserializer<IsOf> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java
index 217c7df..be762a9 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java
@@ -19,7 +19,7 @@
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
@JsonDeserialize(using = LabeledElementDeserializer.class)
public class LabeledElement extends AnnotatedDynExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java
index 4ae9f64..60d9c57 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java
@@ -24,7 +24,7 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
public class LabeledElementDeserializer extends AbstractEdmDeserializer<LabeledElement> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java
index 98896d7..8d7e21e 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java
@@ -24,7 +24,7 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
public class NullDeserializer extends AbstractEdmDeserializer<Null> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java
index 3abbd5f..4411682 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java
@@ -19,7 +19,7 @@
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
@JsonDeserialize(using = PropertyValueDeserializer.class)
public class PropertyValue extends AnnotatedDynExprConstruct {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java
index af2ffb5..fd3dfae 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java
@@ -24,7 +24,7 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
public class PropertyValueDeserializer extends AbstractEdmDeserializer<PropertyValue> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java
index 6c97568..dbd4567 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java
@@ -24,7 +24,7 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
public class RecordDeserializer extends AbstractEdmDeserializer<Record> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java
index 91f52e7..eb32b16 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java
@@ -19,7 +19,7 @@
package org.apache.olingo.odata4.client.core.edm.v4.annotation;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
@JsonDeserialize(using = UrlRefDeserializer.class)
public class UrlRef extends DynExprConstructImpl {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractAnnotations.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractAnnotations.java
new file mode 100644
index 0000000..07a069a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractAnnotations.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public abstract class AbstractAnnotations extends AbstractEdmItem
+ implements org.apache.olingo.odata4.client.api.edm.xml.AbstractAnnotations {
+
+ private static final long serialVersionUID = 4926640428016042620L;
+
+ @JsonProperty(value = "Target", required = true)
+ private String target;
+
+ @JsonProperty("Qualifier")
+ private String qualifier;
+
+ @Override
+ public String getTarget() {
+ return target;
+ }
+
+ @Override
+ public void setTarget(final String target) {
+ this.target = target;
+ }
+
+ @Override
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ @Override
+ public void setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractComplexType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractComplexType.java
new file mode 100644
index 0000000..37f50e6
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractComplexType.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonNavigationProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonProperty;
+import org.apache.olingo.odata4.client.core.op.impl.ComplexTypeDeserializer;
+
+@JsonDeserialize(using = ComplexTypeDeserializer.class)
+public abstract class AbstractComplexType extends AbstractEdmItem implements ComplexType {
+
+ private static final long serialVersionUID = -4765071294433482957L;
+
+ private String name;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public CommonProperty getProperty(final String name) {
+ return getOneByName(name, getProperties());
+ }
+
+ @Override
+ public CommonNavigationProperty getNavigationProperty(final String name) {
+ return getOneByName(name, getNavigationProperties());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractDataServices.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractDataServices.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractDataServices.java
new file mode 100644
index 0000000..4af14e5
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractDataServices.java
@@ -0,0 +1,52 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.DataServices;
+
+@JsonDeserialize(using = DataServicesDeserializer.class)
+public abstract class AbstractDataServices extends AbstractEdmItem implements DataServices {
+
+ private static final long serialVersionUID = -9126377222393876166L;
+
+ private String dataServiceVersion;
+
+ private String maxDataServiceVersion;
+
+ @Override
+ public String getDataServiceVersion() {
+ return dataServiceVersion;
+ }
+
+ @Override
+ public void setDataServiceVersion(final String version) {
+ this.dataServiceVersion = version;
+ }
+
+ @Override
+ public String getMaxDataServiceVersion() {
+ return maxDataServiceVersion;
+ }
+
+ @Override
+ public void setMaxDataServiceVersion(final String version) {
+ this.maxDataServiceVersion = version;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmItem.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmItem.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmItem.java
new file mode 100644
index 0000000..eaa21cc
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmItem.java
@@ -0,0 +1,61 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public abstract class AbstractEdmItem {
+
+ protected <T extends Named> T getOneByName(final String name, final Collection<T> items) {
+ final List<T> result = getAllByName(name, items);
+ return result.isEmpty() ? null : result.get(0);
+ }
+
+ protected <T extends Named> List<T> getAllByName(final String name, final Collection<T> items) {
+ final List<T> result = new ArrayList<T>();
+ for (T type : items) {
+ if (name.equals(type.getName())) {
+ result.add(type);
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return EqualsBuilder.reflectionEquals(this, obj);
+ }
+
+ @Override
+ public int hashCode() {
+ return HashCodeBuilder.reflectionHashCode(this);
+ }
+
+ @Override
+ public String toString() {
+ return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmx.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmx.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmx.java
new file mode 100644
index 0000000..31c478e
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmx.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.DataServices;
+import org.apache.olingo.odata4.client.api.edm.xml.Edmx;
+
+@JsonDeserialize(using = EdmxDeserializer.class)
+public abstract class AbstractEdmx extends AbstractEdmItem implements Edmx {
+
+ private static final long serialVersionUID = -5480835122183091469L;
+
+ private String version;
+
+ private DataServices dataServices;
+
+ @Override
+ public String getVersion() {
+ return version;
+ }
+
+ @Override
+ public void setVersion(final String version) {
+ this.version = version;
+ }
+
+ @Override
+ public DataServices getDataServices() {
+ return dataServices;
+ }
+
+ @Override
+ public void setDataServices(final DataServices dataServices) {
+ this.dataServices = dataServices;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityContainer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityContainer.java
new file mode 100644
index 0000000..1d9e179
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityContainer.java
@@ -0,0 +1,107 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityContainer;
+import org.apache.olingo.odata4.client.api.edm.xml.EntitySet;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonFunctionImport;
+import org.apache.olingo.odata4.client.core.op.impl.EntityContainerDeserializer;
+
+@JsonDeserialize(using = EntityContainerDeserializer.class)
+public abstract class AbstractEntityContainer extends AbstractEdmItem implements EntityContainer {
+
+ private static final long serialVersionUID = 4121974387552855032L;
+
+ private String name;
+
+ private String _extends;
+
+ private boolean lazyLoadingEnabled;
+
+ private boolean defaultEntityContainer;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getExtends() {
+ return _extends;
+ }
+
+ @Override
+ public void setExtends(final String _extends) {
+ this._extends = _extends;
+ }
+
+ @Override
+ public boolean isLazyLoadingEnabled() {
+ return lazyLoadingEnabled;
+ }
+
+ @Override
+ public void setLazyLoadingEnabled(final boolean lazyLoadingEnabled) {
+ this.lazyLoadingEnabled = lazyLoadingEnabled;
+ }
+
+ @Override
+ public boolean isDefaultEntityContainer() {
+ return defaultEntityContainer;
+ }
+
+ @Override
+ public void setDefaultEntityContainer(final boolean defaultEntityContainer) {
+ this.defaultEntityContainer = defaultEntityContainer;
+ }
+
+ @Override
+ public EntitySet getEntitySet(final String name) {
+ return getOneByName(name, getEntitySets());
+ }
+
+ /**
+ * Gets the first function import with given name.
+ *
+ * @param name name.
+ * @return function import.
+ */
+ @Override
+ public CommonFunctionImport getFunctionImport(final String name) {
+ return getOneByName(name, getFunctionImports());
+ }
+
+ /**
+ * Gets all function imports with given name.
+ *
+ * @param name name.
+ * @return function imports.
+ */
+ @Override
+ public List<? extends CommonFunctionImport> getFunctionImports(final String name) {
+ return getAllByName(name, getFunctionImports());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntitySet.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntitySet.java
new file mode 100644
index 0000000..8eff752
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntitySet.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.EntitySet;
+import org.apache.olingo.odata4.client.core.op.impl.EntitySetDeserializer;
+
+@JsonDeserialize(using = EntitySetDeserializer.class)
+public abstract class AbstractEntitySet extends AbstractEdmItem implements EntitySet {
+
+ private static final long serialVersionUID = -6577263439520376420L;
+
+ private String name;
+
+ private String entityType;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getEntityType() {
+ return entityType;
+ }
+
+ @Override
+ public void setEntityType(final String entityType) {
+ this.entityType = entityType;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityType.java
new file mode 100644
index 0000000..9ddcc09
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEntityType.java
@@ -0,0 +1,90 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityKey;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
+import org.apache.olingo.odata4.client.core.op.impl.EntityTypeDeserializer;
+
+@JsonDeserialize(using = EntityTypeDeserializer.class)
+public abstract class AbstractEntityType extends AbstractComplexType implements EntityType {
+
+ private static final long serialVersionUID = -1579462552966168139L;
+
+ private boolean abstractEntityType = false;
+
+ private String baseType;
+
+ private boolean openType = false;
+
+ private boolean hasStream = false;
+
+ private EntityKeyImpl key;
+
+ @Override
+ public boolean isAbstractEntityType() {
+ return abstractEntityType;
+ }
+
+ @Override
+ public void setAbstractEntityType(final boolean abstractEntityType) {
+ this.abstractEntityType = abstractEntityType;
+ }
+
+ @Override
+ public String getBaseType() {
+ return baseType;
+ }
+
+ @Override
+ public void setBaseType(final String baseType) {
+ this.baseType = baseType;
+ }
+
+ @Override
+ public boolean isOpenType() {
+ return openType;
+ }
+
+ @Override
+ public void setOpenType(final boolean openType) {
+ this.openType = openType;
+ }
+
+ @Override
+ public EntityKeyImpl getKey() {
+ return key;
+ }
+
+ public void setKey(final EntityKey key) {
+ this.key = (EntityKeyImpl) key;
+ }
+
+ @Override
+ public boolean isHasStream() {
+ return hasStream;
+ }
+
+ @Override
+ public void setHasStream(final boolean hasStream) {
+ this.hasStream = hasStream;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEnumType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEnumType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEnumType.java
new file mode 100644
index 0000000..0d54f18
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEnumType.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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
+import org.apache.olingo.odata4.client.api.edm.xml.Member;
+import org.apache.olingo.odata4.client.core.op.impl.EnumTypeDeserializer;
+
+@JsonDeserialize(using = EnumTypeDeserializer.class)
+public abstract class AbstractEnumType extends AbstractEdmItem implements EnumType {
+
+ private static final long serialVersionUID = 2688487586103418210L;
+
+ private String name;
+
+ private String underlyingType;
+
+ private boolean flags;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getUnderlyingType() {
+ return underlyingType;
+ }
+
+ @Override
+ public void setUnderlyingType(final String underlyingType) {
+ this.underlyingType = underlyingType;
+ }
+
+ @Override
+ public boolean isFlags() {
+ return flags;
+ }
+
+ @Override
+ public void setFlags(final boolean flags) {
+ this.flags = flags;
+ }
+
+ @Override
+ public Member getMember(final String name) {
+ Member result = null;
+ for (Member member : getMembers()) {
+ if (name.equals(member.getName())) {
+ result = member;
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public Member getMember(final Integer value) {
+ Member result = null;
+ for (Member member : getMembers()) {
+ if (value.equals(member.getValue())) {
+ result = member;
+ }
+ }
+ return result;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java
new file mode 100644
index 0000000..c1b2f95
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java
@@ -0,0 +1,51 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.Member;
+
+public abstract class AbstractMember extends AbstractEdmItem implements Member {
+
+ private static final long serialVersionUID = -1852481655317148552L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty("Value")
+ private Integer value;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ public void setValue(final Integer value) {
+ this.value = value;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractNavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractNavigationProperty.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractNavigationProperty.java
new file mode 100644
index 0000000..3917bce
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractNavigationProperty.java
@@ -0,0 +1,40 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonNavigationProperty;
+
+public class AbstractNavigationProperty extends AbstractEdmItem implements CommonNavigationProperty {
+
+ private static final long serialVersionUID = 3112463683071069594L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java
new file mode 100644
index 0000000..66f9dea
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java
@@ -0,0 +1,106 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.math.BigInteger;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonParameter;
+
+public abstract class AbstractParameter extends AbstractEdmItem implements CommonParameter {
+
+ private static final long serialVersionUID = -4305016554930334342L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty(value = "Type", required = true)
+ private String type;
+
+ @JsonProperty(value = "Nullable")
+ private boolean nullable = true;
+
+ @JsonProperty("MaxLength")
+ private String maxLength;
+
+ @JsonProperty("Precision")
+ private BigInteger precision;
+
+ @JsonProperty("Scale")
+ private BigInteger scale;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ @Override
+ public void setNullable(final boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public String getMaxLength() {
+ return maxLength;
+ }
+
+ @Override
+ public void setMaxLength(final String maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ @Override
+ public BigInteger getPrecision() {
+ return precision;
+ }
+
+ @Override
+ public void setPrecision(final BigInteger precision) {
+ this.precision = precision;
+ }
+
+ @Override
+ public BigInteger getScale() {
+ return scale;
+ }
+
+ @Override
+ public void setScale(final BigInteger scale) {
+ this.scale = scale;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java
new file mode 100644
index 0000000..3f2754a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java
@@ -0,0 +1,197 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.math.BigInteger;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonProperty;
+import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
+import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
+
+public abstract class AbstractProperty extends AbstractEdmItem implements CommonProperty {
+
+ private static final long serialVersionUID = -6004492361142315153L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty(value = "Type", required = true)
+ private String type;
+
+ @JsonProperty(value = "Nullable")
+ private boolean nullable = true;
+
+ @JsonProperty(value = "DefaultValue")
+ private String defaultValue;
+
+ @JsonProperty(value = "MaxLength")
+ private String maxLength;
+
+ @JsonProperty(value = "FixedLength")
+ private boolean fixedLength;
+
+ @JsonProperty(value = "Precision")
+ private BigInteger precision;
+
+ @JsonProperty(value = "Scale")
+ private BigInteger scale;
+
+ @JsonProperty(value = "Unicode")
+ private boolean unicode = true;
+
+ @JsonProperty(value = "Collation")
+ private String collation;
+
+ @JsonProperty(value = "SRID")
+ private String srid;
+
+ @JsonProperty(value = "ConcurrencyMode")
+ private ConcurrencyMode concurrencyMode;
+
+ @JsonProperty("StoreGeneratedPattern")
+ private StoreGeneratedPattern storeGeneratedPattern = StoreGeneratedPattern.None;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ @Override
+ public void setNullable(final boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ @Override
+ public void setDefaultValue(final String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+
+ @Override
+ public String getMaxLength() {
+ return maxLength;
+ }
+
+ @Override
+ public void setMaxLength(final String maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ @Override
+ public boolean isFixedLength() {
+ return fixedLength;
+ }
+
+ @Override
+ public void setFixedLength(final boolean fixedLength) {
+ this.fixedLength = fixedLength;
+ }
+
+ @Override
+ public BigInteger getPrecision() {
+ return precision;
+ }
+
+ @Override
+ public void setPrecision(final BigInteger precision) {
+ this.precision = precision;
+ }
+
+ @Override
+ public BigInteger getScale() {
+ return scale;
+ }
+
+ @Override
+ public void setScale(final BigInteger scale) {
+ this.scale = scale;
+ }
+
+ @Override
+ public boolean isUnicode() {
+ return unicode;
+ }
+
+ @Override
+ public void setUnicode(final boolean unicode) {
+ this.unicode = unicode;
+ }
+
+ @Override
+ public String getCollation() {
+ return collation;
+ }
+
+ @Override
+ public void setCollation(final String collation) {
+ this.collation = collation;
+ }
+
+ @Override
+ public String getSrid() {
+ return srid;
+ }
+
+ @Override
+ public void setSrid(final String srid) {
+ this.srid = srid;
+ }
+
+ @Override
+ public ConcurrencyMode getConcurrencyMode() {
+ return concurrencyMode;
+ }
+
+ @Override
+ public void setConcurrencyMode(final ConcurrencyMode concurrencyMode) {
+ this.concurrencyMode = concurrencyMode;
+ }
+
+ public StoreGeneratedPattern getStoreGeneratedPattern() {
+ return storeGeneratedPattern;
+ }
+
+ public void setStoreGeneratedPattern(final StoreGeneratedPattern storeGeneratedPattern) {
+ this.storeGeneratedPattern = storeGeneratedPattern;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractSchema.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractSchema.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractSchema.java
new file mode 100644
index 0000000..8f6d7c2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractSchema.java
@@ -0,0 +1,71 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
+import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.core.op.impl.SchemaDeserializer;
+
+@JsonDeserialize(using = SchemaDeserializer.class)
+public abstract class AbstractSchema extends AbstractEdmItem implements Schema {
+
+ private static final long serialVersionUID = -1356392748971378455L;
+
+ private String namespace;
+
+ private String alias;
+
+ @Override
+ public String getNamespace() {
+ return namespace;
+ }
+
+ @Override
+ public void setNamespace(final String namespace) {
+ this.namespace = namespace;
+ }
+
+ @Override
+ public String getAlias() {
+ return alias;
+ }
+
+ @Override
+ public void setAlias(final String alias) {
+ this.alias = alias;
+ }
+
+ @Override
+ public EnumType getEnumType(final String name) {
+ return getOneByName(name, getEnumTypes());
+ }
+
+ @Override
+ public ComplexType getComplexType(final String name) {
+ return getOneByName(name, getComplexTypes());
+ }
+
+ @Override
+ public EntityType getEntityType(final String name) {
+ return getOneByName(name, getEntityTypes());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/DataServicesDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/DataServicesDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/DataServicesDeserializer.java
new file mode 100644
index 0000000..f1c045f
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/DataServicesDeserializer.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.odata4.client.core.edm.xml;
+
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
+
+public class DataServicesDeserializer extends AbstractEdmDeserializer<AbstractDataServices> {
+
+ @Override
+ protected AbstractDataServices doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AbstractDataServices dataServices = ODataServiceVersion.V30 == client.getServiceVersion()
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.DataServicesImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.DataServicesImpl();
+
+ 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();
+ if (dataServices instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.DataServicesImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.DataServicesImpl) dataServices).
+ getSchemas().add(jp.readValueAs(
+ org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl.class));
+
+ } else {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.DataServicesImpl) dataServices).
+ getSchemas().add(jp.readValueAs(
+ org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl.class));
+ }
+ }
+ }
+ }
+
+ return dataServices;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EdmxDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EdmxDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EdmxDeserializer.java
new file mode 100644
index 0000000..8aa791d
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EdmxDeserializer.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.odata4.client.core.edm.xml;
+
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ReferenceImpl;
+import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
+
+@SuppressWarnings("rawtypes")
+public class EdmxDeserializer extends AbstractEdmDeserializer<AbstractEdmx> {
+
+ @Override
+ protected AbstractEdmx doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AbstractEdmx edmx = ODataServiceVersion.V30 == client.getServiceVersion()
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.EdmxImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.EdmxImpl();
+
+ 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();
+ if (edmx instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.EdmxImpl) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.EdmxImpl) edmx).
+ setDataServices(jp.readValueAs(
+ org.apache.olingo.odata4.client.core.edm.xml.v3.DataServicesImpl.class));
+ } else {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EdmxImpl) edmx).
+ setDataServices(jp.readValueAs(
+ org.apache.olingo.odata4.client.core.edm.xml.v4.DataServicesImpl.class));
+ }
+ } else if ("Reference".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.EdmxImpl) edmx).getReferences().
+ add(jp.readValueAs( ReferenceImpl.class));
+ }
+ }
+ }
+
+ return edmx;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EntityKeyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EntityKeyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EntityKeyImpl.java
new file mode 100644
index 0000000..7434d96
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/EntityKeyImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityKey;
+import org.apache.olingo.odata4.client.core.op.impl.EntityKeyDeserializer;
+
+@JsonDeserialize(using = EntityKeyDeserializer.class)
+public class EntityKeyImpl extends AbstractEdmItem implements EntityKey {
+
+ private static final long serialVersionUID = 2586047015894794685L;
+
+ private final List<PropertyRefImpl> propertyRefs = new ArrayList<PropertyRefImpl>();
+
+ @Override
+ public List<PropertyRefImpl> getPropertyRefs() {
+ return propertyRefs;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/OnDeleteImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/OnDeleteImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/OnDeleteImpl.java
new file mode 100644
index 0000000..a74f1e3
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/OnDeleteImpl.java
@@ -0,0 +1,42 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.OnDeleteAction;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.OnDelete;
+
+public class OnDeleteImpl extends AbstractEdmItem implements OnDelete {
+
+ private static final long serialVersionUID = -5321523424474336347L;
+
+ @JsonProperty(value = "Action", required = true)
+ private OnDeleteAction action = OnDeleteAction.None;
+
+ @Override
+ public OnDeleteAction getAction() {
+ return action;
+ }
+
+ @Override
+ public void setAction(final OnDeleteAction action) {
+ this.action = action;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyRefImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyRefImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyRefImpl.java
new file mode 100644
index 0000000..a74963b
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyRefImpl.java
@@ -0,0 +1,54 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.PropertyRef;
+
+public class PropertyRefImpl extends AbstractEdmItem implements PropertyRef {
+
+ private static final long serialVersionUID = 6738212067449628983L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty(value = "Alias")
+ private String alias;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getAlias() {
+ return alias;
+ }
+
+ @Override
+ public void setAlias(final String alias) {
+ this.alias = alias;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsDeserializer.java
new file mode 100644
index 0000000..d3c4e18
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsDeserializer.java
@@ -0,0 +1,55 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class AnnotationsDeserializer extends AbstractEdmDeserializer<AnnotationsImpl> {
+
+ @Override
+ protected AnnotationsImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AnnotationsImpl annotations = new AnnotationsImpl();
+
+ for (; 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 ("typeAnnotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ annotations.getTypeAnnotations().add(jp.readValueAs( TypeAnnotationImpl.class));
+ } else if ("ValueAnnotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ annotations.getValueAnnotations().add(jp.readValueAs( ValueAnnotationImpl.class));
+ }
+ }
+ }
+
+ return annotations;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsImpl.java
new file mode 100644
index 0000000..c2f4672
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AnnotationsImpl.java
@@ -0,0 +1,46 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.Annotations;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractAnnotations;
+
+@JsonDeserialize(using = AnnotationsDeserializer.class)
+public class AnnotationsImpl extends AbstractAnnotations implements Annotations {
+
+ private static final long serialVersionUID = 3877353656301805410L;
+
+ private final List<TypeAnnotationImpl> typeAnnotations = new ArrayList<TypeAnnotationImpl>();
+
+ private final List<ValueAnnotationImpl> valueAnnotations = new ArrayList<ValueAnnotationImpl>();
+
+ @Override
+ public List<TypeAnnotationImpl> getTypeAnnotations() {
+ return typeAnnotations;
+ }
+
+ @Override
+ public List<ValueAnnotationImpl> getValueAnnotations() {
+ return valueAnnotations;
+ }
+
+}
[10/22] git commit: [OLINGO-169] Package renaming according to latest
ML discussion
Posted by il...@apache.org.
[OLINGO-169] Package renaming according to latest ML discussion
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/cdb520e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/cdb520e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/cdb520e3
Branch: refs/heads/olingo169
Commit: cdb520e34b29e2ca538b3c6d8e9d505bde6f57c3
Parents: eb886d6
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Thu Feb 27 10:54:04 2014 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Thu Feb 27 10:54:04 2014 +0100
----------------------------------------------------------------------
.../client/api/edm/AbstractAnnotations.java | 30 ---
.../client/api/edm/CommonFunctionImport.java | 22 ---
.../api/edm/CommonNavigationProperty.java | 22 ---
.../odata4/client/api/edm/CommonParameter.java | 45 -----
.../odata4/client/api/edm/CommonProperty.java | 74 -------
.../odata4/client/api/edm/ComplexType.java | 32 ---
.../odata4/client/api/edm/DataServices.java | 34 ----
.../odata4/client/api/edm/EdmMetadata.java | 1 +
.../olingo/odata4/client/api/edm/EdmType.java | 3 +
.../olingo/odata4/client/api/edm/Edmx.java | 30 ---
.../odata4/client/api/edm/EntityContainer.java | 58 ------
.../olingo/odata4/client/api/edm/EntityKey.java | 26 ---
.../olingo/odata4/client/api/edm/EntitySet.java | 26 ---
.../odata4/client/api/edm/EntityType.java | 42 ----
.../olingo/odata4/client/api/edm/EnumType.java | 38 ----
.../olingo/odata4/client/api/edm/Member.java | 26 ---
.../olingo/odata4/client/api/edm/Named.java | 26 ---
.../olingo/odata4/client/api/edm/OnDelete.java | 28 ---
.../odata4/client/api/edm/PropertyRef.java | 26 ---
.../olingo/odata4/client/api/edm/Schema.java | 79 --------
.../odata4/client/api/edm/v3/Annotations.java | 29 ---
.../odata4/client/api/edm/v3/Association.java | 32 ---
.../client/api/edm/v3/AssociationEnd.java | 40 ----
.../client/api/edm/v3/AssociationSet.java | 31 ---
.../client/api/edm/v3/AssociationSetEnd.java | 30 ---
.../client/api/edm/v3/FunctionImport.java | 60 ------
.../client/api/edm/v3/NavigationProperty.java | 34 ----
.../odata4/client/api/edm/v3/Parameter.java | 26 ---
.../odata4/client/api/edm/v3/ParameterMode.java | 27 ---
.../odata4/client/api/edm/v3/Property.java | 50 -----
.../odata4/client/api/edm/v3/PropertyValue.java | 59 ------
.../api/edm/v3/ReferentialConstraint.java | 30 ---
.../api/edm/v3/ReferentialConstraintRole.java | 32 ---
.../client/api/edm/v3/TypeAnnotation.java | 35 ----
.../olingo/odata4/client/api/edm/v3/Using.java | 31 ---
.../client/api/edm/v3/ValueAnnotation.java | 63 ------
.../odata4/client/api/edm/v3/ValueTerm.java | 28 ---
.../olingo/odata4/client/api/edm/v4/Action.java | 43 ----
.../odata4/client/api/edm/v4/ActionImport.java | 26 ---
.../client/api/edm/v4/AnnotatedEdmItem.java | 26 ---
.../odata4/client/api/edm/v4/Annotation.java | 41 ----
.../odata4/client/api/edm/v4/Annotations.java | 29 ---
.../odata4/client/api/edm/v4/CSDLElement.java | 37 ----
.../odata4/client/api/edm/v4/ComplexType.java | 35 ----
.../olingo/odata4/client/api/edm/v4/Edmx.java | 26 ---
.../client/api/edm/v4/EntityContainer.java | 43 ----
.../odata4/client/api/edm/v4/EntitySet.java | 30 ---
.../odata4/client/api/edm/v4/EntityType.java | 23 ---
.../odata4/client/api/edm/v4/Function.java | 26 ---
.../client/api/edm/v4/FunctionImport.java | 32 ---
.../odata4/client/api/edm/v4/Include.java | 30 ---
.../client/api/edm/v4/IncludeAnnotations.java | 34 ----
.../client/api/edm/v4/NavigationProperty.java | 49 -----
.../api/edm/v4/NavigationPropertyBinding.java | 31 ---
.../client/api/edm/v4/OnDeleteAction.java | 28 ---
.../client/api/edm/v4/OperationImport.java | 28 ---
.../odata4/client/api/edm/v4/Parameter.java | 26 ---
.../odata4/client/api/edm/v4/Property.java | 25 ---
.../odata4/client/api/edm/v4/Reference.java | 35 ----
.../api/edm/v4/ReferentialConstraint.java | 31 ---
.../odata4/client/api/edm/v4/ReturnType.java | 48 -----
.../odata4/client/api/edm/v4/Singleton.java | 32 ---
.../olingo/odata4/client/api/edm/v4/Term.java | 60 ------
.../client/api/edm/v4/TypeDefinition.java | 52 -----
.../edm/v4/annotation/ConstExprConstruct.java | 56 ------
.../api/edm/v4/annotation/DynExprConstruct.java | 23 ---
.../api/edm/v4/annotation/ExprConstruct.java | 23 ---
.../client/api/edm/xml/AbstractAnnotations.java | 30 +++
.../api/edm/xml/CommonFunctionImport.java | 22 +++
.../api/edm/xml/CommonNavigationProperty.java | 22 +++
.../client/api/edm/xml/CommonParameter.java | 45 +++++
.../client/api/edm/xml/CommonProperty.java | 74 +++++++
.../odata4/client/api/edm/xml/ComplexType.java | 32 +++
.../odata4/client/api/edm/xml/DataServices.java | 34 ++++
.../olingo/odata4/client/api/edm/xml/Edmx.java | 30 +++
.../client/api/edm/xml/EntityContainer.java | 58 ++++++
.../odata4/client/api/edm/xml/EntityKey.java | 26 +++
.../odata4/client/api/edm/xml/EntitySet.java | 26 +++
.../odata4/client/api/edm/xml/EntityType.java | 42 ++++
.../odata4/client/api/edm/xml/EnumType.java | 38 ++++
.../odata4/client/api/edm/xml/Member.java | 26 +++
.../olingo/odata4/client/api/edm/xml/Named.java | 26 +++
.../odata4/client/api/edm/xml/OnDelete.java | 28 +++
.../odata4/client/api/edm/xml/PropertyRef.java | 26 +++
.../odata4/client/api/edm/xml/Schema.java | 79 ++++++++
.../client/api/edm/xml/v3/Annotations.java | 29 +++
.../client/api/edm/xml/v3/Association.java | 32 +++
.../client/api/edm/xml/v3/AssociationEnd.java | 40 ++++
.../client/api/edm/xml/v3/AssociationSet.java | 31 +++
.../api/edm/xml/v3/AssociationSetEnd.java | 30 +++
.../client/api/edm/xml/v3/FunctionImport.java | 60 ++++++
.../api/edm/xml/v3/NavigationProperty.java | 34 ++++
.../odata4/client/api/edm/xml/v3/Parameter.java | 26 +++
.../client/api/edm/xml/v3/ParameterMode.java | 27 +++
.../odata4/client/api/edm/xml/v3/Property.java | 50 +++++
.../client/api/edm/xml/v3/PropertyValue.java | 59 ++++++
.../api/edm/xml/v3/ReferentialConstraint.java | 30 +++
.../edm/xml/v3/ReferentialConstraintRole.java | 32 +++
.../client/api/edm/xml/v3/TypeAnnotation.java | 35 ++++
.../odata4/client/api/edm/xml/v3/Using.java | 31 +++
.../client/api/edm/xml/v3/ValueAnnotation.java | 63 ++++++
.../odata4/client/api/edm/xml/v3/ValueTerm.java | 28 +++
.../odata4/client/api/edm/xml/v4/Action.java | 43 ++++
.../client/api/edm/xml/v4/ActionImport.java | 26 +++
.../client/api/edm/xml/v4/AnnotatedEdmItem.java | 26 +++
.../client/api/edm/xml/v4/Annotation.java | 41 ++++
.../client/api/edm/xml/v4/Annotations.java | 29 +++
.../client/api/edm/xml/v4/CSDLElement.java | 37 ++++
.../client/api/edm/xml/v4/ComplexType.java | 35 ++++
.../odata4/client/api/edm/xml/v4/Edmx.java | 26 +++
.../client/api/edm/xml/v4/EntityContainer.java | 43 ++++
.../odata4/client/api/edm/xml/v4/EntitySet.java | 30 +++
.../client/api/edm/xml/v4/EntityType.java | 23 +++
.../odata4/client/api/edm/xml/v4/Function.java | 26 +++
.../client/api/edm/xml/v4/FunctionImport.java | 32 +++
.../odata4/client/api/edm/xml/v4/Include.java | 30 +++
.../api/edm/xml/v4/IncludeAnnotations.java | 34 ++++
.../api/edm/xml/v4/NavigationProperty.java | 49 +++++
.../edm/xml/v4/NavigationPropertyBinding.java | 31 +++
.../client/api/edm/xml/v4/OnDeleteAction.java | 28 +++
.../client/api/edm/xml/v4/OperationImport.java | 28 +++
.../odata4/client/api/edm/xml/v4/Parameter.java | 26 +++
.../odata4/client/api/edm/xml/v4/Property.java | 25 +++
.../odata4/client/api/edm/xml/v4/Reference.java | 35 ++++
.../api/edm/xml/v4/ReferentialConstraint.java | 31 +++
.../client/api/edm/xml/v4/ReturnType.java | 48 +++++
.../odata4/client/api/edm/xml/v4/Singleton.java | 32 +++
.../odata4/client/api/edm/xml/v4/Term.java | 60 ++++++
.../client/api/edm/xml/v4/TypeDefinition.java | 52 +++++
.../xml/v4/annotation/ConstExprConstruct.java | 56 ++++++
.../edm/xml/v4/annotation/DynExprConstruct.java | 23 +++
.../edm/xml/v4/annotation/ExprConstruct.java | 23 +++
.../odata4/client/api/op/ODataDeserializer.java | 2 +-
.../client/core/edm/AbstractAnnotations.java | 53 -----
.../client/core/edm/AbstractComplexType.java | 53 -----
.../client/core/edm/AbstractDataServices.java | 52 -----
.../odata4/client/core/edm/AbstractEdmItem.java | 61 ------
.../client/core/edm/AbstractEdmMetadata.java | 5 +-
.../odata4/client/core/edm/AbstractEdmType.java | 11 +-
.../odata4/client/core/edm/AbstractEdmx.java | 53 -----
.../core/edm/AbstractEntityContainer.java | 107 ----------
.../client/core/edm/AbstractEntitySet.java | 53 -----
.../client/core/edm/AbstractEntityType.java | 90 ---------
.../client/core/edm/AbstractEnumType.java | 88 ---------
.../odata4/client/core/edm/AbstractMember.java | 51 -----
.../core/edm/AbstractNavigationProperty.java | 40 ----
.../client/core/edm/AbstractParameter.java | 106 ----------
.../client/core/edm/AbstractProperty.java | 197 -------------------
.../odata4/client/core/edm/AbstractSchema.java | 71 -------
.../core/edm/DataServicesDeserializer.java | 64 ------
.../client/core/edm/EdmxDeserializer.java | 67 -------
.../odata4/client/core/edm/EntityKeyImpl.java | 38 ----
.../odata4/client/core/edm/OnDeleteImpl.java | 42 ----
.../odata4/client/core/edm/PropertyRefImpl.java | 54 -----
.../core/edm/v3/AnnotationsDeserializer.java | 55 ------
.../client/core/edm/v3/AnnotationsImpl.java | 46 -----
.../core/edm/v3/AssociationDeserializer.java | 53 -----
.../client/core/edm/v3/AssociationEndImpl.java | 81 --------
.../client/core/edm/v3/AssociationImpl.java | 63 ------
.../core/edm/v3/AssociationSetDeserializer.java | 52 -----
.../core/edm/v3/AssociationSetEndImpl.java | 54 -----
.../client/core/edm/v3/AssociationSetImpl.java | 62 ------
.../client/core/edm/v3/ComplexTypeImpl.java | 54 -----
.../client/core/edm/v3/DataServicesImpl.java | 36 ----
.../client/core/edm/v3/EdmMetadataImpl.java | 1 +
.../odata4/client/core/edm/v3/EdmTypeImpl.java | 3 +
.../odata4/client/core/edm/v3/EdmxImpl.java | 32 ---
.../client/core/edm/v3/EntityContainerImpl.java | 65 ------
.../client/core/edm/v3/EntitySetImpl.java | 27 ---
.../client/core/edm/v3/EntityTypeImpl.java | 53 -----
.../odata4/client/core/edm/v3/EnumTypeImpl.java | 46 -----
.../core/edm/v3/FunctionImportDeserializer.java | 67 -------
.../client/core/edm/v3/FunctionImportImpl.java | 146 --------------
.../odata4/client/core/edm/v3/MemberImpl.java | 27 ---
.../core/edm/v3/NavigationPropertyImpl.java | 68 -------
.../client/core/edm/v3/ParameterImpl.java | 43 ----
.../odata4/client/core/edm/v3/PropertyImpl.java | 96 ---------
.../client/core/edm/v3/PropertyValueImpl.java | 135 -------------
.../core/edm/v3/ReferentialConstraintImpl.java | 58 ------
.../ReferentialConstraintRoleDeserializer.java | 51 -----
.../edm/v3/ReferentialConstraintRoleImpl.java | 50 -----
.../odata4/client/core/edm/v3/SchemaImpl.java | 129 ------------
.../core/edm/v3/TypeAnnotationDeserializer.java | 52 -----
.../client/core/edm/v3/TypeAnnotationImpl.java | 63 ------
.../odata4/client/core/edm/v3/UsingImpl.java | 54 -----
.../client/core/edm/v3/ValueAnnotationImpl.java | 148 --------------
.../client/core/edm/v3/ValueTermImpl.java | 54 -----
.../core/edm/v4/AbstractAnnotatedEdmItem.java | 45 -----
.../client/core/edm/v4/ActionDeserializer.java | 60 ------
.../odata4/client/core/edm/v4/ActionImpl.java | 92 ---------
.../client/core/edm/v4/ActionImportImpl.java | 67 -------
.../core/edm/v4/AnnotationDeserializer.java | 57 ------
.../client/core/edm/v4/AnnotationImpl.java | 82 --------
.../core/edm/v4/AnnotationsDeserializer.java | 53 -----
.../client/core/edm/v4/AnnotationsImpl.java | 49 -----
.../client/core/edm/v4/ComplexTypeImpl.java | 103 ----------
.../client/core/edm/v4/DataServicesImpl.java | 36 ----
.../client/core/edm/v4/EdmMetadataImpl.java | 3 +
.../odata4/client/core/edm/v4/EdmTypeImpl.java | 3 +
.../odata4/client/core/edm/v4/EdmxImpl.java | 42 ----
.../client/core/edm/v4/EntityContainerImpl.java | 123 ------------
.../client/core/edm/v4/EntitySetImpl.java | 63 ------
.../client/core/edm/v4/EntityTypeImpl.java | 67 -------
.../odata4/client/core/edm/v4/EnumTypeImpl.java | 60 ------
.../core/edm/v4/FunctionDeserializer.java | 62 ------
.../odata4/client/core/edm/v4/FunctionImpl.java | 41 ----
.../client/core/edm/v4/FunctionImportImpl.java | 96 ---------
.../core/edm/v4/IncludeAnnotationsImpl.java | 68 -------
.../odata4/client/core/edm/v4/IncludeImpl.java | 55 ------
.../odata4/client/core/edm/v4/MemberImpl.java | 45 -----
.../edm/v4/NavigationPropertyBindingImpl.java | 55 ------
.../edm/v4/NavigationPropertyDeserializer.java | 67 -------
.../core/edm/v4/NavigationPropertyImpl.java | 114 -----------
.../client/core/edm/v4/ParameterImpl.java | 42 ----
.../odata4/client/core/edm/v4/PropertyImpl.java | 44 -----
.../core/edm/v4/ReferenceDeserializer.java | 58 ------
.../client/core/edm/v4/ReferenceImpl.java | 67 -------
.../core/edm/v4/ReferentialConstraintImpl.java | 54 -----
.../client/core/edm/v4/ReturnTypeImpl.java | 108 ----------
.../odata4/client/core/edm/v4/SchemaImpl.java | 165 ----------------
.../core/edm/v4/SingletonDeserializer.java | 57 ------
.../client/core/edm/v4/SingletonImpl.java | 63 ------
.../client/core/edm/v4/TermDeserializer.java | 75 -------
.../odata4/client/core/edm/v4/TermImpl.java | 148 --------------
.../core/edm/v4/TypeDefinitionDeserializer.java | 65 ------
.../client/core/edm/v4/TypeDefinitionImpl.java | 122 ------------
.../annotation/AnnotatedDynExprConstruct.java | 6 +-
.../client/core/edm/v4/annotation/Apply.java | 2 +-
.../edm/v4/annotation/ApplyDeserializer.java | 2 +-
.../client/core/edm/v4/annotation/Cast.java | 2 +-
.../edm/v4/annotation/CastDeserializer.java | 2 +-
.../core/edm/v4/annotation/Collection.java | 2 +-
.../v4/annotation/ConstExprConstructImpl.java | 2 +-
.../edm/v4/annotation/DynExprConstructImpl.java | 2 +-
.../edm/v4/annotation/DynExprDoubleParamOp.java | 2 +-
.../edm/v4/annotation/DynExprSingleParamOp.java | 2 +-
.../edm/v4/annotation/ExprConstructImpl.java | 4 +-
.../client/core/edm/v4/annotation/If.java | 2 +-
.../client/core/edm/v4/annotation/IsOf.java | 2 +-
.../edm/v4/annotation/IsOfDeserializer.java | 2 +-
.../core/edm/v4/annotation/LabeledElement.java | 2 +-
.../annotation/LabeledElementDeserializer.java | 2 +-
.../edm/v4/annotation/NullDeserializer.java | 2 +-
.../core/edm/v4/annotation/PropertyValue.java | 2 +-
.../annotation/PropertyValueDeserializer.java | 2 +-
.../edm/v4/annotation/RecordDeserializer.java | 2 +-
.../client/core/edm/v4/annotation/UrlRef.java | 2 +-
.../core/edm/xml/AbstractAnnotations.java | 53 +++++
.../core/edm/xml/AbstractComplexType.java | 53 +++++
.../core/edm/xml/AbstractDataServices.java | 52 +++++
.../client/core/edm/xml/AbstractEdmItem.java | 61 ++++++
.../client/core/edm/xml/AbstractEdmx.java | 53 +++++
.../core/edm/xml/AbstractEntityContainer.java | 107 ++++++++++
.../client/core/edm/xml/AbstractEntitySet.java | 53 +++++
.../client/core/edm/xml/AbstractEntityType.java | 90 +++++++++
.../client/core/edm/xml/AbstractEnumType.java | 88 +++++++++
.../client/core/edm/xml/AbstractMember.java | 51 +++++
.../edm/xml/AbstractNavigationProperty.java | 40 ++++
.../client/core/edm/xml/AbstractParameter.java | 106 ++++++++++
.../client/core/edm/xml/AbstractProperty.java | 197 +++++++++++++++++++
.../client/core/edm/xml/AbstractSchema.java | 71 +++++++
.../core/edm/xml/DataServicesDeserializer.java | 64 ++++++
.../client/core/edm/xml/EdmxDeserializer.java | 67 +++++++
.../client/core/edm/xml/EntityKeyImpl.java | 38 ++++
.../client/core/edm/xml/OnDeleteImpl.java | 42 ++++
.../client/core/edm/xml/PropertyRefImpl.java | 54 +++++
.../edm/xml/v3/AnnotationsDeserializer.java | 55 ++++++
.../client/core/edm/xml/v3/AnnotationsImpl.java | 46 +++++
.../edm/xml/v3/AssociationDeserializer.java | 53 +++++
.../core/edm/xml/v3/AssociationEndImpl.java | 81 ++++++++
.../client/core/edm/xml/v3/AssociationImpl.java | 63 ++++++
.../edm/xml/v3/AssociationSetDeserializer.java | 52 +++++
.../core/edm/xml/v3/AssociationSetEndImpl.java | 54 +++++
.../core/edm/xml/v3/AssociationSetImpl.java | 62 ++++++
.../client/core/edm/xml/v3/ComplexTypeImpl.java | 54 +++++
.../core/edm/xml/v3/DataServicesImpl.java | 36 ++++
.../odata4/client/core/edm/xml/v3/EdmxImpl.java | 32 +++
.../core/edm/xml/v3/EntityContainerImpl.java | 65 ++++++
.../client/core/edm/xml/v3/EntitySetImpl.java | 27 +++
.../client/core/edm/xml/v3/EntityTypeImpl.java | 53 +++++
.../client/core/edm/xml/v3/EnumTypeImpl.java | 46 +++++
.../edm/xml/v3/FunctionImportDeserializer.java | 67 +++++++
.../core/edm/xml/v3/FunctionImportImpl.java | 146 ++++++++++++++
.../client/core/edm/xml/v3/MemberImpl.java | 27 +++
.../core/edm/xml/v3/NavigationPropertyImpl.java | 68 +++++++
.../client/core/edm/xml/v3/ParameterImpl.java | 43 ++++
.../client/core/edm/xml/v3/PropertyImpl.java | 96 +++++++++
.../core/edm/xml/v3/PropertyValueImpl.java | 135 +++++++++++++
.../edm/xml/v3/ReferentialConstraintImpl.java | 58 ++++++
.../ReferentialConstraintRoleDeserializer.java | 51 +++++
.../xml/v3/ReferentialConstraintRoleImpl.java | 50 +++++
.../client/core/edm/xml/v3/SchemaImpl.java | 129 ++++++++++++
.../edm/xml/v3/TypeAnnotationDeserializer.java | 52 +++++
.../core/edm/xml/v3/TypeAnnotationImpl.java | 63 ++++++
.../client/core/edm/xml/v3/UsingImpl.java | 54 +++++
.../core/edm/xml/v3/ValueAnnotationImpl.java | 148 ++++++++++++++
.../client/core/edm/xml/v3/ValueTermImpl.java | 54 +++++
.../edm/xml/v4/AbstractAnnotatedEdmItem.java | 45 +++++
.../core/edm/xml/v4/ActionDeserializer.java | 60 ++++++
.../client/core/edm/xml/v4/ActionImpl.java | 92 +++++++++
.../core/edm/xml/v4/ActionImportImpl.java | 67 +++++++
.../core/edm/xml/v4/AnnotationDeserializer.java | 57 ++++++
.../client/core/edm/xml/v4/AnnotationImpl.java | 82 ++++++++
.../edm/xml/v4/AnnotationsDeserializer.java | 53 +++++
.../client/core/edm/xml/v4/AnnotationsImpl.java | 49 +++++
.../client/core/edm/xml/v4/ComplexTypeImpl.java | 103 ++++++++++
.../core/edm/xml/v4/DataServicesImpl.java | 36 ++++
.../odata4/client/core/edm/xml/v4/EdmxImpl.java | 42 ++++
.../core/edm/xml/v4/EntityContainerImpl.java | 123 ++++++++++++
.../client/core/edm/xml/v4/EntitySetImpl.java | 63 ++++++
.../client/core/edm/xml/v4/EntityTypeImpl.java | 67 +++++++
.../client/core/edm/xml/v4/EnumTypeImpl.java | 60 ++++++
.../core/edm/xml/v4/FunctionDeserializer.java | 62 ++++++
.../client/core/edm/xml/v4/FunctionImpl.java | 41 ++++
.../core/edm/xml/v4/FunctionImportImpl.java | 96 +++++++++
.../core/edm/xml/v4/IncludeAnnotationsImpl.java | 68 +++++++
.../client/core/edm/xml/v4/IncludeImpl.java | 55 ++++++
.../client/core/edm/xml/v4/MemberImpl.java | 45 +++++
.../xml/v4/NavigationPropertyBindingImpl.java | 55 ++++++
.../xml/v4/NavigationPropertyDeserializer.java | 67 +++++++
.../core/edm/xml/v4/NavigationPropertyImpl.java | 114 +++++++++++
.../client/core/edm/xml/v4/ParameterImpl.java | 42 ++++
.../client/core/edm/xml/v4/PropertyImpl.java | 44 +++++
.../core/edm/xml/v4/ReferenceDeserializer.java | 58 ++++++
.../client/core/edm/xml/v4/ReferenceImpl.java | 67 +++++++
.../edm/xml/v4/ReferentialConstraintImpl.java | 54 +++++
.../client/core/edm/xml/v4/ReturnTypeImpl.java | 108 ++++++++++
.../client/core/edm/xml/v4/SchemaImpl.java | 165 ++++++++++++++++
.../core/edm/xml/v4/SingletonDeserializer.java | 57 ++++++
.../client/core/edm/xml/v4/SingletonImpl.java | 63 ++++++
.../core/edm/xml/v4/TermDeserializer.java | 75 +++++++
.../odata4/client/core/edm/xml/v4/TermImpl.java | 148 ++++++++++++++
.../edm/xml/v4/TypeDefinitionDeserializer.java | 65 ++++++
.../core/edm/xml/v4/TypeDefinitionImpl.java | 122 ++++++++++++
.../core/op/impl/AbstractEdmDeserializer.java | 2 +-
.../core/op/impl/ComplexTypeDeserializer.java | 30 +--
.../op/impl/EntityContainerDeserializer.java | 42 ++--
.../core/op/impl/EntityKeyDeserializer.java | 4 +-
.../core/op/impl/EntitySetDeserializer.java | 16 +-
.../core/op/impl/EntityTypeDeserializer.java | 32 +--
.../core/op/impl/EnumTypeDeserializer.java | 20 +-
.../client/core/op/impl/SchemaDeserializer.java | 86 ++++----
.../core/op/impl/v3/ODataDeserializerImpl.java | 2 +-
.../core/op/impl/v4/ODataDeserializerImpl.java | 2 +-
.../odata4/client/core/v3/MetadataTest.java | 10 +-
.../odata4/client/core/v4/MetadataTest.java | 24 +--
346 files changed, 8543 insertions(+), 8525 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java
deleted file mode 100644
index cf52cf4..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/AbstractAnnotations.java
+++ /dev/null
@@ -1,30 +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.odata4.client.api.edm;
-
-public abstract interface AbstractAnnotations {
-
- String getTarget();
-
- void setTarget(String target);
-
- String getQualifier();
-
- void setQualifier(String qualifier);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java
deleted file mode 100644
index 739d08a..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonFunctionImport.java
+++ /dev/null
@@ -1,22 +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.odata4.client.api.edm;
-
-public interface CommonFunctionImport extends Named {
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java
deleted file mode 100644
index 2637a0c..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonNavigationProperty.java
+++ /dev/null
@@ -1,22 +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.odata4.client.api.edm;
-
-public interface CommonNavigationProperty extends Named {
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java
deleted file mode 100644
index 31f737f..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonParameter.java
+++ /dev/null
@@ -1,45 +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.odata4.client.api.edm;
-
-import java.math.BigInteger;
-
-public interface CommonParameter extends Named {
-
- String getType();
-
- void setType(String type);
-
- boolean isNullable();
-
- void setNullable(boolean nullable);
-
- String getMaxLength();
-
- void setMaxLength(String maxLength);
-
- BigInteger getPrecision();
-
- void setPrecision(BigInteger precision);
-
- BigInteger getScale();
-
- void setScale(BigInteger scale);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java
deleted file mode 100644
index 16cc03a..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/CommonProperty.java
+++ /dev/null
@@ -1,74 +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.odata4.client.api.edm;
-
-import java.math.BigInteger;
-import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
-import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
-
-public interface CommonProperty extends Named {
-
- String getType();
-
- void setType(String type);
-
- boolean isNullable();
-
- void setNullable(boolean nullable);
-
- String getDefaultValue();
-
- void setDefaultValue(String defaultValue);
-
- String getMaxLength();
-
- void setMaxLength(String maxLength);
-
- boolean isFixedLength();
-
- void setFixedLength(boolean fixedLength);
-
- BigInteger getPrecision();
-
- void setPrecision(BigInteger precision);
-
- BigInteger getScale();
-
- void setScale(BigInteger scale);
-
- boolean isUnicode();
-
- void setUnicode(boolean unicode);
-
- String getCollation();
-
- void setCollation(String collation);
-
- String getSrid();
-
- void setSrid(String srid);
-
- ConcurrencyMode getConcurrencyMode();
-
- void setConcurrencyMode(ConcurrencyMode concurrencyMode);
-
- StoreGeneratedPattern getStoreGeneratedPattern();
-
- void setStoreGeneratedPattern(StoreGeneratedPattern storeGeneratedPattern);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java
deleted file mode 100644
index 929d1b8..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/ComplexType.java
+++ /dev/null
@@ -1,32 +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.odata4.client.api.edm;
-
-import java.util.List;
-
-public interface ComplexType extends Named {
-
- CommonProperty getProperty(String name);
-
- List<? extends CommonProperty> getProperties();
-
- CommonNavigationProperty getNavigationProperty(String name);
-
- List<? extends CommonNavigationProperty> getNavigationProperties();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java
deleted file mode 100644
index 2972991..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/DataServices.java
+++ /dev/null
@@ -1,34 +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.odata4.client.api.edm;
-
-import java.util.List;
-
-public interface DataServices {
-
- String getDataServiceVersion();
-
- void setDataServiceVersion(String version);
-
- String getMaxDataServiceVersion();
-
- void setMaxDataServiceVersion(String version);
-
- List<? extends Schema> getSchemas();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java
index a75515d..9fef9c5 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java
@@ -19,6 +19,7 @@
package org.apache.olingo.odata4.client.api.edm;
import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
/**
* Entry point for access information about EDM metadata.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmType.java
index 5a480d7..3e59c03 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmType.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmType.java
@@ -19,6 +19,9 @@
package org.apache.olingo.odata4.client.api.edm;
import org.apache.olingo.odata4.client.api.data.EdmSimpleType;
+import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
+import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
public interface EdmType {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Edmx.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Edmx.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Edmx.java
deleted file mode 100644
index 94fb5a8..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Edmx.java
+++ /dev/null
@@ -1,30 +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.odata4.client.api.edm;
-
-public interface Edmx {
-
- String getVersion();
-
- void setVersion(String version);
-
- DataServices getDataServices();
-
- void setDataServices(DataServices dataServices);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.java
deleted file mode 100644
index c3eb080..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityContainer.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.odata4.client.api.edm;
-
-import java.util.List;
-
-public interface EntityContainer extends Named {
-
- String getExtends();
-
- void setExtends(String _extends);
-
- boolean isLazyLoadingEnabled();
-
- void setLazyLoadingEnabled(boolean lazyLoadingEnabled);
-
- boolean isDefaultEntityContainer();
-
- void setDefaultEntityContainer(boolean defaultEntityContainer);
-
- EntitySet getEntitySet(String name);
-
- List<? extends EntitySet> getEntitySets();
-
- /**
- * Gets the first function import with given name.
- *
- * @param name name.
- * @return function import.
- */
- CommonFunctionImport getFunctionImport(String name);
-
- /**
- * Gets all function imports with given name.
- *
- * @param name name.
- * @return function imports.
- */
- List<? extends CommonFunctionImport> getFunctionImports(String name);
-
- List<? extends CommonFunctionImport> getFunctionImports();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java
deleted file mode 100644
index ee89a9a..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityKey.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm;
-
-import java.util.List;
-
-public interface EntityKey {
-
- List<? extends PropertyRef> getPropertyRefs();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java
deleted file mode 100644
index 98c854d..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntitySet.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm;
-
-public interface EntitySet extends Named {
-
- String getEntityType();
-
- void setEntityType(String entityType);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java
deleted file mode 100644
index 37ebc35..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EntityType.java
+++ /dev/null
@@ -1,42 +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.odata4.client.api.edm;
-
-public interface EntityType extends ComplexType {
-
- boolean isAbstractEntityType();
-
- void setAbstractEntityType(boolean abstractEntityType);
-
- String getBaseType();
-
- void setBaseType(String baseType);
-
- boolean isOpenType();
-
- void setOpenType(boolean openType);
-
- EntityKey getKey();
-
- void setKey(EntityKey key);
-
- boolean isHasStream();
-
- void setHasStream(boolean hasStream);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java
deleted file mode 100644
index 614c5e1..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EnumType.java
+++ /dev/null
@@ -1,38 +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.odata4.client.api.edm;
-
-import java.util.List;
-
-public interface EnumType extends Named {
-
- String getUnderlyingType();
-
- void setUnderlyingType(String underlyingType);
-
- boolean isFlags();
-
- void setFlags(boolean flags);
-
- List<? extends Member> getMembers();
-
- Member getMember(String name);
-
- Member getMember(Integer value);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Member.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Member.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Member.java
deleted file mode 100644
index 8d91cff..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Member.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm;
-
-public interface Member {
-
- String getName();
-
- Integer getValue();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java
deleted file mode 100644
index 5d90e2d..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Named.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm;
-
-public interface Named {
-
- String getName();
-
- void setName(String name);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java
deleted file mode 100644
index 1936328..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/OnDelete.java
+++ /dev/null
@@ -1,28 +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.odata4.client.api.edm;
-
-import org.apache.olingo.odata4.client.api.edm.v4.OnDeleteAction;
-
-public interface OnDelete {
-
- OnDeleteAction getAction();
-
- void setAction(OnDeleteAction action);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java
deleted file mode 100644
index 02b4c6e..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/PropertyRef.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm;
-
-public interface PropertyRef extends Named {
-
- String getAlias();
-
- void setAlias(String alias);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java
deleted file mode 100644
index ac19d11..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/Schema.java
+++ /dev/null
@@ -1,79 +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.odata4.client.api.edm;
-
-import org.apache.olingo.odata4.client.api.edm.v3.Annotations;
-import java.util.List;
-
-public interface Schema {
-
- String getNamespace();
-
- void setNamespace(String namespace);
-
- String getAlias();
-
- void setAlias(String alias);
-
- List<? extends EntityType> getEntityTypes();
-
- List<? extends EnumType> getEnumTypes();
-
- EnumType getEnumType(String name);
-
- List<? extends AbstractAnnotations> getAnnotationsList();
-
- AbstractAnnotations getAnnotationsList(String target);
-
- List<? extends ComplexType> getComplexTypes();
-
- List<? extends EntityContainer> getEntityContainers();
-
- /**
- * Gets default entity container.
- *
- * @return default entity container.
- */
- EntityContainer getDefaultEntityContainer();
-
- /**
- * Gets entity container with the given name.
- *
- * @param name name.
- * @return entity container.
- */
- EntityContainer getEntityContainer(String name);
-
- /**
- * Gets entity type with the given name.
- *
- * @param name name.
- * @return entity type.
- */
- EntityType getEntityType(String name);
-
- /**
- * Gets complex type with the given name.
- *
- * @param name name.
- * @return complex type.
- */
- ComplexType getComplexType(String name);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java
deleted file mode 100644
index 30aa26a..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Annotations.java
+++ /dev/null
@@ -1,29 +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.odata4.client.api.edm.v3;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.AbstractAnnotations;
-
-public interface Annotations extends AbstractAnnotations {
-
- List<? extends TypeAnnotation> getTypeAnnotations();
-
- List<? extends ValueAnnotation> getValueAnnotations();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java
deleted file mode 100644
index 0cb5b0e..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Association.java
+++ /dev/null
@@ -1,32 +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.odata4.client.api.edm.v3;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public interface Association extends Named {
-
- ReferentialConstraint getReferentialConstraint();
-
- void setReferentialConstraint(ReferentialConstraint referentialConstraint);
-
- List<? extends AssociationEnd> getEnds();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java
deleted file mode 100644
index 8eb34e4..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationEnd.java
+++ /dev/null
@@ -1,40 +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.odata4.client.api.edm.v3;
-
-import org.apache.olingo.odata4.client.api.edm.OnDelete;
-
-public interface AssociationEnd {
-
- String getType();
-
- void setType(String type);
-
- String getRole();
-
- void setRole(String role);
-
- String getMultiplicity();
-
- void setMultiplicity(String multiplicity);
-
- OnDelete getOnDelete();
-
- void setOnDelete(OnDelete onDelete);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java
deleted file mode 100644
index 1915255..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSet.java
+++ /dev/null
@@ -1,31 +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.odata4.client.api.edm.v3;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public interface AssociationSet extends Named {
-
- String getAssociation();
-
- void setAssociation(String association);
-
- List<? extends AssociationSetEnd> getEnds();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java
deleted file mode 100644
index a3cd430..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/AssociationSetEnd.java
+++ /dev/null
@@ -1,30 +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.odata4.client.api.edm.v3;
-
-public interface AssociationSetEnd {
-
- String getRole();
-
- void setRole(String role);
-
- String getEntitySet();
-
- void setEntitySet(String entitySet);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java
deleted file mode 100644
index 359ba5b..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/FunctionImport.java
+++ /dev/null
@@ -1,60 +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.odata4.client.api.edm.v3;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.CommonParameter;
-
-public interface FunctionImport extends org.apache.olingo.odata4.client.api.edm.CommonFunctionImport {
-
- String getReturnType();
-
- void setReturnType(String returnType);
-
- String getEntitySet();
-
- void setEntitySet(String entitySet);
-
- String getEntitySetPath();
-
- void setEntitySetPath(String entitySetPath);
-
- boolean isComposable();
-
- void setComposable(boolean composable);
-
- boolean isSideEffecting();
-
- void setSideEffecting(boolean sideEffecting);
-
- boolean isBindable();
-
- void setBindable(boolean bindable);
-
- boolean isAlwaysBindable();
-
- void setAlwaysBindable(boolean alwaysBindable);
-
- String getHttpMethod();
-
- void setHttpMethod(String httpMethod);
-
- List<? extends CommonParameter> getParameters();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java
deleted file mode 100644
index 4b24887..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/NavigationProperty.java
+++ /dev/null
@@ -1,34 +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.odata4.client.api.edm.v3;
-
-public interface NavigationProperty extends org.apache.olingo.odata4.client.api.edm.CommonNavigationProperty {
-
- String getRelationship();
-
- void setRelationship(String relationship);
-
- String getToRole();
-
- void setToRole(String toRole);
-
- String getFromRole();
-
- void setFromRole(String fromRole);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java
deleted file mode 100644
index 0d45df0..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Parameter.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm.v3;
-
-public interface Parameter extends org.apache.olingo.odata4.client.api.edm.CommonParameter {
-
- ParameterMode getMode();
-
- void setMode(ParameterMode mode);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ParameterMode.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ParameterMode.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ParameterMode.java
deleted file mode 100644
index 0d81505..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ParameterMode.java
+++ /dev/null
@@ -1,27 +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.odata4.client.api.edm.v3;
-
-public enum ParameterMode {
-
- In,
- Out,
- InOut
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java
deleted file mode 100644
index 042948f..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Property.java
+++ /dev/null
@@ -1,50 +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.odata4.client.api.edm.v3;
-
-import org.apache.olingo.odata4.client.api.edm.CommonProperty;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmContentKind;
-
-public interface Property extends CommonProperty {
-
- String getFcSourcePath();
-
- void setFcSourcePath(String fcSourcePath);
-
- String getFcTargetPath();
-
- void setFcTargetPath(String fcTargetPath);
-
- EdmContentKind getFcContentKind();
-
- void setFcContentKind(EdmContentKind fcContentKind);
-
- String getFcNSPrefix();
-
- void setFcNSPrefix(String fcNSPrefix);
-
- String getFcNSURI();
-
- void setFcNSURI(String fcNSURI);
-
- boolean isFcKeepInContent();
-
- void setFcKeepInContent(boolean fcKeepInContent);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java
deleted file mode 100644
index cc29d03..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/PropertyValue.java
+++ /dev/null
@@ -1,59 +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.odata4.client.api.edm.v3;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-
-public interface PropertyValue {
-
- String getProperty();
-
- void setProperty(String property);
-
- String getPath();
-
- void setPath(String path);
-
- String getString();
-
- void setString(String string);
-
- BigInteger getInt();
-
- void setInt(BigInteger _int);
-
- Double getFloat();
-
- void setFloat(Double _float);
-
- BigDecimal getDecimal();
-
- void setDecimal(BigDecimal decimal);
-
- Boolean getBool();
-
- void setBool(Boolean bool);
-
- Date getDateTime();
-
- void setDateTime(Date dateTime);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java
deleted file mode 100644
index fd2f8a9..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraint.java
+++ /dev/null
@@ -1,30 +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.odata4.client.api.edm.v3;
-
-public interface ReferentialConstraint {
-
- ReferentialConstraintRole getPrincipal();
-
- void setPrincipal(ReferentialConstraintRole principal);
-
- ReferentialConstraintRole getDependent();
-
- void setDependent(ReferentialConstraintRole dependent);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java
deleted file mode 100644
index 0676086..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ReferentialConstraintRole.java
+++ /dev/null
@@ -1,32 +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.odata4.client.api.edm.v3;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.PropertyRef;
-
-public interface ReferentialConstraintRole {
-
- String getRole();
-
- void setRole(final String role);
-
- List<? extends PropertyRef> getPropertyRefs();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java
deleted file mode 100644
index e6344da..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/TypeAnnotation.java
+++ /dev/null
@@ -1,35 +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.odata4.client.api.edm.v3;
-
-import java.util.List;
-
-public interface TypeAnnotation {
-
- String getTerm();
-
- void setTerm(String term);
-
- String getQualifier();
-
- void setQualifier(String qualifier);
-
- List<? extends PropertyValue> getPropertyValues();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java
deleted file mode 100644
index 479f7fe..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/Using.java
+++ /dev/null
@@ -1,31 +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.odata4.client.api.edm.v3;
-
-public interface Using {
-
- String getNamespace();
-
- void setNamespace(String namespace);
-
- String getAlias();
-
- void setAlias(String alias);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java
deleted file mode 100644
index 6068119..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueAnnotation.java
+++ /dev/null
@@ -1,63 +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.odata4.client.api.edm.v3;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-
-public interface ValueAnnotation {
-
- Boolean getBool();
-
- Date getDateTime();
-
- BigDecimal getDecimal();
-
- Double getFloat();
-
- BigInteger getInt();
-
- String getPath();
-
- String getQualifier();
-
- String getString();
-
- String getTerm();
-
- void setBool(Boolean bool);
-
- void setDateTime(Date dateTime);
-
- void setDecimal(BigDecimal decimal);
-
- void setFloat(Double _float);
-
- void setInt(BigInteger _int);
-
- void setPath(String path);
-
- void setQualifier(String qualifier);
-
- void setString(String string);
-
- void setTerm(String term);
-
-}
[06/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
index eed9245..551c4ef 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
@@ -19,6 +19,9 @@
package org.apache.olingo.odata4.client.core.edm.v3;
import org.apache.olingo.odata4.client.core.edm.AbstractEdmType;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.EnumTypeImpl;
public class EdmTypeImpl extends AbstractEdmType {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmxImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmxImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmxImpl.java
deleted file mode 100644
index f0b95cd..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmxImpl.java
+++ /dev/null
@@ -1,32 +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.odata4.client.core.edm.v3;
-
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmx;
-
-public class EdmxImpl extends AbstractEdmx {
-
- private static final long serialVersionUID = -8031883176876401375L;
-
- @Override
- public DataServicesImpl getDataServices() {
- return (DataServicesImpl) super.getDataServices();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityContainerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityContainerImpl.java
deleted file mode 100644
index 66362dd..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityContainerImpl.java
+++ /dev/null
@@ -1,65 +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.odata4.client.core.edm.v3;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntityContainer;
-
-public class EntityContainerImpl extends AbstractEntityContainer {
-
- private static final long serialVersionUID = 8934431875078180370L;
-
- private final List<EntitySetImpl> entitySets = new ArrayList<EntitySetImpl>();
-
- private final List<AssociationSetImpl> associationSets = new ArrayList<AssociationSetImpl>();
-
- private final List<FunctionImportImpl> functionImports = new ArrayList<FunctionImportImpl>();
-
- @Override
- public EntitySetImpl getEntitySet(final String name) {
- return (EntitySetImpl) super.getEntitySet(name);
- }
-
- @Override
- public List<EntitySetImpl> getEntitySets() {
- return entitySets;
- }
-
- public List<AssociationSetImpl> getAssociationSets() {
- return associationSets;
- }
-
- @Override
- public FunctionImportImpl getFunctionImport(final String name) {
- return (FunctionImportImpl) super.getFunctionImport(name);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public List<FunctionImportImpl> getFunctionImports(final String name) {
- return (List<FunctionImportImpl>) super.getFunctionImports(name);
- }
-
- @Override
- public List<FunctionImportImpl> getFunctionImports() {
- return functionImports;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntitySetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntitySetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntitySetImpl.java
deleted file mode 100644
index c5ce28b..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntitySetImpl.java
+++ /dev/null
@@ -1,27 +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.odata4.client.core.edm.v3;
-
-import org.apache.olingo.odata4.client.core.edm.AbstractEntitySet;
-
-public class EntitySetImpl extends AbstractEntitySet {
-
- private static final long serialVersionUID = 5570833733884884012L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityTypeImpl.java
deleted file mode 100644
index 1fc2da2..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EntityTypeImpl.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm.v3;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntityType;
-
-public class EntityTypeImpl extends AbstractEntityType {
-
- private static final long serialVersionUID = 8727765036150269547L;
-
- private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
-
- private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
-
- @Override
- public PropertyImpl getProperty(final String name) {
- return (PropertyImpl) super.getProperty(name);
- }
-
- @Override
- public List<PropertyImpl> getProperties() {
- return properties;
- }
-
- @Override
- public NavigationPropertyImpl getNavigationProperty(final String name) {
- return (NavigationPropertyImpl) super.getNavigationProperty(name);
- }
-
- @Override
- public List<NavigationPropertyImpl> getNavigationProperties() {
- return navigationProperties;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EnumTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EnumTypeImpl.java
deleted file mode 100644
index 16eaf04..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EnumTypeImpl.java
+++ /dev/null
@@ -1,46 +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.odata4.client.core.edm.v3;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.core.edm.AbstractEnumType;
-
-public class EnumTypeImpl extends AbstractEnumType {
-
- private static final long serialVersionUID = 8967396195669128419L;
-
- private final List<MemberImpl> members = new ArrayList<MemberImpl>();
-
- @Override
- public List<MemberImpl> getMembers() {
- return members;
- }
-
- @Override
- public MemberImpl getMember(final String name) {
- return (MemberImpl) super.getMember(name);
- }
-
- @Override
- public MemberImpl getMember(final Integer value) {
- return (MemberImpl) super.getMember(value);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportDeserializer.java
deleted file mode 100644
index 3c5ba25..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportDeserializer.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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class FunctionImportDeserializer extends AbstractEdmDeserializer<FunctionImportImpl> {
-
- @Override
- protected FunctionImportImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final FunctionImportImpl funcImp = new FunctionImportImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- funcImp.setName(jp.nextTextValue());
- } else if ("ReturnType".equals(jp.getCurrentName())) {
- funcImp.setReturnType(jp.nextTextValue());
- } else if ("EntitySet".equals(jp.getCurrentName())) {
- funcImp.setEntitySet(jp.nextTextValue());
- } else if ("EntitySetPath".equals(jp.getCurrentName())) {
- funcImp.setEntitySetPath(jp.nextTextValue());
- } else if ("IsComposable".equals(jp.getCurrentName())) {
- funcImp.setComposable(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("IsSideEffecting".equals(jp.getCurrentName())) {
- funcImp.setSideEffecting(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("IsBindable".equals(jp.getCurrentName())) {
- funcImp.setBindable(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("IsAlwaysBindable".equals(jp.getCurrentName())) {
- funcImp.setAlwaysBindable(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("HttpMethod".equals(jp.getCurrentName())) {
- funcImp.setHttpMethod(jp.nextTextValue());
- } else if ("Parameter".equals(jp.getCurrentName())) {
- jp.nextToken();
- funcImp.getParameters().add(jp.readValueAs( ParameterImpl.class));
- }
- }
- }
-
- return funcImp;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportImpl.java
deleted file mode 100644
index 621e919..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/FunctionImportImpl.java
+++ /dev/null
@@ -1,146 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v3.FunctionImport;
-
-@JsonDeserialize(using = FunctionImportDeserializer.class)
-public class FunctionImportImpl implements FunctionImport {
-
- private static final long serialVersionUID = -6214472528425935461L;
-
- private String name;
-
- private String returnType;
-
- private String entitySet;
-
- private String entitySetPath;
-
- private boolean composable;
-
- private boolean sideEffecting = true;
-
- private boolean bindable;
-
- private boolean alwaysBindable;
-
- private String httpMethod;
-
- private final List<ParameterImpl> parameters = new ArrayList<ParameterImpl>();
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getReturnType() {
- return returnType;
- }
-
- @Override
- public void setReturnType(final String returnType) {
- this.returnType = returnType;
- }
-
- @Override
- public String getEntitySet() {
- return entitySet;
- }
-
- @Override
- public void setEntitySet(final String entitySet) {
- this.entitySet = entitySet;
- }
-
- @Override
- public String getEntitySetPath() {
- return entitySetPath;
- }
-
- @Override
- public void setEntitySetPath(final String entitySetPath) {
- this.entitySetPath = entitySetPath;
- }
-
- @Override
- public boolean isComposable() {
- return composable;
- }
-
- @Override
- public void setComposable(final boolean composable) {
- this.composable = composable;
- }
-
- @Override
- public boolean isSideEffecting() {
- return sideEffecting;
- }
-
- @Override
- public void setSideEffecting(final boolean sideEffecting) {
- this.sideEffecting = sideEffecting;
- }
-
- @Override
- public boolean isBindable() {
- return bindable;
- }
-
- @Override
- public void setBindable(final boolean bindable) {
- this.bindable = bindable;
- }
-
- @Override
- public boolean isAlwaysBindable() {
- return alwaysBindable;
- }
-
- @Override
- public void setAlwaysBindable(final boolean alwaysBindable) {
- this.alwaysBindable = alwaysBindable;
- }
-
- @Override
- public String getHttpMethod() {
- return httpMethod;
- }
-
- @Override
- public void setHttpMethod(final String httpMethod) {
- this.httpMethod = httpMethod;
- }
-
- @Override
- public List<ParameterImpl> getParameters() {
- return parameters;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/MemberImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/MemberImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/MemberImpl.java
deleted file mode 100644
index 64ed274..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/MemberImpl.java
+++ /dev/null
@@ -1,27 +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.odata4.client.core.edm.v3;
-
-import org.apache.olingo.odata4.client.core.edm.AbstractMember;
-
-public class MemberImpl extends AbstractMember {
-
- private static final long serialVersionUID = 6605381518349837929L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/NavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/NavigationPropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/NavigationPropertyImpl.java
deleted file mode 100644
index 1371177..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/NavigationPropertyImpl.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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v3.NavigationProperty;
-import org.apache.olingo.odata4.client.core.edm.AbstractNavigationProperty;
-
-public class NavigationPropertyImpl extends AbstractNavigationProperty implements NavigationProperty {
-
- private static final long serialVersionUID = -2889417442815563307L;
-
- @JsonProperty(value = "Relationship", required = true)
- private String relationship;
-
- @JsonProperty(value = "ToRole", required = true)
- private String toRole;
-
- @JsonProperty(value = "FromRole", required = true)
- private String fromRole;
-
- @Override
- public String getRelationship() {
- return relationship;
- }
-
- @Override
- public void setRelationship(final String relationship) {
- this.relationship = relationship;
- }
-
- @Override
- public String getToRole() {
- return toRole;
- }
-
- @Override
- public void setToRole(final String toRole) {
- this.toRole = toRole;
- }
-
- @Override
- public String getFromRole() {
- return fromRole;
- }
-
- @Override
- public void setFromRole(final String fromRole) {
- this.fromRole = fromRole;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ParameterImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ParameterImpl.java
deleted file mode 100644
index cf3d96e..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ParameterImpl.java
+++ /dev/null
@@ -1,43 +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.odata4.client.core.edm.v3;
-
-import org.apache.olingo.odata4.client.api.edm.v3.ParameterMode;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v3.Parameter;
-import org.apache.olingo.odata4.client.core.edm.AbstractParameter;
-
-public class ParameterImpl extends AbstractParameter implements Parameter {
-
- private static final long serialVersionUID = 7596724999614891358L;
-
- @JsonProperty("Mode")
- private ParameterMode mode;
-
- @Override
- public ParameterMode getMode() {
- return mode;
- }
-
- @Override
- public void setMode(final ParameterMode mode) {
- this.mode = mode;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyImpl.java
deleted file mode 100644
index b90f4b9..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyImpl.java
+++ /dev/null
@@ -1,96 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v3.Property;
-import org.apache.olingo.odata4.client.core.edm.AbstractProperty;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmContentKind;
-
-public class PropertyImpl extends AbstractProperty implements Property {
-
- private static final long serialVersionUID = 6224524803474652100L;
-
- @JsonProperty("FC_SourcePath")
- private String fcSourcePath;
-
- @JsonProperty("FC_TargetPath")
- private String fcTargetPath;
-
- @JsonProperty("FC_ContentKind")
- private EdmContentKind fcContentKind = EdmContentKind.text;
-
- @JsonProperty("FC_NsPrefix")
- private String fcNSPrefix;
-
- @JsonProperty("FC_NsUri")
- private String fcNSURI;
-
- @JsonProperty("FC_KeepInContent")
- private boolean fcKeepInContent = true;
-
- public String getFcSourcePath() {
- return fcSourcePath;
- }
-
- public void setFcSourcePath(final String fcSourcePath) {
- this.fcSourcePath = fcSourcePath;
- }
-
- public String getFcTargetPath() {
- return fcTargetPath;
- }
-
- public void setFcTargetPath(final String fcTargetPath) {
- this.fcTargetPath = fcTargetPath;
- }
-
- public EdmContentKind getFcContentKind() {
- return fcContentKind;
- }
-
- public void setFcContentKind(final EdmContentKind fcContentKind) {
- this.fcContentKind = fcContentKind;
- }
-
- public String getFcNSPrefix() {
- return fcNSPrefix;
- }
-
- public void setFcNSPrefix(final String fcNSPrefix) {
- this.fcNSPrefix = fcNSPrefix;
- }
-
- public String getFcNSURI() {
- return fcNSURI;
- }
-
- public void setFcNSURI(final String fcNSURI) {
- this.fcNSURI = fcNSURI;
- }
-
- public boolean isFcKeepInContent() {
- return fcKeepInContent;
- }
-
- public void setFcKeepInContent(final boolean fcKeepInContent) {
- this.fcKeepInContent = fcKeepInContent;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyValueImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyValueImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyValueImpl.java
deleted file mode 100644
index 0d8b5d7..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/PropertyValueImpl.java
+++ /dev/null
@@ -1,135 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-import org.apache.olingo.odata4.client.api.edm.v3.PropertyValue;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class PropertyValueImpl extends AbstractEdmItem implements PropertyValue {
-
- private static final long serialVersionUID = -6580934436491418564L;
-
- @JsonProperty(value = "Property", required = true)
- private String property;
-
- @JsonProperty("Path")
- private String path;
-
- @JsonProperty("String")
- private String string;
-
- @JsonProperty("Int")
- private BigInteger _int;
-
- @JsonProperty("Float")
- private Double _float;
-
- @JsonProperty("Decimal")
- private BigDecimal decimal;
-
- @JsonProperty("Bool")
- private Boolean bool;
-
- @JsonProperty("DateTime")
- private Date dateTime;
-
- @Override
- public String getProperty() {
- return property;
- }
-
- @Override
- public void setProperty(final String property) {
- this.property = property;
- }
-
- @Override
- public String getPath() {
- return path;
- }
-
- @Override
- public void setPath(final String path) {
- this.path = path;
- }
-
- @Override
- public String getString() {
- return string;
- }
-
- @Override
- public void setString(final String string) {
- this.string = string;
- }
-
- @Override
- public BigInteger getInt() {
- return _int;
- }
-
- @Override
- public void setInt(final BigInteger _int) {
- this._int = _int;
- }
-
- @Override
- public Double getFloat() {
- return _float;
- }
-
- @Override
- public void setFloat(final Double _float) {
- this._float = _float;
- }
-
- @Override
- public BigDecimal getDecimal() {
- return decimal;
- }
-
- @Override
- public void setDecimal(final BigDecimal decimal) {
- this.decimal = decimal;
- }
-
- @Override
- public Boolean getBool() {
- return bool;
- }
-
- @Override
- public void setBool(final Boolean bool) {
- this.bool = bool;
- }
-
- @Override
- public Date getDateTime() {
- return dateTime;
- }
-
- @Override
- public void setDateTime(final Date dateTime) {
- this.dateTime = dateTime;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintImpl.java
deleted file mode 100644
index a399c2f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintImpl.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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v3.ReferentialConstraint;
-import org.apache.olingo.odata4.client.api.edm.v3.ReferentialConstraintRole;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class ReferentialConstraintImpl extends AbstractEdmItem implements ReferentialConstraint {
-
- private static final long serialVersionUID = 9067893732765127269L;
-
- @JsonProperty(value = "Principal", required = true)
- private ReferentialConstraintRoleImpl principal;
-
- @JsonProperty(value = "Dependent", required = true)
- private ReferentialConstraintRoleImpl dependent;
-
- @Override
- public ReferentialConstraintRoleImpl getPrincipal() {
- return principal;
- }
-
- @JsonIgnore
- @Override
- public void setPrincipal(final ReferentialConstraintRole principal) {
- this.principal = (ReferentialConstraintRoleImpl) principal;
- }
-
- @Override
- public ReferentialConstraintRoleImpl getDependent() {
- return dependent;
- }
-
- @JsonIgnore
- @Override
- public void setDependent(final ReferentialConstraintRole dependent) {
- this.dependent = (ReferentialConstraintRoleImpl) dependent;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleDeserializer.java
deleted file mode 100644
index e09e94e..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleDeserializer.java
+++ /dev/null
@@ -1,51 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.PropertyRefImpl;
-
-public class ReferentialConstraintRoleDeserializer extends AbstractEdmDeserializer<ReferentialConstraintRoleImpl> {
-
- @Override
- protected ReferentialConstraintRoleImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final ReferentialConstraintRoleImpl refConstRole = new ReferentialConstraintRoleImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Role".equals(jp.getCurrentName())) {
- refConstRole.setRole(jp.nextTextValue());
- } else if ("PropertyRef".equals(jp.getCurrentName())) {
- jp.nextToken();
- refConstRole.getPropertyRefs().add(jp.readValueAs( PropertyRefImpl.class));
- }
- }
- }
-
- return refConstRole;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleImpl.java
deleted file mode 100644
index bb2e0f2..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ReferentialConstraintRoleImpl.java
+++ /dev/null
@@ -1,50 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v3.ReferentialConstraintRole;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-import org.apache.olingo.odata4.client.core.edm.PropertyRefImpl;
-
-@JsonDeserialize(using = ReferentialConstraintRoleDeserializer.class)
-public class ReferentialConstraintRoleImpl extends AbstractEdmItem implements ReferentialConstraintRole {
-
- private static final long serialVersionUID = -3712887115248634164L;
-
- private String role;
-
- private List<PropertyRefImpl> propertyRefs = new ArrayList<PropertyRefImpl>();
-
- @Override
- public String getRole() {
- return role;
- }
-
- @Override
- public void setRole(final String role) {
- this.role = role;
- }
-
- public List<PropertyRefImpl> getPropertyRefs() {
- return propertyRefs;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/SchemaImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/SchemaImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/SchemaImpl.java
deleted file mode 100644
index 8ff28ca..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/SchemaImpl.java
+++ /dev/null
@@ -1,129 +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.odata4.client.core.edm.v3;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Schema;
-import org.apache.olingo.odata4.client.core.edm.AbstractSchema;
-
-public class SchemaImpl extends AbstractSchema implements Schema {
-
- private static final long serialVersionUID = 4453992249818796144L;
-
- private final List<AnnotationsImpl> annotationList = new ArrayList<AnnotationsImpl>();
-
- private final List<AssociationImpl> associations = new ArrayList<AssociationImpl>();
-
- private final List<ComplexTypeImpl> complexTypes = new ArrayList<ComplexTypeImpl>();
-
- private final List<EntityContainerImpl> entityContainers = new ArrayList<EntityContainerImpl>();
-
- private final List<EntityTypeImpl> entityTypes = new ArrayList<EntityTypeImpl>();
-
- private final List<EnumTypeImpl> enumTypes = new ArrayList<EnumTypeImpl>();
-
- private final List<UsingImpl> usings = new ArrayList<UsingImpl>();
-
- private final List<ValueTermImpl> valueTerms = new ArrayList<ValueTermImpl>();
-
- public AssociationImpl getAssociation(final String name) {
- return getOneByName(name, getAssociations());
- }
-
- @Override
- public List<AnnotationsImpl> getAnnotationsList() {
- return annotationList;
- }
-
- @Override
- public AnnotationsImpl getAnnotationsList(final String target) {
- AnnotationsImpl result = null;
- for (AnnotationsImpl annots : getAnnotationsList()) {
- if (target.equals(annots.getTarget())) {
- result = annots;
- }
- }
- return result;
- }
-
- public List<AssociationImpl> getAssociations() {
- return associations;
- }
-
- public List<UsingImpl> getUsings() {
- return usings;
- }
-
- public List<ValueTermImpl> getValueTerms() {
- return valueTerms;
- }
-
- @Override
- public List<EntityContainerImpl> getEntityContainers() {
- return entityContainers;
- }
-
- @Override
- public EntityContainerImpl getDefaultEntityContainer() {
- EntityContainerImpl result = null;
- for (EntityContainerImpl container : getEntityContainers()) {
- if (container.isDefaultEntityContainer()) {
- result = container;
- }
- }
- return result;
- }
-
- @Override
- public EntityContainerImpl getEntityContainer(final String name) {
- return getOneByName(name, getEntityContainers());
- }
-
- @Override
- public EnumTypeImpl getEnumType(final String name) {
- return (EnumTypeImpl) super.getEnumType(name);
- }
-
- @Override
- public List<EnumTypeImpl> getEnumTypes() {
- return enumTypes;
- }
-
- @Override
- public ComplexTypeImpl getComplexType(final String name) {
- return (ComplexTypeImpl) super.getComplexType(name);
- }
-
- @Override
- public List<ComplexTypeImpl> getComplexTypes() {
- return complexTypes;
- }
-
- @Override
- public EntityTypeImpl getEntityType(final String name) {
- return (EntityTypeImpl) super.getEntityType(name);
- }
-
- @Override
- public List<EntityTypeImpl> getEntityTypes() {
- return entityTypes;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationDeserializer.java
deleted file mode 100644
index 0e873dd..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationDeserializer.java
+++ /dev/null
@@ -1,52 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class TypeAnnotationDeserializer extends AbstractEdmDeserializer<TypeAnnotationImpl> {
-
- @Override
- protected TypeAnnotationImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final TypeAnnotationImpl typeAnnot = new TypeAnnotationImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Term".equals(jp.getCurrentName())) {
- typeAnnot.setTerm(jp.nextTextValue());
- } else if ("Qualifier".equals(jp.getCurrentName())) {
- typeAnnot.setQualifier(jp.nextTextValue());
- } else if ("PropertyValue".equals(jp.getCurrentName())) {
- jp.nextToken();
- typeAnnot.getPropertyValues().add(jp.readValueAs( PropertyValueImpl.class));
- }
- }
- }
-
- return typeAnnot;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationImpl.java
deleted file mode 100644
index a2cb890..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/TypeAnnotationImpl.java
+++ /dev/null
@@ -1,63 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v3.TypeAnnotation;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-@JsonDeserialize(using = TypeAnnotationDeserializer.class)
-public class TypeAnnotationImpl extends AbstractEdmItem implements TypeAnnotation {
-
- private static final long serialVersionUID = -7585489230017331877L;
-
- private String term;
-
- private String qualifier;
-
- private List<PropertyValueImpl> propertyValues = new ArrayList<PropertyValueImpl>();
-
- @Override
- public String getTerm() {
- return term;
- }
-
- @Override
- public void setTerm(final String term) {
- this.term = term;
- }
-
- @Override
- public String getQualifier() {
- return qualifier;
- }
-
- @Override
- public void setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- }
-
- @Override
- public List<PropertyValueImpl> getPropertyValues() {
- return propertyValues;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/UsingImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/UsingImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/UsingImpl.java
deleted file mode 100644
index 6d91ccf..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/UsingImpl.java
+++ /dev/null
@@ -1,54 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v3.Using;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class UsingImpl extends AbstractEdmItem implements Using {
-
- private static final long serialVersionUID = 2086957510154443445L;
-
- @JsonProperty(value = "Namespace", required = true)
- private String namespace;
-
- @JsonProperty("Alias")
- private String alias;
-
- @Override
- public String getNamespace() {
- return namespace;
- }
-
- @Override
- public void setNamespace(final String namespace) {
- this.namespace = namespace;
- }
-
- @Override
- public String getAlias() {
- return alias;
- }
-
- @Override
- public void setAlias(final String alias) {
- this.alias = alias;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueAnnotationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueAnnotationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueAnnotationImpl.java
deleted file mode 100644
index 5cdd020..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueAnnotationImpl.java
+++ /dev/null
@@ -1,148 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-import org.apache.olingo.odata4.client.api.edm.v3.ValueAnnotation;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class ValueAnnotationImpl extends AbstractEdmItem implements ValueAnnotation {
-
- private static final long serialVersionUID = -1826414005417952278L;
-
- @JsonProperty(value = "Term", required = true)
- private String term;
-
- @JsonProperty("Qualifier")
- private String qualifier;
-
- @JsonProperty("Path")
- private String path;
-
- @JsonProperty("String")
- private String string;
-
- @JsonProperty("Int")
- private BigInteger _int;
-
- @JsonProperty("Float")
- private Double _float;
-
- @JsonProperty("Decimal")
- private BigDecimal decimal;
-
- @JsonProperty("Bool")
- private Boolean bool;
-
- @JsonProperty("DateTime")
- private Date dateTime;
-
- @Override
- public String getTerm() {
- return term;
- }
-
- @Override
- public void setTerm(final String term) {
- this.term = term;
- }
-
- @Override
- public String getQualifier() {
- return qualifier;
- }
-
- @Override
- public void setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- }
-
- @Override
- public String getPath() {
- return path;
- }
-
- @Override
- public void setPath(final String path) {
- this.path = path;
- }
-
- @Override
- public String getString() {
- return string;
- }
-
- @Override
- public void setString(final String string) {
- this.string = string;
- }
-
- @Override
- public BigInteger getInt() {
- return _int;
- }
-
- @Override
- public void setInt(final BigInteger _int) {
- this._int = _int;
- }
-
- @Override
- public Double getFloat() {
- return _float;
- }
-
- @Override
- public void setFloat(final Double _float) {
- this._float = _float;
- }
-
- @Override
- public BigDecimal getDecimal() {
- return decimal;
- }
-
- @Override
- public void setDecimal(final BigDecimal decimal) {
- this.decimal = decimal;
- }
-
- @Override
- public Boolean getBool() {
- return bool;
- }
-
- @Override
- public void setBool(final Boolean bool) {
- this.bool = bool;
- }
-
- @Override
- public Date getDateTime() {
- return dateTime == null ? null : new Date(dateTime.getTime());
- }
-
- @Override
- public void setDateTime(final Date dateTime) {
- this.dateTime = dateTime == null ? null : new Date(dateTime.getTime());
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueTermImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueTermImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueTermImpl.java
deleted file mode 100644
index 3509bf3..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/ValueTermImpl.java
+++ /dev/null
@@ -1,54 +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.odata4.client.core.edm.v3;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v3.ValueTerm;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class ValueTermImpl extends AbstractEdmItem implements ValueTerm {
-
- private static final long serialVersionUID = 6149019886137610604L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty(value = "Type", required = true)
- private String type;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AbstractAnnotatedEdmItem.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AbstractAnnotatedEdmItem.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AbstractAnnotatedEdmItem.java
deleted file mode 100644
index 93ea7bc..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AbstractAnnotatedEdmItem.java
+++ /dev/null
@@ -1,45 +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.odata4.client.core.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.v4.AnnotatedEdmItem;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public abstract class AbstractAnnotatedEdmItem extends AbstractEdmItem implements AnnotatedEdmItem {
-
- private static final long serialVersionUID = -8859729466090997718L;
-
- @JsonProperty("Annotation")
- private AnnotationImpl annotation;
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @JsonIgnore
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionDeserializer.java
deleted file mode 100644
index 3cf779f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionDeserializer.java
+++ /dev/null
@@ -1,60 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class ActionDeserializer extends AbstractEdmDeserializer<ActionImpl> {
-
- @Override
- protected ActionImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- 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.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return action;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImpl.java
deleted file mode 100644
index 0022555..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImpl.java
+++ /dev/null
@@ -1,92 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Action;
-import org.apache.olingo.odata4.client.api.edm.v4.ReturnType;
-
-@JsonDeserialize(using = ActionDeserializer.class)
-public class ActionImpl extends AbstractAnnotatedEdmItem implements Action {
-
- private static final long serialVersionUID = -99977447455438193L;
-
- private String name;
-
- private boolean bound = false;
-
- private String entitySetPath;
-
- private final List<ParameterImpl> parameters = new ArrayList<ParameterImpl>();
-
- private ReturnTypeImpl returnType;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public boolean isBound() {
- return bound;
- }
-
- @Override
- public void setBound(final boolean bound) {
- this.bound = bound;
- }
-
- @Override
- public String getEntitySetPath() {
- return entitySetPath;
- }
-
- @Override
- public void setEntitySetPath(final String entitySetPath) {
- this.entitySetPath = entitySetPath;
- }
-
- @Override
- public ParameterImpl getParameter(final String name) {
- return getOneByName(name, getParameters());
- }
-
- @Override
- public List<ParameterImpl> getParameters() {
- return parameters;
- }
-
- @Override
- public ReturnTypeImpl getReturnType() {
- return returnType;
- }
-
- @Override
- public void setReturnType(final ReturnType returnType) {
- this.returnType = (ReturnTypeImpl) returnType;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImportImpl.java
deleted file mode 100644
index 0eaea3e..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ActionImportImpl.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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.ActionImport;
-
-public class ActionImportImpl extends AbstractAnnotatedEdmItem implements ActionImport {
-
- private static final long serialVersionUID = -866422101558426421L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty(value = "Action", required = true)
- private String action;
-
- @JsonProperty(value = "EntitySet")
- private String entitySet;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getAction() {
- return action;
- }
-
- @Override
- public void setAction(final String action) {
- this.action = action;
- }
-
- @Override
- public String getEntitySet() {
- return entitySet;
- }
-
- @Override
- public void setEntitySet(final String entitySet) {
- this.entitySet = entitySet;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationDeserializer.java
deleted file mode 100644
index 0b318ee..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationDeserializer.java
+++ /dev/null
@@ -1,57 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.DynExprConstructImpl;
-
-public class AnnotationDeserializer extends AbstractEdmDeserializer<AnnotationImpl> {
-
- @Override
- protected AnnotationImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- 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 (isAnnotationConstExprConstruct(jp)) {
- // Constant Expressions
- annotation.setConstExpr(parseAnnotationConstExprConstruct(jp));
- } else {
- // Dynamic Expressions
- annotation.setDynExpr(jp.readValueAs( DynExprConstructImpl.class));
- }
- }
- }
-
- return annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationImpl.java
deleted file mode 100644
index 2f5fc5f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationImpl.java
+++ /dev/null
@@ -1,82 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ConstExprConstruct;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.ConstExprConstructImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.DynExprConstructImpl;
-
-@JsonDeserialize(using = AnnotationDeserializer.class)
-public class AnnotationImpl extends AbstractEdmItem implements Annotation {
-
- private static final long serialVersionUID = -5600031479702563436L;
-
- private String term;
-
- private String qualifier;
-
- private ConstExprConstructImpl constExpr;
-
- private DynExprConstructImpl dynExpr;
-
- @Override
- public String getTerm() {
- return term;
- }
-
- @Override
- public void setTerm(final String term) {
- this.term = term;
- }
-
- @Override
- public String getQualifier() {
- return qualifier;
- }
-
- @Override
- public void setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- }
-
- @Override
- public ConstExprConstructImpl getConstExpr() {
- return constExpr;
- }
-
- @Override
- public void setConstExpr(final ConstExprConstruct constExpr) {
- this.constExpr = (ConstExprConstructImpl) constExpr;
- }
-
- @Override
- public DynExprConstructImpl getDynExpr() {
- return dynExpr;
- }
-
- @Override
- public void setDynExpr(final DynExprConstruct dynExpr) {
- this.dynExpr = (DynExprConstructImpl) dynExpr;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsDeserializer.java
deleted file mode 100644
index ccca440..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsDeserializer.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class AnnotationsDeserializer extends AbstractEdmDeserializer<AnnotationsImpl> {
-
- @Override
- protected AnnotationsImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final AnnotationsImpl annotations = new AnnotationsImpl();
-
- for (; 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/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsImpl.java
deleted file mode 100644
index b89b533..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/AnnotationsImpl.java
+++ /dev/null
@@ -1,49 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotations;
-import org.apache.olingo.odata4.client.core.edm.AbstractAnnotations;
-
-@JsonDeserialize(using = AnnotationsDeserializer.class)
-public class AnnotationsImpl extends AbstractAnnotations implements Annotations {
-
- private static final long serialVersionUID = 3877353656301805410L;
-
- private final List<AnnotationImpl> annotations = new ArrayList<AnnotationImpl>();
-
- @Override
- public List<AnnotationImpl> getAnnotations() {
- return annotations;
- }
-
- @Override
- public AnnotationImpl getAnnotation(final String term) {
- AnnotationImpl result = null;
- for (AnnotationImpl annotation : getAnnotations()) {
- if (term.equals(annotation.getTerm())) {
- result = annotation;
- }
- }
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ComplexTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ComplexTypeImpl.java
deleted file mode 100644
index 8242330..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ComplexTypeImpl.java
+++ /dev/null
@@ -1,103 +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.odata4.client.core.edm.v4;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.ComplexType;
-import org.apache.olingo.odata4.client.core.edm.AbstractComplexType;
-
-public class ComplexTypeImpl extends AbstractComplexType implements ComplexType {
-
- private static final long serialVersionUID = -1251230308269425962L;
-
- private boolean abstractEntityType = false;
-
- private String baseType;
-
- private boolean openType = false;
-
- private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
-
- private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
-
- private AnnotationImpl annotation;
-
- @Override
- public boolean isAbstractEntityType() {
- return abstractEntityType;
- }
-
- @Override
- public void setAbstractEntityType(final boolean abstractEntityType) {
- this.abstractEntityType = abstractEntityType;
- }
-
- @Override
- public String getBaseType() {
- return baseType;
- }
-
- @Override
- public void setBaseType(final String baseType) {
- this.baseType = baseType;
- }
-
- @Override
- public boolean isOpenType() {
- return openType;
- }
-
- @Override
- public void setOpenType(final boolean openType) {
- this.openType = openType;
- }
-
- @Override
- public PropertyImpl getProperty(final String name) {
- return (PropertyImpl) super.getProperty(name);
- }
-
- @Override
- public List<PropertyImpl> getProperties() {
- return properties;
- }
-
- @Override
- public NavigationPropertyImpl getNavigationProperty(String name) {
- return (NavigationPropertyImpl) super.getNavigationProperty(name);
- }
-
- @Override
- public List<NavigationPropertyImpl> getNavigationProperties() {
- return navigationProperties;
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
[11/22] White noise: formatting
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/04855436/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v3/metadata.xml
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v3/metadata.xml b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v3/metadata.xml
index 5dbb9fc..707d7d7 100644
--- a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v3/metadata.xml
+++ b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v3/metadata.xml
@@ -19,4 +19,703 @@
under the License.
-->
-<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"><edmx:DataServices m:DataServiceVersion="3.0" m:MaxDataServiceVersion="3.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><Schema Namespace="Microsoft.Test.OData.Services.AstoriaDefaultService" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"><EntityType Name="AllSpatialTypes"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" /><Property Name="Geog" Type="Edm.Geography" SRID="Variable" /><Property Name="GeogPoint" Type="Edm.GeographyPoint" SRID="Variable" /><Property Name="GeogLine" Type="Edm.GeographyLineString" SRID="Variable" /><Property Name="GeogPolygon" Type="Edm.GeographyPolygon" SRID="Variable" /><Property Name="GeogCollection" Type="Edm.GeographyCollection" SRID="Variable" /><Property Name="GeogMultiPoint" Type="Edm.GeographyMultiPoint" SRID="Variable" /><Property Name="GeogMultiLine" Type="Edm.GeographyMultiLineString" S
RID="Variable" /><Property Name="GeogMultiPolygon" Type="Edm.GeographyMultiPolygon" SRID="Variable" /><Property Name="Geom" Type="Edm.Geometry" SRID="Variable" /><Property Name="GeomPoint" Type="Edm.GeometryPoint" SRID="Variable" /><Property Name="GeomLine" Type="Edm.GeometryLineString" SRID="Variable" /><Property Name="GeomPolygon" Type="Edm.GeometryPolygon" SRID="Variable" /><Property Name="GeomCollection" Type="Edm.GeometryCollection" SRID="Variable" /><Property Name="GeomMultiPoint" Type="Edm.GeometryMultiPoint" SRID="Variable" /><Property Name="GeomMultiLine" Type="Edm.GeometryMultiLineString" SRID="Variable" /><Property Name="GeomMultiPolygon" Type="Edm.GeometryMultiPolygon" SRID="Variable" /></EntityType><EntityType Name="AllSpatialCollectionTypes" Abstract="true"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" /></EntityType><EntityType Name="Customer"><Key><PropertyRef Name="CustomerId" /></Key><Property Name="Thumbnail" Type="Edm.S
tream" Nullable="false" /><Property Name="Video" Type="Edm.Stream" Nullable="false" /><Property Name="CustomerId" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" m:FC_TargetPath="SyndicationSummary" m:FC_ContentKind="text" m:FC_KeepInContent="false" /><Property Name="PrimaryContactInfo" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails" /><Property Name="BackupContactInfo" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails)" Nullable="false" /><Property Name="Auditing" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo" /><NavigationProperty Name="Orders" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Orders" ToRole="Orders" FromRole="Customer" /><NavigationProperty Name="Logins" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Logins" ToRole="Logins" FromRole="Customer" /><NavigationProperty Name="Husband" Relationship="Microsoft
.Test.OData.Services.AstoriaDefaultService.Customer_Husband" ToRole="Husband" FromRole="Customer" /><NavigationProperty Name="Wife" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Wife" ToRole="Wife" FromRole="Customer" /><NavigationProperty Name="Info" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Info" ToRole="Info" FromRole="Customer" /></EntityType><EntityType Name="Login"><Key><PropertyRef Name="Username" /></Key><Property Name="Username" Type="Edm.String" Nullable="false" /><Property Name="CustomerId" Type="Edm.Int32" Nullable="false" /><NavigationProperty Name="Customer" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Customer" ToRole="Customer" FromRole="Login" /><NavigationProperty Name="LastLogin" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_LastLogin" ToRole="LastLogin" FromRole="Login" /><NavigationProperty Name="SentMessages" Relationship="Microsoft.Test.OData.Serv
ices.AstoriaDefaultService.Login_SentMessages" ToRole="SentMessages" FromRole="Login" /><NavigationProperty Name="ReceivedMessages" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_ReceivedMessages" ToRole="ReceivedMessages" FromRole="Login" /><NavigationProperty Name="Orders" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Orders" ToRole="Orders" FromRole="Login" /></EntityType><EntityType Name="RSAToken"><Key><PropertyRef Name="Serial" /></Key><Property Name="Serial" Type="Edm.String" Nullable="false" /><Property Name="Issued" Type="Edm.DateTime" Nullable="false" /><NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.RSAToken_Login" ToRole="Login" FromRole="RSAToken" /></EntityType><EntityType Name="PageView"><Key><PropertyRef Name="PageViewId" /></Key><Property Name="PageViewId" Type="Edm.Int32" Nullable="false" /><Property Name="Username" Type="Edm.String" /><Property Name="Viewed" Type=
"Edm.DateTimeOffset" Nullable="false" /><Property Name="TimeSpentOnPage" Type="Edm.Time" Nullable="false" /><Property Name="PageUrl" Type="Edm.String" /><NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView_Login" ToRole="Login" FromRole="PageView" /></EntityType><EntityType Name="LastLogin"><Key><PropertyRef Name="Username" /></Key><Property Name="Username" Type="Edm.String" Nullable="false" /><Property Name="LoggedIn" Type="Edm.DateTime" Nullable="false" /><Property Name="LoggedOut" Type="Edm.DateTime" /><Property Name="Duration" Type="Edm.Time" Nullable="false" /><NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin_Login" ToRole="Login" FromRole="LastLogin" /></EntityType><EntityType Name="Message"><Key><PropertyRef Name="FromUsername" /><PropertyRef Name="MessageId" /></Key><Property Name="MessageId" Type="Edm.Int32" Nullable="false" /><Property Name="FromUsername" Type=
"Edm.String" Nullable="false" /><Property Name="ToUsername" Type="Edm.String" /><Property Name="Sent" Type="Edm.DateTimeOffset" Nullable="false" m:FC_TargetPath="SyndicationPublished" m:FC_ContentKind="text" m:FC_KeepInContent="true" /><Property Name="Subject" Type="Edm.String" m:FC_TargetPath="SyndicationTitle" m:FC_ContentKind="text" m:FC_KeepInContent="true" /><Property Name="Body" Type="Edm.String" /><Property Name="IsRead" Type="Edm.Boolean" Nullable="false" /><NavigationProperty Name="Sender" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Sender" ToRole="Sender" FromRole="Message" /><NavigationProperty Name="Recipient" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Recipient" ToRole="Recipient" FromRole="Message" /><NavigationProperty Name="Attachments" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Attachments" ToRole="Attachments" FromRole="Message" /></EntityType><EntityType Name="MessageAttach
ment"><Key><PropertyRef Name="AttachmentId" /></Key><Property Name="AttachmentId" Type="Edm.Guid" Nullable="false" /><Property Name="Attachment" Type="Edm.Binary" /></EntityType><EntityType Name="Order"><Key><PropertyRef Name="OrderId" /></Key><Property Name="OrderId" Type="Edm.Int32" Nullable="false" /><Property Name="CustomerId" Type="Edm.Int32" /><Property Name="Concurrency" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo" /><NavigationProperty Name="Customer" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Order_Customer" ToRole="Customer" FromRole="Order" /><NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Order_Login" ToRole="Login" FromRole="Order" /></EntityType><EntityType Name="OrderLine"><Key><PropertyRef Name="OrderId" /><PropertyRef Name="ProductId" /></Key><Property Name="OrderLineStream" Type="Edm.Stream" Nullable="false" /><Property Name="OrderId" Type="Edm.Int32" Nullable="f
alse" /><Property Name="ProductId" Type="Edm.Int32" Nullable="false" /><Property Name="Quantity" Type="Edm.Int32" Nullable="false" /><Property Name="ConcurrencyToken" Type="Edm.String" ConcurrencyMode="Fixed" /><NavigationProperty Name="Order" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine_Order" ToRole="Order" FromRole="OrderLine" /><NavigationProperty Name="Product" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine_Product" ToRole="Product" FromRole="OrderLine" /></EntityType><EntityType Name="Product"><Key><PropertyRef Name="ProductId" /></Key><Property Name="Picture" Type="Edm.Stream" Nullable="false" /><Property Name="ProductId" Type="Edm.Int32" Nullable="false" /><Property Name="Description" Type="Edm.String" /><Property Name="Dimensions" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions" /><Property Name="BaseConcurrency" Type="Edm.String" ConcurrencyMode="Fixed" /><Property Name="ComplexConcurrency" Ty
pe="Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo" /><Property Name="NestedComplexConcurrency" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo" /><NavigationProperty Name="RelatedProducts" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_RelatedProducts" ToRole="RelatedProducts" FromRole="Product" /><NavigationProperty Name="Detail" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Detail" ToRole="Detail" FromRole="Product" /><NavigationProperty Name="Reviews" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Reviews" ToRole="Reviews" FromRole="Product" /><NavigationProperty Name="Photos" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Photos" ToRole="Photos" FromRole="Product" /></EntityType><EntityType Name="ProductDetail"><Key><PropertyRef Name="ProductId" /></Key><Property Name="ProductId" Type="Edm.Int32" Nullable="false" /><Property Name=
"Details" Type="Edm.String" /><NavigationProperty Name="Product" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail_Product" ToRole="Product" FromRole="ProductDetail" /></EntityType><EntityType Name="ProductReview"><Key><PropertyRef Name="ProductId" /><PropertyRef Name="ReviewId" /><PropertyRef Name="RevisionId" /></Key><Property Name="ProductId" Type="Edm.Int32" Nullable="false" /><Property Name="ReviewId" Type="Edm.Int32" Nullable="false" /><Property Name="RevisionId" Type="Edm.String" Nullable="false" /><Property Name="Review" Type="Edm.String" /><NavigationProperty Name="Product" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview_Product" ToRole="Product" FromRole="ProductReview" /></EntityType><EntityType Name="ProductPhoto"><Key><PropertyRef Name="PhotoId" /><PropertyRef Name="ProductId" /></Key><Property Name="ProductId" Type="Edm.Int32" Nullable="false" /><Property Name="PhotoId" Type="Edm.Int32" Nullable="false" /><P
roperty Name="Photo" Type="Edm.Binary" /></EntityType><EntityType Name="CustomerInfo" m:HasStream="true"><Key><PropertyRef Name="CustomerInfoId" /></Key><Property Name="CustomerInfoId" Type="Edm.Int32" Nullable="false" /><Property Name="Information" Type="Edm.String" /></EntityType><EntityType Name="Computer"><Key><PropertyRef Name="ComputerId" /></Key><Property Name="ComputerId" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" /><NavigationProperty Name="ComputerDetail" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer_ComputerDetail" ToRole="ComputerDetail" FromRole="Computer" /></EntityType><EntityType Name="ComputerDetail"><Key><PropertyRef Name="ComputerDetailId" /></Key><Property Name="ComputerDetailId" Type="Edm.Int32" Nullable="false" /><Property Name="Manufacturer" Type="Edm.String" m:FC_TargetPath="SyndicationAuthorEmail" m:FC_ContentKind="text" m:FC_KeepInContent="true" /><Property Name="Model" Type="Edm.String" m:FC_Tar
getPath="SyndicationAuthorUri" m:FC_ContentKind="text" m:FC_KeepInContent="true" /><Property Name="Serial" Type="Edm.String" /><Property Name="SpecificationsBag" Type="Collection(Edm.String)" Nullable="false" /><Property Name="PurchaseDate" Type="Edm.DateTime" Nullable="false" /><Property Name="Dimensions" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions" /><NavigationProperty Name="Computer" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail_Computer" ToRole="Computer" FromRole="ComputerDetail" /></EntityType><EntityType Name="Driver"><Key><PropertyRef Name="Name" /></Key><Property Name="Name" Type="Edm.String" Nullable="false" /><Property Name="BirthDate" Type="Edm.DateTime" Nullable="false" /><NavigationProperty Name="License" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver_License" ToRole="License" FromRole="Driver" /></EntityType><EntityType Name="License"><Key><PropertyRef Name="Name" /></Key><Property
Name="Name" Type="Edm.String" Nullable="false" /><Property Name="LicenseNumber" Type="Edm.String" /><Property Name="LicenseClass" Type="Edm.String" m:FC_TargetPath="SyndicationContributorEmail" m:FC_ContentKind="text" m:FC_KeepInContent="false" /><Property Name="Restrictions" Type="Edm.String" m:FC_TargetPath="SyndicationContributorUri" m:FC_ContentKind="text" m:FC_KeepInContent="false" /><Property Name="ExpirationDate" Type="Edm.DateTime" Nullable="false" /><NavigationProperty Name="Driver" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.License_Driver" ToRole="Driver" FromRole="License" /></EntityType><EntityType Name="MappedEntityType"><Key><PropertyRef Name="Id" /></Key><Property Name="Id" Type="Edm.Int32" Nullable="false" /><Property Name="Href" Type="Edm.String" /><Property Name="Title" Type="Edm.String" /><Property Name="HrefLang" Type="Edm.String" /><Property Name="Type" Type="Edm.String" /><Property Name="Length" Type="Edm.Int32" Nullable="false" /><Proper
ty Name="BagOfPrimitiveToLinks" Type="Collection(Edm.String)" Nullable="false" /><Property Name="Logo" Type="Edm.Binary" /><Property Name="BagOfDecimals" Type="Collection(Edm.Decimal)" Nullable="false" /><Property Name="BagOfDoubles" Type="Collection(Edm.Double)" Nullable="false" /><Property Name="BagOfSingles" Type="Collection(Edm.Single)" Nullable="false" /><Property Name="BagOfBytes" Type="Collection(Edm.Byte)" Nullable="false" /><Property Name="BagOfInt16s" Type="Collection(Edm.Int16)" Nullable="false" /><Property Name="BagOfInt32s" Type="Collection(Edm.Int32)" Nullable="false" /><Property Name="BagOfInt64s" Type="Collection(Edm.Int64)" Nullable="false" /><Property Name="BagOfGuids" Type="Collection(Edm.Guid)" Nullable="false" /><Property Name="BagOfDateTime" Type="Collection(Edm.DateTime)" Nullable="false" /><Property Name="BagOfComplexToCategories" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ComplexToCategory)" Nullable="false" /><Property Name="Comple
xPhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Phone" m:FC_TargetPath="SyndicationRights" m:FC_ContentKind="text" m:FC_SourcePath="PhoneNumber" m:FC_KeepInContent="true" /><Property Name="ComplexContactDetails" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails" m:FC_TargetPath="SyndicationSummary" m:FC_ContentKind="text" m:FC_SourcePath="WorkPhone/Extension" m:FC_KeepInContent="true" /></EntityType><EntityType Name="Car" m:HasStream="true"><Key><PropertyRef Name="VIN" /></Key><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><Property Name="Video" Type="Edm.Stream" Nullable="false" /><Property Name="VIN" Type="Edm.Int32" Nullable="false" /><Property Name="Description" Type="Edm.String" /></EntityType><EntityType Name="Person"><Key><PropertyRef Name="PersonId" /></Key><Property Name="PersonId" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" /><NavigationProperty Name="PersonMetadata" Relationship="Microso
ft.Test.OData.Services.AstoriaDefaultService.Person_PersonMetadata" ToRole="PersonMetadata" FromRole="Person" /></EntityType><EntityType Name="PersonMetadata"><Key><PropertyRef Name="PersonMetadataId" /></Key><Property Name="PersonMetadataId" Type="Edm.Int32" Nullable="false" /><Property Name="PersonId" Type="Edm.Int32" Nullable="false" /><Property Name="PropertyName" Type="Edm.String" /><Property Name="PropertyValue" Type="Edm.String" /><NavigationProperty Name="Person" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata_Person" ToRole="Person" FromRole="PersonMetadata" /></EntityType><ComplexType Name="ContactDetails"><Property Name="EmailBag" Type="Collection(Edm.String)" Nullable="false" /><Property Name="AlternativeNames" Type="Collection(Edm.String)" Nullable="false" /><Property Name="ContactAlias" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases" /><Property Name="HomePhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultServic
e.Phone" /><Property Name="WorkPhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Phone" /><Property Name="MobilePhoneBag" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.Phone)" Nullable="false" /></ComplexType><ComplexType Name="AuditInfo"><Property Name="ModifiedDate" Type="Edm.DateTime" Nullable="false" /><Property Name="ModifiedBy" Type="Edm.String" /><Property Name="Concurrency" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo" /></ComplexType><ComplexType Name="ConcurrencyInfo"><Property Name="Token" Type="Edm.String" /><Property Name="QueriedDateTime" Type="Edm.DateTime" /></ComplexType><ComplexType Name="Dimensions"><Property Name="Width" Type="Edm.Decimal" Nullable="false" /><Property Name="Height" Type="Edm.Decimal" Nullable="false" /><Property Name="Depth" Type="Edm.Decimal" Nullable="false" /></ComplexType><ComplexType Name="ComplexToCategory"><Property Name="Term" Type="Edm.String" /><Property Name="Scheme" Ty
pe="Edm.String" /><Property Name="Label" Type="Edm.String" /></ComplexType><ComplexType Name="Phone"><Property Name="PhoneNumber" Type="Edm.String" /><Property Name="Extension" Type="Edm.String" /></ComplexType><ComplexType Name="Aliases"><Property Name="AlternativeNames" Type="Collection(Edm.String)" Nullable="false" /></ComplexType><EntityType Name="AllSpatialCollectionTypes_Simple" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialCollectionTypes"><Property Name="ManyGeogPoint" Type="Collection(Edm.GeographyPoint)" Nullable="false" SRID="Variable" /><Property Name="ManyGeogLine" Type="Collection(Edm.GeographyLineString)" Nullable="false" SRID="Variable" /><Property Name="ManyGeogPolygon" Type="Collection(Edm.GeographyPolygon)" Nullable="false" SRID="Variable" /><Property Name="ManyGeomPoint" Type="Collection(Edm.GeometryPoint)" Nullable="false" SRID="Variable" /><Property Name="ManyGeomLine" Type="Collection(Edm.GeometryLineString)" Nullable="false" SRID="Va
riable" /><Property Name="ManyGeomPolygon" Type="Collection(Edm.GeometryPolygon)" Nullable="false" SRID="Variable" /></EntityType><EntityType Name="ProductPageView" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView"><Property Name="ProductId" Type="Edm.Int32" Nullable="false" /><Property Name="ConcurrencyToken" Type="Edm.String" ConcurrencyMode="Fixed" /></EntityType><EntityType Name="BackOrderLine" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" /><EntityType Name="BackOrderLine2" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.BackOrderLine" /><EntityType Name="DiscontinuedProduct" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Product"><Property Name="Discontinued" Type="Edm.DateTime" Nullable="false" /><Property Name="ReplacementProductId" Type="Edm.Int32" /><Property Name="DiscontinuedPhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Phone" /><Property Name="ChildConcurrencyToken" Type="Ed
m.String" ConcurrencyMode="Fixed" /></EntityType><EntityType Name="Contractor" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Person"><Property Name="ContratorCompanyId" Type="Edm.Int32" Nullable="false" /><Property Name="BillingRate" Type="Edm.Int32" Nullable="false" /><Property Name="TeamContactPersonId" Type="Edm.Int32" Nullable="false" /><Property Name="JobDescription" Type="Edm.String" /></EntityType><EntityType Name="Employee" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Person"><Property Name="ManagersPersonId" Type="Edm.Int32" Nullable="false" /><Property Name="Salary" Type="Edm.Int32" Nullable="false" /><Property Name="Title" Type="Edm.String" /><NavigationProperty Name="Manager" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee_Manager" ToRole="Manager" FromRole="Employee" /></EntityType><EntityType Name="SpecialEmployee" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee"><Property Name="CarsVIN"
Type="Edm.Int32" Nullable="false" /><Property Name="Bonus" Type="Edm.Int32" Nullable="false" /><Property Name="IsFullyVested" Type="Edm.Boolean" Nullable="false" /><NavigationProperty Name="Car" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.SpecialEmployee_Car" ToRole="Car" FromRole="SpecialEmployee" /></EntityType><ComplexType Name="ComplexWithAllPrimitiveTypes"><Property Name="Binary" Type="Edm.Binary" /><Property Name="Boolean" Type="Edm.Boolean" Nullable="false" /><Property Name="Byte" Type="Edm.Byte" Nullable="false" /><Property Name="DateTime" Type="Edm.DateTime" Nullable="false" /><Property Name="Decimal" Type="Edm.Decimal" Nullable="false" /><Property Name="Double" Type="Edm.Double" Nullable="false" /><Property Name="Int16" Type="Edm.Int16" Nullable="false" /><Property Name="Int32" Type="Edm.Int32" Nullable="false" /><Property Name="Int64" Type="Edm.Int64" Nullable="false" /><Property Name="SByte" Type="Edm.SByte" Nullable="false" /><Property Name="Strin
g" Type="Edm.String" /><Property Name="Single" Type="Edm.Single" Nullable="false" /><Property Name="GeographyPoint" Type="Edm.GeographyPoint" SRID="Variable" /><Property Name="GeometryPoint" Type="Edm.GeometryPoint" SRID="Variable" /></ComplexType><Association Name="Customer_Orders"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Orders" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" /></Association><Association Name="Customer_Logins"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Logins" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" /></Association><Association Name="Customer_Husband"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Husband" Multiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="C
ustomer" Multiplicity="*" /></Association><Association Name="Customer_Wife"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Wife" Multiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" /></Association><Association Name="Customer_Info"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.CustomerInfo" Role="Info" Multiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" /></Association><Association Name="Login_Customer"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="0..1" /></Association><Association Name="Login_LastLogin"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" /><End Type="Microsoft.Test
.OData.Services.AstoriaDefaultService.LastLogin" Role="LastLogin" Multiplicity="0..1" /></Association><Association Name="Login_SentMessages"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="SentMessages" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" /></Association><Association Name="Login_ReceivedMessages"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="ReceivedMessages" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" /></Association><Association Name="Login_Orders"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Orders" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" /></Association><Association Name="RSAToken_Login"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.RSATo
ken" Role="RSAToken" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" /></Association><Association Name="PageView_Login"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView" Role="PageView" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" /></Association><Association Name="LastLogin_Login"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin" Role="LastLogin" Multiplicity="*" /></Association><Association Name="Message_Sender"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="Message" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Sender" Multiplicity="0..1" /></Association><Association Name="Message_Recipient"><End Type="M
icrosoft.Test.OData.Services.AstoriaDefaultService.Message" Role="Message" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Recipient" Multiplicity="0..1" /></Association><Association Name="Message_Attachments"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.MessageAttachment" Role="Attachments" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="Message" Multiplicity="*" /></Association><Association Name="Order_Customer"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Order" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="0..1" /></Association><Association Name="Order_Login"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Order" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" /
></Association><Association Name="OrderLine_Order"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" Role="OrderLine" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Order" Multiplicity="0..1" /></Association><Association Name="OrderLine_Product"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" Role="OrderLine" Multiplicity="*" /></Association><Association Name="Product_RelatedProducts"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="RelatedProducts" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" /></Association><Association Name="Product_Detail"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail" Role="Detail" Multiplicity="0..1" /><End Type="Microsof
t.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" /></Association><Association Name="Product_Reviews"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview" Role="Reviews" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" /></Association><Association Name="Product_Photos"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto" Role="Photos" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" /></Association><Association Name="ProductDetail_Product"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail" Role="ProductDetail" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="0..1" /></Association><Association Name="ProductReview_Product"><End Type="Microsoft.Test.OData.Servic
es.AstoriaDefaultService.ProductReview" Role="ProductReview" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="0..1" /></Association><Association Name="Computer_ComputerDetail"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" Role="ComputerDetail" Multiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" Role="Computer" Multiplicity="*" /></Association><Association Name="ComputerDetail_Computer"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" Role="ComputerDetail" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" Role="Computer" Multiplicity="0..1" /></Association><Association Name="Driver_License"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.License" Role="License" Multiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver" R
ole="Driver" Multiplicity="*" /></Association><Association Name="License_Driver"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.License" Role="License" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver" Role="Driver" Multiplicity="0..1" /></Association><Association Name="Person_PersonMetadata"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata" Role="PersonMetadata" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Person" Role="Person" Multiplicity="*" /></Association><Association Name="PersonMetadata_Person"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata" Role="PersonMetadata" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Person" Role="Person" Multiplicity="0..1" /></Association><Association Name="Employee_Manager"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee" Role="Manager" M
ultiplicity="0..1" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee" Role="Employee" Multiplicity="*" /></Association><Association Name="SpecialEmployee_Car"><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.SpecialEmployee" Role="SpecialEmployee" Multiplicity="*" /><End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Car" Role="Car" Multiplicity="0..1" /></Association><EntityContainer Name="DefaultContainer" m:IsDefaultEntityContainer="true"><EntitySet Name="AllGeoTypesSet" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" /><EntitySet Name="AllGeoCollectionTypesSet" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialCollectionTypes" /><EntitySet Name="Customer" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" /><EntitySet Name="Login" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" /><EntitySet Name="RSAToken" EntityType="Microsoft.T
est.OData.Services.AstoriaDefaultService.RSAToken" /><EntitySet Name="PageView" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView" /><EntitySet Name="LastLogin" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin" /><EntitySet Name="Message" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" /><EntitySet Name="MessageAttachment" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.MessageAttachment" /><EntitySet Name="Order" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" /><EntitySet Name="OrderLine" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" /><EntitySet Name="Product" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" /><EntitySet Name="ProductDetail" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail" /><EntitySet Name="ProductReview" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Pr
oductReview" /><EntitySet Name="ProductPhoto" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto" /><EntitySet Name="CustomerInfo" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.CustomerInfo" /><EntitySet Name="Computer" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" /><EntitySet Name="ComputerDetail" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" /><EntitySet Name="Driver" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver" /><EntitySet Name="License" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.License" /><EntitySet Name="MappedEntityType" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.MappedEntityType" /><EntitySet Name="Car" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Car" /><EntitySet Name="Person" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Person" /><EntitySet Name="PersonMetadata
" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata" /><FunctionImport Name="GetPrimitiveString" ReturnType="Edm.String" m:HttpMethod="GET" /><FunctionImport Name="GetSpecificCustomer" ReturnType="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.Customer)" EntitySet="Customer" m:HttpMethod="GET"><Parameter Name="Name" Type="Edm.String" /></FunctionImport><FunctionImport Name="GetCustomerCount" ReturnType="Edm.Int32" m:HttpMethod="GET" /><FunctionImport Name="GetArgumentPlusOne" ReturnType="Edm.Int32" m:HttpMethod="GET"><Parameter Name="arg1" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="EntityProjectionReturnsCollectionOfComplexTypes" ReturnType="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails)" m:HttpMethod="GET" /><FunctionImport Name="ResetDataSource" m:HttpMethod="POST" /><FunctionImport Name="InStreamErrorGetCustomer" ReturnType="Collection(Microsoft.Test.OData.Services.Astoria
DefaultService.Customer)" EntitySet="Customer" m:HttpMethod="GET" /><FunctionImport Name="IncreaseSalaries" IsBindable="true" m:IsAlwaysBindable="true"><Parameter Name="employees" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.Employee)" /><Parameter Name="n" Type="Edm.Int32" Nullable="false" /></FunctionImport><FunctionImport Name="Sack" IsBindable="true" m:IsAlwaysBindable="true"><Parameter Name="employee" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee" /></FunctionImport><FunctionImport Name="GetComputer" ReturnType="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" IsBindable="true" EntitySet="Computer" m:IsAlwaysBindable="true"><Parameter Name="computer" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" /></FunctionImport><FunctionImport Name="ChangeProductDimensions" IsBindable="true" m:IsAlwaysBindable="true"><Parameter Name="product" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" /><P
arameter Name="dimensions" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions" /></FunctionImport><FunctionImport Name="ResetComputerDetailsSpecifications" IsBindable="true" m:IsAlwaysBindable="true"><Parameter Name="computerDetail" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" /><Parameter Name="specifications" Type="Collection(Edm.String)" Nullable="false" /><Parameter Name="purchaseTime" Type="Edm.DateTime" Nullable="false" /></FunctionImport><AssociationSet Name="Customer_Orders" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Orders"><End Role="Customer" EntitySet="Customer" /><End Role="Orders" EntitySet="Order" /></AssociationSet><AssociationSet Name="Customer_Logins" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Logins"><End Role="Customer" EntitySet="Customer" /><End Role="Logins" EntitySet="Login" /></AssociationSet><AssociationSet Name="Customer_Husband" Association="Micros
oft.Test.OData.Services.AstoriaDefaultService.Customer_Husband"><End Role="Customer" EntitySet="Customer" /><End Role="Husband" EntitySet="Customer" /></AssociationSet><AssociationSet Name="Customer_Wife" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Wife"><End Role="Customer" EntitySet="Customer" /><End Role="Wife" EntitySet="Customer" /></AssociationSet><AssociationSet Name="Customer_Info" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Info"><End Role="Customer" EntitySet="Customer" /><End Role="Info" EntitySet="CustomerInfo" /></AssociationSet><AssociationSet Name="Login_Customer" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Customer"><End Role="Login" EntitySet="Login" /><End Role="Customer" EntitySet="Customer" /></AssociationSet><AssociationSet Name="Login_LastLogin" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_LastLogin"><End Role="Login" EntitySet="Login" /><End Role="L
astLogin" EntitySet="LastLogin" /></AssociationSet><AssociationSet Name="Login_SentMessages" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_SentMessages"><End Role="Login" EntitySet="Login" /><End Role="SentMessages" EntitySet="Message" /></AssociationSet><AssociationSet Name="Login_ReceivedMessages" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_ReceivedMessages"><End Role="Login" EntitySet="Login" /><End Role="ReceivedMessages" EntitySet="Message" /></AssociationSet><AssociationSet Name="Login_Orders" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Orders"><End Role="Login" EntitySet="Login" /><End Role="Orders" EntitySet="Order" /></AssociationSet><AssociationSet Name="RSAToken_Login" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.RSAToken_Login"><End Role="RSAToken" EntitySet="RSAToken" /><End Role="Login" EntitySet="Login" /></AssociationSet><AssociationSet Name="PageView_Login" Association
="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView_Login"><End Role="PageView" EntitySet="PageView" /><End Role="Login" EntitySet="Login" /></AssociationSet><AssociationSet Name="LastLogin_Login" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin_Login"><End Role="LastLogin" EntitySet="LastLogin" /><End Role="Login" EntitySet="Login" /></AssociationSet><AssociationSet Name="Message_Sender" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Sender"><End Role="Message" EntitySet="Message" /><End Role="Sender" EntitySet="Login" /></AssociationSet><AssociationSet Name="Message_Recipient" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Recipient"><End Role="Message" EntitySet="Message" /><End Role="Recipient" EntitySet="Login" /></AssociationSet><AssociationSet Name="Message_Attachments" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Attachments"><End Role="Message" EntitySet="Mes
sage" /><End Role="Attachments" EntitySet="MessageAttachment" /></AssociationSet><AssociationSet Name="Order_Customer" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Order_Customer"><End Role="Order" EntitySet="Order" /><End Role="Customer" EntitySet="Customer" /></AssociationSet><AssociationSet Name="Order_Login" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Order_Login"><End Role="Order" EntitySet="Order" /><End Role="Login" EntitySet="Login" /></AssociationSet><AssociationSet Name="OrderLine_Order" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine_Order"><End Role="OrderLine" EntitySet="OrderLine" /><End Role="Order" EntitySet="Order" /></AssociationSet><AssociationSet Name="OrderLine_Product" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine_Product"><End Role="OrderLine" EntitySet="OrderLine" /><End Role="Product" EntitySet="Product" /></AssociationSet><AssociationSet Name="Product_RelatedPro
ducts" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_RelatedProducts"><End Role="Product" EntitySet="Product" /><End Role="RelatedProducts" EntitySet="Product" /></AssociationSet><AssociationSet Name="Product_Detail" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Detail"><End Role="Product" EntitySet="Product" /><End Role="Detail" EntitySet="ProductDetail" /></AssociationSet><AssociationSet Name="Product_Reviews" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Reviews"><End Role="Product" EntitySet="Product" /><End Role="Reviews" EntitySet="ProductReview" /></AssociationSet><AssociationSet Name="Product_Photos" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Photos"><End Role="Product" EntitySet="Product" /><End Role="Photos" EntitySet="ProductPhoto" /></AssociationSet><AssociationSet Name="ProductDetail_Product" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Prod
uctDetail_Product"><End Role="ProductDetail" EntitySet="ProductDetail" /><End Role="Product" EntitySet="Product" /></AssociationSet><AssociationSet Name="ProductReview_Product" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview_Product"><End Role="ProductReview" EntitySet="ProductReview" /><End Role="Product" EntitySet="Product" /></AssociationSet><AssociationSet Name="Computer_ComputerDetail" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer_ComputerDetail"><End Role="Computer" EntitySet="Computer" /><End Role="ComputerDetail" EntitySet="ComputerDetail" /></AssociationSet><AssociationSet Name="ComputerDetail_Computer" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail_Computer"><End Role="ComputerDetail" EntitySet="ComputerDetail" /><End Role="Computer" EntitySet="Computer" /></AssociationSet><AssociationSet Name="Driver_License" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver_L
icense"><End Role="Driver" EntitySet="Driver" /><End Role="License" EntitySet="License" /></AssociationSet><AssociationSet Name="License_Driver" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.License_Driver"><End Role="License" EntitySet="License" /><End Role="Driver" EntitySet="Driver" /></AssociationSet><AssociationSet Name="Employee_Manager" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee_Manager"><End Role="Employee" EntitySet="Person" /><End Role="Manager" EntitySet="Person" /></AssociationSet><AssociationSet Name="SpecialEmployee_Car" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.SpecialEmployee_Car"><End Role="SpecialEmployee" EntitySet="Person" /><End Role="Car" EntitySet="Car" /></AssociationSet><AssociationSet Name="Person_PersonMetadata" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Person_PersonMetadata"><End Role="Person" EntitySet="Person" /><End Role="PersonMetadata" EntitySet="PersonMet
adata" /></AssociationSet><AssociationSet Name="PersonMetadata_Person" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata_Person"><End Role="PersonMetadata" EntitySet="PersonMetadata" /><End Role="Person" EntitySet="Person" /></AssociationSet></EntityContainer></Schema></edmx:DataServices></edmx:Edmx>
+<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
+ <edmx:DataServices m:DataServiceVersion="3.0" m:MaxDataServiceVersion="3.0"
+ xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
+ <Schema Namespace="Microsoft.Test.OData.Services.AstoriaDefaultService"
+ xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
+ <EntityType Name="AllSpatialTypes">
+ <Key>
+ <PropertyRef Name="Id" />
+ </Key>
+ <Property Name="Id" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Geog" Type="Edm.Geography" SRID="Variable" />
+ <Property Name="GeogPoint" Type="Edm.GeographyPoint" SRID="Variable" />
+ <Property Name="GeogLine" Type="Edm.GeographyLineString" SRID="Variable" />
+ <Property Name="GeogPolygon" Type="Edm.GeographyPolygon" SRID="Variable" />
+ <Property Name="GeogCollection" Type="Edm.GeographyCollection" SRID="Variable" />
+ <Property Name="GeogMultiPoint" Type="Edm.GeographyMultiPoint" SRID="Variable" />
+ <Property Name="GeogMultiLine" Type="Edm.GeographyMultiLineString" SRID="Variable" />
+ <Property Name="GeogMultiPolygon" Type="Edm.GeographyMultiPolygon" SRID="Variable" />
+ <Property Name="Geom" Type="Edm.Geometry" SRID="Variable" />
+ <Property Name="GeomPoint" Type="Edm.GeometryPoint" SRID="Variable" />
+ <Property Name="GeomLine" Type="Edm.GeometryLineString" SRID="Variable" />
+ <Property Name="GeomPolygon" Type="Edm.GeometryPolygon" SRID="Variable" />
+ <Property Name="GeomCollection" Type="Edm.GeometryCollection" SRID="Variable" />
+ <Property Name="GeomMultiPoint" Type="Edm.GeometryMultiPoint" SRID="Variable" />
+ <Property Name="GeomMultiLine" Type="Edm.GeometryMultiLineString" SRID="Variable" />
+ <Property Name="GeomMultiPolygon" Type="Edm.GeometryMultiPolygon" SRID="Variable" />
+ </EntityType>
+ <EntityType Name="AllSpatialCollectionTypes" Abstract="true">
+ <Key>
+ <PropertyRef Name="Id" />
+ </Key>
+ <Property Name="Id" Type="Edm.Int32" Nullable="false" />
+ </EntityType>
+ <EntityType Name="Customer">
+ <Key>
+ <PropertyRef Name="CustomerId" />
+ </Key>
+ <Property Name="Thumbnail" Type="Edm.Stream" Nullable="false" />
+ <Property Name="Video" Type="Edm.Stream" Nullable="false" />
+ <Property Name="CustomerId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" m:FC_TargetPath="SyndicationSummary" m:FC_ContentKind="text" m:FC_KeepInContent="false" />
+ <Property Name="PrimaryContactInfo" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails" />
+ <Property Name="BackupContactInfo" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails)" Nullable="false" />
+ <Property Name="Auditing" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo" />
+ <NavigationProperty Name="Orders" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Orders" ToRole="Orders" FromRole="Customer" />
+ <NavigationProperty Name="Logins" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Logins" ToRole="Logins" FromRole="Customer" />
+ <NavigationProperty Name="Husband" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Husband" ToRole="Husband" FromRole="Customer" />
+ <NavigationProperty Name="Wife" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Wife" ToRole="Wife" FromRole="Customer" />
+ <NavigationProperty Name="Info" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Info" ToRole="Info" FromRole="Customer" />
+ </EntityType>
+ <EntityType Name="Login">
+ <Key>
+ <PropertyRef Name="Username" />
+ </Key>
+ <Property Name="Username" Type="Edm.String" Nullable="false" />
+ <Property Name="CustomerId" Type="Edm.Int32" Nullable="false" />
+ <NavigationProperty Name="Customer" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Customer" ToRole="Customer" FromRole="Login" />
+ <NavigationProperty Name="LastLogin" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_LastLogin" ToRole="LastLogin" FromRole="Login" />
+ <NavigationProperty Name="SentMessages" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_SentMessages" ToRole="SentMessages" FromRole="Login" />
+ <NavigationProperty Name="ReceivedMessages" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_ReceivedMessages" ToRole="ReceivedMessages" FromRole="Login" />
+ <NavigationProperty Name="Orders" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Orders" ToRole="Orders" FromRole="Login" />
+ </EntityType>
+ <EntityType Name="RSAToken">
+ <Key>
+ <PropertyRef Name="Serial" />
+ </Key>
+ <Property Name="Serial" Type="Edm.String" Nullable="false" />
+ <Property Name="Issued" Type="Edm.DateTime" Nullable="false" />
+ <NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.RSAToken_Login" ToRole="Login" FromRole="RSAToken" />
+ </EntityType>
+ <EntityType Name="PageView">
+ <Key>
+ <PropertyRef Name="PageViewId" />
+ </Key>
+ <Property Name="PageViewId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Username" Type="Edm.String" />
+ <Property Name="Viewed" Type="Edm.DateTimeOffset" Nullable="false" />
+ <Property Name="TimeSpentOnPage" Type="Edm.Time" Nullable="false" />
+ <Property Name="PageUrl" Type="Edm.String" />
+ <NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView_Login" ToRole="Login" FromRole="PageView" />
+ </EntityType>
+ <EntityType Name="LastLogin">
+ <Key>
+ <PropertyRef Name="Username" />
+ </Key>
+ <Property Name="Username" Type="Edm.String" Nullable="false" />
+ <Property Name="LoggedIn" Type="Edm.DateTime" Nullable="false" />
+ <Property Name="LoggedOut" Type="Edm.DateTime" />
+ <Property Name="Duration" Type="Edm.Time" Nullable="false" />
+ <NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin_Login" ToRole="Login" FromRole="LastLogin" />
+ </EntityType>
+ <EntityType Name="Message">
+ <Key>
+ <PropertyRef Name="FromUsername" />
+ <PropertyRef Name="MessageId" />
+ </Key>
+ <Property Name="MessageId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="FromUsername" Type="Edm.String" Nullable="false" />
+ <Property Name="ToUsername" Type="Edm.String" />
+ <Property Name="Sent" Type="Edm.DateTimeOffset" Nullable="false" m:FC_TargetPath="SyndicationPublished" m:FC_ContentKind="text" m:FC_KeepInContent="true" />
+ <Property Name="Subject" Type="Edm.String" m:FC_TargetPath="SyndicationTitle" m:FC_ContentKind="text" m:FC_KeepInContent="true" />
+ <Property Name="Body" Type="Edm.String" />
+ <Property Name="IsRead" Type="Edm.Boolean" Nullable="false" />
+ <NavigationProperty Name="Sender" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Sender" ToRole="Sender" FromRole="Message" />
+ <NavigationProperty Name="Recipient" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Recipient" ToRole="Recipient" FromRole="Message" />
+ <NavigationProperty Name="Attachments" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Message_Attachments" ToRole="Attachments" FromRole="Message" />
+ </EntityType>
+ <EntityType Name="MessageAttachment">
+ <Key>
+ <PropertyRef Name="AttachmentId" />
+ </Key>
+ <Property Name="AttachmentId" Type="Edm.Guid" Nullable="false" />
+ <Property Name="Attachment" Type="Edm.Binary" />
+ </EntityType>
+ <EntityType Name="Order">
+ <Key>
+ <PropertyRef Name="OrderId" />
+ </Key>
+ <Property Name="OrderId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="CustomerId" Type="Edm.Int32" />
+ <Property Name="Concurrency" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo" />
+ <NavigationProperty Name="Customer" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Order_Customer" ToRole="Customer" FromRole="Order" />
+ <NavigationProperty Name="Login" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Order_Login" ToRole="Login" FromRole="Order" />
+ </EntityType>
+ <EntityType Name="OrderLine">
+ <Key>
+ <PropertyRef Name="OrderId" />
+ <PropertyRef Name="ProductId" />
+ </Key>
+ <Property Name="OrderLineStream" Type="Edm.Stream" Nullable="false" />
+ <Property Name="OrderId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ProductId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Quantity" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ConcurrencyToken" Type="Edm.String" ConcurrencyMode="Fixed" />
+ <NavigationProperty Name="Order" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine_Order" ToRole="Order" FromRole="OrderLine" />
+ <NavigationProperty Name="Product" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine_Product" ToRole="Product" FromRole="OrderLine" />
+ </EntityType>
+ <EntityType Name="Product">
+ <Key>
+ <PropertyRef Name="ProductId" />
+ </Key>
+ <Property Name="Picture" Type="Edm.Stream" Nullable="false" />
+ <Property Name="ProductId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Description" Type="Edm.String" />
+ <Property Name="Dimensions" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions" />
+ <Property Name="BaseConcurrency" Type="Edm.String" ConcurrencyMode="Fixed" />
+ <Property Name="ComplexConcurrency" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo" />
+ <Property Name="NestedComplexConcurrency" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo" />
+ <NavigationProperty Name="RelatedProducts" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_RelatedProducts" ToRole="RelatedProducts" FromRole="Product" />
+ <NavigationProperty Name="Detail" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Detail" ToRole="Detail" FromRole="Product" />
+ <NavigationProperty Name="Reviews" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Reviews" ToRole="Reviews" FromRole="Product" />
+ <NavigationProperty Name="Photos" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Product_Photos" ToRole="Photos" FromRole="Product" />
+ </EntityType>
+ <EntityType Name="ProductDetail">
+ <Key>
+ <PropertyRef Name="ProductId" />
+ </Key>
+ <Property Name="ProductId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Details" Type="Edm.String" />
+ <NavigationProperty Name="Product" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail_Product" ToRole="Product" FromRole="ProductDetail" />
+ </EntityType>
+ <EntityType Name="ProductReview">
+ <Key>
+ <PropertyRef Name="ProductId" />
+ <PropertyRef Name="ReviewId" />
+ <PropertyRef Name="RevisionId" />
+ </Key>
+ <Property Name="ProductId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ReviewId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="RevisionId" Type="Edm.String" Nullable="false" />
+ <Property Name="Review" Type="Edm.String" />
+ <NavigationProperty Name="Product" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview_Product" ToRole="Product" FromRole="ProductReview" />
+ </EntityType>
+ <EntityType Name="ProductPhoto">
+ <Key>
+ <PropertyRef Name="PhotoId" />
+ <PropertyRef Name="ProductId" />
+ </Key>
+ <Property Name="ProductId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="PhotoId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Photo" Type="Edm.Binary" />
+ </EntityType>
+ <EntityType Name="CustomerInfo" m:HasStream="true">
+ <Key>
+ <PropertyRef Name="CustomerInfoId" />
+ </Key>
+ <Property Name="CustomerInfoId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Information" Type="Edm.String" />
+ </EntityType>
+ <EntityType Name="Computer">
+ <Key>
+ <PropertyRef Name="ComputerId" />
+ </Key>
+ <Property Name="ComputerId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" />
+ <NavigationProperty Name="ComputerDetail" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer_ComputerDetail" ToRole="ComputerDetail" FromRole="Computer" />
+ </EntityType>
+ <EntityType Name="ComputerDetail">
+ <Key>
+ <PropertyRef Name="ComputerDetailId" />
+ </Key>
+ <Property Name="ComputerDetailId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Manufacturer" Type="Edm.String" m:FC_TargetPath="SyndicationAuthorEmail" m:FC_ContentKind="text" m:FC_KeepInContent="true" />
+ <Property Name="Model" Type="Edm.String" m:FC_TargetPath="SyndicationAuthorUri" m:FC_ContentKind="text" m:FC_KeepInContent="true" />
+ <Property Name="Serial" Type="Edm.String" />
+ <Property Name="SpecificationsBag" Type="Collection(Edm.String)" Nullable="false" />
+ <Property Name="PurchaseDate" Type="Edm.DateTime" Nullable="false" />
+ <Property Name="Dimensions" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions" />
+ <NavigationProperty Name="Computer" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail_Computer" ToRole="Computer" FromRole="ComputerDetail" />
+ </EntityType>
+ <EntityType Name="Driver">
+ <Key>
+ <PropertyRef Name="Name" />
+ </Key>
+ <Property Name="Name" Type="Edm.String" Nullable="false" />
+ <Property Name="BirthDate" Type="Edm.DateTime" Nullable="false" />
+ <NavigationProperty Name="License" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver_License" ToRole="License" FromRole="Driver" />
+ </EntityType>
+ <EntityType Name="License">
+ <Key>
+ <PropertyRef Name="Name" />
+ </Key>
+ <Property Name="Name" Type="Edm.String" Nullable="false" />
+ <Property Name="LicenseNumber" Type="Edm.String" />
+ <Property Name="LicenseClass" Type="Edm.String" m:FC_TargetPath="SyndicationContributorEmail" m:FC_ContentKind="text" m:FC_KeepInContent="false" />
+ <Property Name="Restrictions" Type="Edm.String" m:FC_TargetPath="SyndicationContributorUri" m:FC_ContentKind="text" m:FC_KeepInContent="false" />
+ <Property Name="ExpirationDate" Type="Edm.DateTime" Nullable="false" />
+ <NavigationProperty Name="Driver" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.License_Driver" ToRole="Driver" FromRole="License" />
+ </EntityType>
+ <EntityType Name="MappedEntityType">
+ <Key>
+ <PropertyRef Name="Id" />
+ </Key>
+ <Property Name="Id" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Href" Type="Edm.String" />
+ <Property Name="Title" Type="Edm.String" />
+ <Property Name="HrefLang" Type="Edm.String" />
+ <Property Name="Type" Type="Edm.String" />
+ <Property Name="Length" Type="Edm.Int32" Nullable="false" />
+ <Property Name="BagOfPrimitiveToLinks" Type="Collection(Edm.String)" Nullable="false" />
+ <Property Name="Logo" Type="Edm.Binary" />
+ <Property Name="BagOfDecimals" Type="Collection(Edm.Decimal)" Nullable="false" />
+ <Property Name="BagOfDoubles" Type="Collection(Edm.Double)" Nullable="false" />
+ <Property Name="BagOfSingles" Type="Collection(Edm.Single)" Nullable="false" />
+ <Property Name="BagOfBytes" Type="Collection(Edm.Byte)" Nullable="false" />
+ <Property Name="BagOfInt16s" Type="Collection(Edm.Int16)" Nullable="false" />
+ <Property Name="BagOfInt32s" Type="Collection(Edm.Int32)" Nullable="false" />
+ <Property Name="BagOfInt64s" Type="Collection(Edm.Int64)" Nullable="false" />
+ <Property Name="BagOfGuids" Type="Collection(Edm.Guid)" Nullable="false" />
+ <Property Name="BagOfDateTime" Type="Collection(Edm.DateTime)" Nullable="false" />
+ <Property Name="BagOfComplexToCategories" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ComplexToCategory)" Nullable="false" />
+ <Property Name="ComplexPhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Phone" m:FC_TargetPath="SyndicationRights" m:FC_ContentKind="text" m:FC_SourcePath="PhoneNumber" m:FC_KeepInContent="true" />
+ <Property Name="ComplexContactDetails" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails" m:FC_TargetPath="SyndicationSummary" m:FC_ContentKind="text" m:FC_SourcePath="WorkPhone/Extension" m:FC_KeepInContent="true" />
+ </EntityType>
+ <EntityType Name="Car" m:HasStream="true">
+ <Key>
+ <PropertyRef Name="VIN" />
+ </Key>
+ <Property Name="Photo" Type="Edm.Stream" Nullable="false" />
+ <Property Name="Video" Type="Edm.Stream" Nullable="false" />
+ <Property Name="VIN" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Description" Type="Edm.String" />
+ </EntityType>
+ <EntityType Name="Person">
+ <Key>
+ <PropertyRef Name="PersonId" />
+ </Key>
+ <Property Name="PersonId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" />
+ <NavigationProperty Name="PersonMetadata" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Person_PersonMetadata" ToRole="PersonMetadata" FromRole="Person" />
+ </EntityType>
+ <EntityType Name="PersonMetadata">
+ <Key>
+ <PropertyRef Name="PersonMetadataId" />
+ </Key>
+ <Property Name="PersonMetadataId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="PersonId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="PropertyName" Type="Edm.String" />
+ <Property Name="PropertyValue" Type="Edm.String" />
+ <NavigationProperty Name="Person" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata_Person" ToRole="Person" FromRole="PersonMetadata" />
+ </EntityType>
+ <ComplexType Name="ContactDetails">
+ <Property Name="EmailBag" Type="Collection(Edm.String)" Nullable="false" />
+ <Property Name="AlternativeNames" Type="Collection(Edm.String)" Nullable="false" />
+ <Property Name="ContactAlias" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases" />
+ <Property Name="HomePhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Phone" />
+ <Property Name="WorkPhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Phone" />
+ <Property Name="MobilePhoneBag" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.Phone)" Nullable="false" />
+ </ComplexType>
+ <ComplexType Name="AuditInfo">
+ <Property Name="ModifiedDate" Type="Edm.DateTime" Nullable="false" />
+ <Property Name="ModifiedBy" Type="Edm.String" />
+ <Property Name="Concurrency" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo" />
+ </ComplexType>
+ <ComplexType Name="ConcurrencyInfo">
+ <Property Name="Token" Type="Edm.String" />
+ <Property Name="QueriedDateTime" Type="Edm.DateTime" />
+ </ComplexType>
+ <ComplexType Name="Dimensions">
+ <Property Name="Width" Type="Edm.Decimal" Nullable="false" />
+ <Property Name="Height" Type="Edm.Decimal" Nullable="false" />
+ <Property Name="Depth" Type="Edm.Decimal" Nullable="false" />
+ </ComplexType>
+ <ComplexType Name="ComplexToCategory">
+ <Property Name="Term" Type="Edm.String" />
+ <Property Name="Scheme" Type="Edm.String" />
+ <Property Name="Label" Type="Edm.String" />
+ </ComplexType>
+ <ComplexType Name="Phone">
+ <Property Name="PhoneNumber" Type="Edm.String" />
+ <Property Name="Extension" Type="Edm.String" />
+ </ComplexType>
+ <ComplexType Name="Aliases">
+ <Property Name="AlternativeNames" Type="Collection(Edm.String)" Nullable="false" />
+ </ComplexType>
+ <EntityType Name="AllSpatialCollectionTypes_Simple" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialCollectionTypes">
+ <Property Name="ManyGeogPoint" Type="Collection(Edm.GeographyPoint)" Nullable="false" SRID="Variable" />
+ <Property Name="ManyGeogLine" Type="Collection(Edm.GeographyLineString)" Nullable="false" SRID="Variable" />
+ <Property Name="ManyGeogPolygon" Type="Collection(Edm.GeographyPolygon)" Nullable="false" SRID="Variable" />
+ <Property Name="ManyGeomPoint" Type="Collection(Edm.GeometryPoint)" Nullable="false" SRID="Variable" />
+ <Property Name="ManyGeomLine" Type="Collection(Edm.GeometryLineString)" Nullable="false" SRID="Variable" />
+ <Property Name="ManyGeomPolygon" Type="Collection(Edm.GeometryPolygon)" Nullable="false" SRID="Variable" />
+ </EntityType>
+ <EntityType Name="ProductPageView" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView">
+ <Property Name="ProductId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ConcurrencyToken" Type="Edm.String" ConcurrencyMode="Fixed" />
+ </EntityType>
+ <EntityType Name="BackOrderLine" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" />
+ <EntityType Name="BackOrderLine2" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.BackOrderLine" />
+ <EntityType Name="DiscontinuedProduct" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Product">
+ <Property Name="Discontinued" Type="Edm.DateTime" Nullable="false" />
+ <Property Name="ReplacementProductId" Type="Edm.Int32" />
+ <Property Name="DiscontinuedPhone" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Phone" />
+ <Property Name="ChildConcurrencyToken" Type="Edm.String" ConcurrencyMode="Fixed" />
+ </EntityType>
+ <EntityType Name="Contractor" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Person">
+ <Property Name="ContratorCompanyId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="BillingRate" Type="Edm.Int32" Nullable="false" />
+ <Property Name="TeamContactPersonId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="JobDescription" Type="Edm.String" />
+ </EntityType>
+ <EntityType Name="Employee" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Person">
+ <Property Name="ManagersPersonId" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Salary" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Title" Type="Edm.String" />
+ <NavigationProperty Name="Manager" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee_Manager" ToRole="Manager" FromRole="Employee" />
+ </EntityType>
+ <EntityType Name="SpecialEmployee" BaseType="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee">
+ <Property Name="CarsVIN" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Bonus" Type="Edm.Int32" Nullable="false" />
+ <Property Name="IsFullyVested" Type="Edm.Boolean" Nullable="false" />
+ <NavigationProperty Name="Car" Relationship="Microsoft.Test.OData.Services.AstoriaDefaultService.SpecialEmployee_Car" ToRole="Car" FromRole="SpecialEmployee" />
+ </EntityType>
+ <ComplexType Name="ComplexWithAllPrimitiveTypes">
+ <Property Name="Binary" Type="Edm.Binary" />
+ <Property Name="Boolean" Type="Edm.Boolean" Nullable="false" />
+ <Property Name="Byte" Type="Edm.Byte" Nullable="false" />
+ <Property Name="DateTime" Type="Edm.DateTime" Nullable="false" />
+ <Property Name="Decimal" Type="Edm.Decimal" Nullable="false" />
+ <Property Name="Double" Type="Edm.Double" Nullable="false" />
+ <Property Name="Int16" Type="Edm.Int16" Nullable="false" />
+ <Property Name="Int32" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Int64" Type="Edm.Int64" Nullable="false" />
+ <Property Name="SByte" Type="Edm.SByte" Nullable="false" />
+ <Property Name="String" Type="Edm.String" />
+ <Property Name="Single" Type="Edm.Single" Nullable="false" />
+ <Property Name="GeographyPoint" Type="Edm.GeographyPoint" SRID="Variable" />
+ <Property Name="GeometryPoint" Type="Edm.GeometryPoint" SRID="Variable" />
+ </ComplexType>
+ <Association Name="Customer_Orders">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Orders" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" />
+ </Association>
+ <Association Name="Customer_Logins">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Logins" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" />
+ </Association>
+ <Association Name="Customer_Husband">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Husband" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" />
+ </Association>
+ <Association Name="Customer_Wife">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Wife" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" />
+ </Association>
+ <Association Name="Customer_Info">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.CustomerInfo" Role="Info" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="*" />
+ </Association>
+ <Association Name="Login_Customer">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Login_LastLogin">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin" Role="LastLogin" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Login_SentMessages">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="SentMessages" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" />
+ </Association>
+ <Association Name="Login_ReceivedMessages">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="ReceivedMessages" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" />
+ </Association>
+ <Association Name="Login_Orders">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Orders" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="*" />
+ </Association>
+ <Association Name="RSAToken_Login">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.RSAToken" Role="RSAToken" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" />
+ </Association>
+ <Association Name="PageView_Login">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView" Role="PageView" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" />
+ </Association>
+ <Association Name="LastLogin_Login">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin" Role="LastLogin" Multiplicity="*" />
+ </Association>
+ <Association Name="Message_Sender">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="Message" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Sender" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Message_Recipient">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="Message" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Recipient" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Message_Attachments">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.MessageAttachment" Role="Attachments" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" Role="Message" Multiplicity="*" />
+ </Association>
+ <Association Name="Order_Customer">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Order" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" Role="Customer" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Order_Login">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Order" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" Role="Login" Multiplicity="0..1" />
+ </Association>
+ <Association Name="OrderLine_Order">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" Role="OrderLine" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" Role="Order" Multiplicity="0..1" />
+ </Association>
+ <Association Name="OrderLine_Product">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" Role="OrderLine" Multiplicity="*" />
+ </Association>
+ <Association Name="Product_RelatedProducts">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="RelatedProducts" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" />
+ </Association>
+ <Association Name="Product_Detail">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail" Role="Detail" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" />
+ </Association>
+ <Association Name="Product_Reviews">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview" Role="Reviews" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" />
+ </Association>
+ <Association Name="Product_Photos">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto" Role="Photos" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="*" />
+ </Association>
+ <Association Name="ProductDetail_Product">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail" Role="ProductDetail" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="0..1" />
+ </Association>
+ <Association Name="ProductReview_Product">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview" Role="ProductReview" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" Role="Product" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Computer_ComputerDetail">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" Role="ComputerDetail" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" Role="Computer" Multiplicity="*" />
+ </Association>
+ <Association Name="ComputerDetail_Computer">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" Role="ComputerDetail" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" Role="Computer" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Driver_License">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.License" Role="License" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver" Role="Driver" Multiplicity="*" />
+ </Association>
+ <Association Name="License_Driver">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.License" Role="License" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver" Role="Driver" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Person_PersonMetadata">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata" Role="PersonMetadata" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Person" Role="Person" Multiplicity="*" />
+ </Association>
+ <Association Name="PersonMetadata_Person">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata" Role="PersonMetadata" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Person" Role="Person" Multiplicity="0..1" />
+ </Association>
+ <Association Name="Employee_Manager">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee" Role="Manager" Multiplicity="0..1" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee" Role="Employee" Multiplicity="*" />
+ </Association>
+ <Association Name="SpecialEmployee_Car">
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.SpecialEmployee" Role="SpecialEmployee" Multiplicity="*" />
+ <End Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Car" Role="Car" Multiplicity="0..1" />
+ </Association>
+ <EntityContainer Name="DefaultContainer" m:IsDefaultEntityContainer="true">
+ <EntitySet Name="AllGeoTypesSet" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialTypes" />
+ <EntitySet Name="AllGeoCollectionTypesSet" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.AllSpatialCollectionTypes" />
+ <EntitySet Name="Customer" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer" />
+ <EntitySet Name="Login" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Login" />
+ <EntitySet Name="RSAToken" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.RSAToken" />
+ <EntitySet Name="PageView" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.PageView" />
+ <EntitySet Name="LastLogin" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.LastLogin" />
+ <EntitySet Name="Message" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Message" />
+ <EntitySet Name="MessageAttachment" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.MessageAttachment" />
+ <EntitySet Name="Order" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Order" />
+ <EntitySet Name="OrderLine" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.OrderLine" />
+ <EntitySet Name="Product" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" />
+ <EntitySet Name="ProductDetail" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductDetail" />
+ <EntitySet Name="ProductReview" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductReview" />
+ <EntitySet Name="ProductPhoto" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.ProductPhoto" />
+ <EntitySet Name="CustomerInfo" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.CustomerInfo" />
+ <EntitySet Name="Computer" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" />
+ <EntitySet Name="ComputerDetail" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" />
+ <EntitySet Name="Driver" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Driver" />
+ <EntitySet Name="License" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.License" />
+ <EntitySet Name="MappedEntityType" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.MappedEntityType" />
+ <EntitySet Name="Car" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Car" />
+ <EntitySet Name="Person" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.Person" />
+ <EntitySet Name="PersonMetadata" EntityType="Microsoft.Test.OData.Services.AstoriaDefaultService.PersonMetadata" />
+ <FunctionImport Name="GetPrimitiveString" ReturnType="Edm.String" m:HttpMethod="GET" />
+ <FunctionImport Name="GetSpecificCustomer" ReturnType="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.Customer)" EntitySet="Customer" m:HttpMethod="GET">
+ <Parameter Name="Name" Type="Edm.String" />
+ </FunctionImport>
+ <FunctionImport Name="GetCustomerCount" ReturnType="Edm.Int32" m:HttpMethod="GET" />
+ <FunctionImport Name="GetArgumentPlusOne" ReturnType="Edm.Int32" m:HttpMethod="GET">
+ <Parameter Name="arg1" Type="Edm.Int32" Nullable="false" />
+ </FunctionImport>
+ <FunctionImport Name="EntityProjectionReturnsCollectionOfComplexTypes" ReturnType="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails)" m:HttpMethod="GET" />
+ <FunctionImport Name="ResetDataSource" m:HttpMethod="POST" />
+ <FunctionImport Name="InStreamErrorGetCustomer" ReturnType="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.Customer)" EntitySet="Customer" m:HttpMethod="GET" />
+ <FunctionImport Name="IncreaseSalaries" IsBindable="true" m:IsAlwaysBindable="true">
+ <Parameter Name="employees" Type="Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.Employee)" />
+ <Parameter Name="n" Type="Edm.Int32" Nullable="false" />
+ </FunctionImport>
+ <FunctionImport Name="Sack" IsBindable="true" m:IsAlwaysBindable="true">
+ <Parameter Name="employee" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Employee" />
+ </FunctionImport>
+ <FunctionImport Name="GetComputer" ReturnType="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" IsBindable="true" EntitySet="Computer" m:IsAlwaysBindable="true">
+ <Parameter Name="computer" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Computer" />
+ </FunctionImport>
+ <FunctionImport Name="ChangeProductDimensions" IsBindable="true" m:IsAlwaysBindable="true">
+ <Parameter Name="product" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Product" />
+ <Parameter Name="dimensions" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions" />
+ </FunctionImport>
+ <FunctionImport Name="ResetComputerDetailsSpecifications" IsBindable="true" m:IsAlwaysBindable="true">
+ <Parameter Name="computerDetail" Type="Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail" />
+ <Parameter Name="specifications" Type="Collection(Edm.String)" Nullable="false" />
+ <Parameter Name="purchaseTime" Type="Edm.DateTime" Nullable="false" />
+ </FunctionImport>
+ <AssociationSet Name="Customer_Orders" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Orders">
+ <End Role="Customer" EntitySet="Customer" />
+ <End Role="Orders" EntitySet="Order" />
+ </AssociationSet>
+ <AssociationSet Name="Customer_Logins" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Logins">
+ <End Role="Customer" EntitySet="Customer" />
+ <End Role="Logins" EntitySet="Login" />
+ </AssociationSet>
+ <AssociationSet Name="Customer_Husband" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Husband">
+ <End Role="Customer" EntitySet="Customer" />
+ <End Role="Husband" EntitySet="Customer" />
+ </AssociationSet>
+ <AssociationSet Name="Customer_Wife" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Wife">
+ <End Role="Customer" EntitySet="Customer" />
+ <End Role="Wife" EntitySet="Customer" />
+ </AssociationSet>
+ <AssociationSet Name="Customer_Info" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Customer_Info">
+ <End Role="Customer" EntitySet="Customer" />
+ <End Role="Info" EntitySet="CustomerInfo" />
+ </AssociationSet>
+ <AssociationSet Name="Login_Customer" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Customer">
+ <End Role="Login" EntitySet="Login" />
+ <End Role="Customer" EntitySet="Customer" />
+ </AssociationSet>
+ <AssociationSet Name="Login_LastLogin" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_LastLogin">
+ <End Role="Login" EntitySet="Login" />
+ <End Role="LastLogin" EntitySet="LastLogin" />
+ </AssociationSet>
+ <AssociationSet Name="Login_SentMessages" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_SentMessages">
+ <End Role="Login" EntitySet="Login" />
+ <End Role="SentMessages" EntitySet="Message" />
+ </AssociationSet>
+ <AssociationSet Name="Login_ReceivedMessages" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_ReceivedMessages">
+ <End Role="Login" EntitySet="Login" />
+ <End Role="ReceivedMessages" EntitySet="Message" />
+ </AssociationSet>
+ <AssociationSet Name="Login_Orders" Association="Microsoft.Test.OData.Services.AstoriaDefaultService.Login_Orders">
+ <End Role="Login" EntitySet="Login" />
+ <End Role="Orders" EntitySet="Order" />
+ </AssociationSet>
+ <AssociationSet Name="RSAToken_Login" Association="Microsoft.Test.OData
<TRUNCATED>
[09/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java
deleted file mode 100644
index 2c9e838..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v3/ValueTerm.java
+++ /dev/null
@@ -1,28 +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.odata4.client.api.edm.v3;
-
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public interface ValueTerm extends Named {
-
- String getType();
-
- void setType(String type);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java
deleted file mode 100644
index c32cb00..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Action.java
+++ /dev/null
@@ -1,43 +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.odata4.client.api.edm.v4;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Named;
-import org.apache.olingo.odata4.client.api.edm.CommonParameter;
-
-public interface Action extends Named {
-
- boolean isBound();
-
- void setBound(boolean bound);
-
- String getEntitySetPath();
-
- void setEntitySetPath(String entitySetPath);
-
- List<? extends CommonParameter> getParameters();
-
- CommonParameter getParameter(String name);
-
- ReturnType getReturnType();
-
- void setReturnType(ReturnType returnType);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java
deleted file mode 100644
index b1ebb52..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ActionImport.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm.v4;
-
-public interface ActionImport extends OperationImport {
-
- String getAction();
-
- void setAction(String action);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java
deleted file mode 100644
index b123bb2..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/AnnotatedEdmItem.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm.v4;
-
-public interface AnnotatedEdmItem {
-
- Annotation getAnnotation();
-
- void setAnnotation(Annotation annotation);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotation.java
deleted file mode 100644
index 0fe5109..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotation.java
+++ /dev/null
@@ -1,41 +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.odata4.client.api.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.ConstExprConstruct;
-import org.apache.olingo.odata4.client.api.edm.v4.annotation.DynExprConstruct;
-
-public interface Annotation {
-
- String getTerm();
-
- void setTerm(String term);
-
- String getQualifier();
-
- void setQualifier(String qualifier);
-
- ConstExprConstruct getConstExpr();
-
- void setConstExpr(ConstExprConstruct constExpr);
-
- DynExprConstruct getDynExpr();
-
- void setDynExpr(DynExprConstruct dynExpr);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java
deleted file mode 100644
index bc10f09..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Annotations.java
+++ /dev/null
@@ -1,29 +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.odata4.client.api.edm.v4;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.AbstractAnnotations;
-
-public interface Annotations extends AbstractAnnotations {
-
- List<? extends Annotation> getAnnotations();
-
- Annotation getAnnotation(String term);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/CSDLElement.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/CSDLElement.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/CSDLElement.java
deleted file mode 100644
index b29e4e4..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/CSDLElement.java
+++ /dev/null
@@ -1,37 +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.odata4.client.api.edm.v4;
-
-public enum CSDLElement {
-
- ActionImport,
- ComplexType,
- EntityContainer,
- EntitySet,
- EntityType,
- EnumType,
- FunctionImport,
- Member,
- NavigationProperty,
- Property,
- Singleton,
- Term,
- TypeDefinition
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java
deleted file mode 100644
index 5e2357b..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ComplexType.java
+++ /dev/null
@@ -1,35 +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.odata4.client.api.edm.v4;
-
-public interface ComplexType extends org.apache.olingo.odata4.client.api.edm.ComplexType, AnnotatedEdmItem {
-
- boolean isAbstractEntityType();
-
- void setAbstractEntityType(boolean abstractEntityType);
-
- String getBaseType();
-
- void setBaseType(String baseType);
-
- boolean isOpenType();
-
- void setOpenType(boolean openType);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java
deleted file mode 100644
index 24173ed..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Edmx.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm.v4;
-
-import java.util.List;
-
-public interface Edmx extends org.apache.olingo.odata4.client.api.edm.Edmx {
-
- List<? extends Reference> getReferences();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java
deleted file mode 100644
index 21b676f..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityContainer.java
+++ /dev/null
@@ -1,43 +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.odata4.client.api.edm.v4;
-
-import java.util.List;
-
-public interface EntityContainer extends org.apache.olingo.odata4.client.api.edm.EntityContainer {
-
- /**
- * Gets the first action import with given name.
- *
- * @param name name.
- * @return action import.
- */
- ActionImport getActionImport(String name);
-
- /**
- * Gets all action imports with given name.
- *
- * @param name name.
- * @return action imports.
- */
- List<? extends ActionImport> getActionImports(String name);
-
- List<? extends ActionImport> getActionImports();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java
deleted file mode 100644
index 703c0df..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntitySet.java
+++ /dev/null
@@ -1,30 +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.odata4.client.api.edm.v4;
-
-import java.util.List;
-
-public interface EntitySet extends org.apache.olingo.odata4.client.api.edm.EntitySet, AnnotatedEdmItem {
-
- boolean isIncludeInServiceDocument();
-
- void setIncludeInServiceDocument(boolean includeInServiceDocument);
-
- List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java
deleted file mode 100644
index 3e39e41..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/EntityType.java
+++ /dev/null
@@ -1,23 +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.odata4.client.api.edm.v4;
-
-public interface EntityType extends org.apache.olingo.odata4.client.api.edm.EntityType, ComplexType {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java
deleted file mode 100644
index bb9a817..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Function.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm.v4;
-
-public interface Function extends Action {
-
- boolean isComposable();
-
- void setComposable(boolean composable);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java
deleted file mode 100644
index 118edcc..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/FunctionImport.java
+++ /dev/null
@@ -1,32 +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.odata4.client.api.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.CommonFunctionImport;
-
-public interface FunctionImport extends OperationImport, CommonFunctionImport {
-
- String getFunction();
-
- void setFunction(String function);
-
- boolean isIncludeInServiceDocument();
-
- void setIncludeInServiceDocument(boolean includeInServiceDocument);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java
deleted file mode 100644
index 1c3c1ce..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Include.java
+++ /dev/null
@@ -1,30 +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.odata4.client.api.edm.v4;
-
-public interface Include {
-
- String getAlias();
-
- String getNamespace();
-
- void setAlias(final String alias);
-
- void setNamespace(final String namespace);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java
deleted file mode 100644
index 88ed162..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/IncludeAnnotations.java
+++ /dev/null
@@ -1,34 +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.odata4.client.api.edm.v4;
-
-public interface IncludeAnnotations {
-
- String getQualifier();
-
- String getTargeyNamespace();
-
- String getTermNamespace();
-
- void setQualifier(String qualifier);
-
- void setTargeyNamespace(String targeyNamespace);
-
- void setTermNamespace(String termNamespace);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java
deleted file mode 100644
index 9f34dc1..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationProperty.java
+++ /dev/null
@@ -1,49 +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.odata4.client.api.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.OnDelete;
-import java.util.List;
-
-public interface NavigationProperty
- extends org.apache.olingo.odata4.client.api.edm.CommonNavigationProperty, AnnotatedEdmItem {
-
- String getType();
-
- void setType(String type);
-
- boolean isNullable();
-
- void setNullable(boolean nullable);
-
- String getPartner();
-
- void setPartner(String partner);
-
- boolean isContainsTarget();
-
- void setContainsTarget(boolean containsTarget);
-
- List<? extends ReferentialConstraint> getReferentialConstraints();
-
- OnDelete getOnDelete();
-
- void setOnDelete(OnDelete onDelete);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java
deleted file mode 100644
index 650cbd9..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/NavigationPropertyBinding.java
+++ /dev/null
@@ -1,31 +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.odata4.client.api.edm.v4;
-
-public interface NavigationPropertyBinding {
-
- String getPath();
-
- void setPath(String path);
-
- String getTarget();
-
- void setTarget(String target);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDeleteAction.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDeleteAction.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDeleteAction.java
deleted file mode 100644
index 6116df0..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OnDeleteAction.java
+++ /dev/null
@@ -1,28 +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.odata4.client.api.edm.v4;
-
-public enum OnDeleteAction {
-
- Cascade,
- None,
- SetNull,
- SetDefault;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OperationImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OperationImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OperationImport.java
deleted file mode 100644
index d7fa80d..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/OperationImport.java
+++ /dev/null
@@ -1,28 +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.odata4.client.api.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public interface OperationImport extends Named, AnnotatedEdmItem {
-
- String getEntitySet();
-
- void setEntitySet(String entitySet);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Parameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Parameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Parameter.java
deleted file mode 100644
index 81a70c1..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Parameter.java
+++ /dev/null
@@ -1,26 +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.odata4.client.api.edm.v4;
-
-public interface Parameter extends org.apache.olingo.odata4.client.api.edm.CommonParameter {
-
- String getSrid();
-
- void setSrid(final String srid);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Property.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Property.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Property.java
deleted file mode 100644
index a9ea6b6..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Property.java
+++ /dev/null
@@ -1,25 +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.odata4.client.api.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.CommonProperty;
-
-public interface Property extends CommonProperty, AnnotatedEdmItem {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Reference.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Reference.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Reference.java
deleted file mode 100644
index ac6e520..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Reference.java
+++ /dev/null
@@ -1,35 +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.odata4.client.api.edm.v4;
-
-import java.net.URI;
-import java.util.List;
-
-public interface Reference {
-
- URI getUri();
-
- void setUri(URI uri);
-
- List<? extends Include> getIncludes();
-
- List<? extends IncludeAnnotations> getIncludeAnnotations();
-
- List<? extends Annotation> getAnnotations();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReferentialConstraint.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReferentialConstraint.java
deleted file mode 100644
index 4f0bd60..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReferentialConstraint.java
+++ /dev/null
@@ -1,31 +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.odata4.client.api.edm.v4;
-
-public interface ReferentialConstraint {
-
- String getProperty();
-
- void setProperty(String property);
-
- String getReferencedProperty();
-
- void setReferencedProperty(String referencedProperty);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReturnType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReturnType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReturnType.java
deleted file mode 100644
index 254f81e..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/ReturnType.java
+++ /dev/null
@@ -1,48 +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.odata4.client.api.edm.v4;
-
-import java.math.BigInteger;
-
-public interface ReturnType {
-
- String getMaxLength();
-
- BigInteger getPrecision();
-
- BigInteger getScale();
-
- String getSrid();
-
- String getType();
-
- boolean isNullable();
-
- void setMaxLength(String maxLength);
-
- void setNullable(boolean nullable);
-
- void setPrecision(BigInteger precision);
-
- void setScale(BigInteger scale);
-
- void setSrid(String srid);
-
- void setType(String type);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Singleton.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Singleton.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Singleton.java
deleted file mode 100644
index e443d6b..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Singleton.java
+++ /dev/null
@@ -1,32 +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.odata4.client.api.edm.v4;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public interface Singleton extends Named {
-
- String getType();
-
- void setType(String type);
-
- List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Term.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Term.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Term.java
deleted file mode 100644
index 4df1d53..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/Term.java
+++ /dev/null
@@ -1,60 +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.odata4.client.api.edm.v4;
-
-import java.math.BigInteger;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public interface Term extends Named {
-
- List<CSDLElement> getAppliesTo();
-
- String getBaseTerm();
-
- String getDefaultValue();
-
- String getMaxLength();
-
- BigInteger getPrecision();
-
- BigInteger getScale();
-
- String getSrid();
-
- String getType();
-
- boolean isNullable();
-
- void setBaseTerm(String baseTerm);
-
- void setDefaultValue(String defaultValue);
-
- void setMaxLength(String maxLength);
-
- void setNullable(boolean nullable);
-
- void setPrecision(BigInteger precision);
-
- void setScale(BigInteger scale);
-
- void setSrid(String srid);
-
- void setType(String type);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/TypeDefinition.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/TypeDefinition.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/TypeDefinition.java
deleted file mode 100644
index 063d8ee..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/TypeDefinition.java
+++ /dev/null
@@ -1,52 +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.odata4.client.api.edm.v4;
-
-import java.math.BigInteger;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Named;
-
-public interface TypeDefinition extends Named {
-
- List<? extends Annotation> getAnnotations();
-
- String getMaxLength();
-
- BigInteger getPrecision();
-
- BigInteger getScale();
-
- String getSrid();
-
- String getUnderlyingType();
-
- boolean isUnicode();
-
- void setMaxLength(String maxLength);
-
- void setPrecision(BigInteger precision);
-
- void setScale(BigInteger scale);
-
- void setSrid(String srid);
-
- void setUnderlyingType(String underlyingType);
-
- void setUnicode(boolean unicode);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ConstExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ConstExprConstruct.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ConstExprConstruct.java
deleted file mode 100644
index bbb0a55..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ConstExprConstruct.java
+++ /dev/null
@@ -1,56 +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.odata4.client.api.edm.v4.annotation;
-
-public interface ConstExprConstruct extends ExprConstruct {
-
- public enum Type {
-
- Binary,
- Bool,
- Date,
- DateTimeOffset,
- Decimal,
- Duration,
- EnumMember,
- Float,
- Guid,
- Int,
- String,
- TimeOfDay;
-
- public static Type fromString(final String value) {
- Type result = null;
- try {
- result = valueOf(value);
- } catch (IllegalArgumentException e) {
- // ignore
- }
- return result;
- }
- }
-
- Type getType();
-
- void setType(Type type);
-
- String getValue();
-
- void setValue(String value);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/DynExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/DynExprConstruct.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/DynExprConstruct.java
deleted file mode 100644
index cc731dc..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/DynExprConstruct.java
+++ /dev/null
@@ -1,23 +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.odata4.client.api.edm.v4.annotation;
-
-public interface DynExprConstruct extends ExprConstruct {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ExprConstruct.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ExprConstruct.java
deleted file mode 100644
index 3f13616..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/v4/annotation/ExprConstruct.java
+++ /dev/null
@@ -1,23 +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.odata4.client.api.edm.v4.annotation;
-
-public interface ExprConstruct {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/AbstractAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/AbstractAnnotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/AbstractAnnotations.java
new file mode 100644
index 0000000..76bf4d6
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/AbstractAnnotations.java
@@ -0,0 +1,30 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public abstract interface AbstractAnnotations {
+
+ String getTarget();
+
+ void setTarget(String target);
+
+ String getQualifier();
+
+ void setQualifier(String qualifier);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonFunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonFunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonFunctionImport.java
new file mode 100644
index 0000000..dcbd325
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonFunctionImport.java
@@ -0,0 +1,22 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface CommonFunctionImport extends Named {
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonNavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonNavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonNavigationProperty.java
new file mode 100644
index 0000000..9e6dd99
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonNavigationProperty.java
@@ -0,0 +1,22 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface CommonNavigationProperty extends Named {
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java
new file mode 100644
index 0000000..1366289
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java
@@ -0,0 +1,45 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import java.math.BigInteger;
+
+public interface CommonParameter extends Named {
+
+ String getType();
+
+ void setType(String type);
+
+ boolean isNullable();
+
+ void setNullable(boolean nullable);
+
+ String getMaxLength();
+
+ void setMaxLength(String maxLength);
+
+ BigInteger getPrecision();
+
+ void setPrecision(BigInteger precision);
+
+ BigInteger getScale();
+
+ void setScale(BigInteger scale);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java
new file mode 100644
index 0000000..1621cd2
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java
@@ -0,0 +1,74 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import java.math.BigInteger;
+import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
+import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
+
+public interface CommonProperty extends Named {
+
+ String getType();
+
+ void setType(String type);
+
+ boolean isNullable();
+
+ void setNullable(boolean nullable);
+
+ String getDefaultValue();
+
+ void setDefaultValue(String defaultValue);
+
+ String getMaxLength();
+
+ void setMaxLength(String maxLength);
+
+ boolean isFixedLength();
+
+ void setFixedLength(boolean fixedLength);
+
+ BigInteger getPrecision();
+
+ void setPrecision(BigInteger precision);
+
+ BigInteger getScale();
+
+ void setScale(BigInteger scale);
+
+ boolean isUnicode();
+
+ void setUnicode(boolean unicode);
+
+ String getCollation();
+
+ void setCollation(String collation);
+
+ String getSrid();
+
+ void setSrid(String srid);
+
+ ConcurrencyMode getConcurrencyMode();
+
+ void setConcurrencyMode(ConcurrencyMode concurrencyMode);
+
+ StoreGeneratedPattern getStoreGeneratedPattern();
+
+ void setStoreGeneratedPattern(StoreGeneratedPattern storeGeneratedPattern);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/ComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/ComplexType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/ComplexType.java
new file mode 100644
index 0000000..0c67599
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/ComplexType.java
@@ -0,0 +1,32 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import java.util.List;
+
+public interface ComplexType extends Named {
+
+ CommonProperty getProperty(String name);
+
+ List<? extends CommonProperty> getProperties();
+
+ CommonNavigationProperty getNavigationProperty(String name);
+
+ List<? extends CommonNavigationProperty> getNavigationProperties();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/DataServices.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/DataServices.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/DataServices.java
new file mode 100644
index 0000000..b4b4c95
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/DataServices.java
@@ -0,0 +1,34 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import java.util.List;
+
+public interface DataServices {
+
+ String getDataServiceVersion();
+
+ void setDataServiceVersion(String version);
+
+ String getMaxDataServiceVersion();
+
+ void setMaxDataServiceVersion(String version);
+
+ List<? extends Schema> getSchemas();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Edmx.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Edmx.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Edmx.java
new file mode 100644
index 0000000..e90bb85
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Edmx.java
@@ -0,0 +1,30 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface Edmx {
+
+ String getVersion();
+
+ void setVersion(String version);
+
+ DataServices getDataServices();
+
+ void setDataServices(DataServices dataServices);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityContainer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityContainer.java
new file mode 100644
index 0000000..73714a5
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityContainer.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.odata4.client.api.edm.xml;
+
+import java.util.List;
+
+public interface EntityContainer extends Named {
+
+ String getExtends();
+
+ void setExtends(String _extends);
+
+ boolean isLazyLoadingEnabled();
+
+ void setLazyLoadingEnabled(boolean lazyLoadingEnabled);
+
+ boolean isDefaultEntityContainer();
+
+ void setDefaultEntityContainer(boolean defaultEntityContainer);
+
+ EntitySet getEntitySet(String name);
+
+ List<? extends EntitySet> getEntitySets();
+
+ /**
+ * Gets the first function import with given name.
+ *
+ * @param name name.
+ * @return function import.
+ */
+ CommonFunctionImport getFunctionImport(String name);
+
+ /**
+ * Gets all function imports with given name.
+ *
+ * @param name name.
+ * @return function imports.
+ */
+ List<? extends CommonFunctionImport> getFunctionImports(String name);
+
+ List<? extends CommonFunctionImport> getFunctionImports();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityKey.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityKey.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityKey.java
new file mode 100644
index 0000000..1a6447e
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityKey.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import java.util.List;
+
+public interface EntityKey {
+
+ List<? extends PropertyRef> getPropertyRefs();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntitySet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntitySet.java
new file mode 100644
index 0000000..558b634
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntitySet.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface EntitySet extends Named {
+
+ String getEntityType();
+
+ void setEntityType(String entityType);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityType.java
new file mode 100644
index 0000000..d3ef1a7
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EntityType.java
@@ -0,0 +1,42 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface EntityType extends ComplexType {
+
+ boolean isAbstractEntityType();
+
+ void setAbstractEntityType(boolean abstractEntityType);
+
+ String getBaseType();
+
+ void setBaseType(String baseType);
+
+ boolean isOpenType();
+
+ void setOpenType(boolean openType);
+
+ EntityKey getKey();
+
+ void setKey(EntityKey key);
+
+ boolean isHasStream();
+
+ void setHasStream(boolean hasStream);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EnumType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EnumType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EnumType.java
new file mode 100644
index 0000000..15f81c7
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/EnumType.java
@@ -0,0 +1,38 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import java.util.List;
+
+public interface EnumType extends Named {
+
+ String getUnderlyingType();
+
+ void setUnderlyingType(String underlyingType);
+
+ boolean isFlags();
+
+ void setFlags(boolean flags);
+
+ List<? extends Member> getMembers();
+
+ Member getMember(String name);
+
+ Member getMember(Integer value);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java
new file mode 100644
index 0000000..cf1e258
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface Member {
+
+ String getName();
+
+ Integer getValue();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Named.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Named.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Named.java
new file mode 100644
index 0000000..89b4225
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Named.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface Named {
+
+ String getName();
+
+ void setName(String name);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/OnDelete.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/OnDelete.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/OnDelete.java
new file mode 100644
index 0000000..69ca408
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/OnDelete.java
@@ -0,0 +1,28 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.OnDeleteAction;
+
+public interface OnDelete {
+
+ OnDeleteAction getAction();
+
+ void setAction(OnDeleteAction action);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/PropertyRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/PropertyRef.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/PropertyRef.java
new file mode 100644
index 0000000..e8c800f
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/PropertyRef.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+public interface PropertyRef extends Named {
+
+ String getAlias();
+
+ void setAlias(String alias);
+}
[21/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java
new file mode 100644
index 0000000..8c17a1e
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityTypeImpl.java
@@ -0,0 +1,79 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.apache.olingo.odata4.client.api.edm.xml.PropertyRef;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntityType;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.api.edm.EdmKeyPropertyRef;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEntityType;
+import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
+
+public class EdmEntityTypeImpl extends AbstractEdmEntityType {
+
+ private final EdmStructuredTypeHelper helper;
+
+ public static EdmEntityTypeImpl getInstance(final Edm edm, final FullQualifiedName fqn, final EntityType entityType) {
+ final FullQualifiedName baseTypeName = entityType.getBaseType() == null
+ ? null : new EdmTypeInfo(entityType.getBaseType()).getFullQualifiedName();
+ final EdmEntityTypeImpl instance = new EdmEntityTypeImpl(edm, fqn, baseTypeName, entityType);
+ instance.baseType = instance.buildBaseType(baseTypeName);
+
+ if (instance.baseType == null) {
+ instance.entityBaseType = null;
+
+ final List<EdmKeyPropertyRef> edmKey = new ArrayList<EdmKeyPropertyRef>(
+ entityType.getKey().getPropertyRefs().size());
+ for (PropertyRef ref : entityType.getKey().getPropertyRefs()) {
+ edmKey.add(new EdmKeyPropertyRefImpl(instance, ref));
+ }
+ instance.setEdmKeyPropertyRef(edmKey);
+ } else {
+ instance.entityBaseType = (EdmEntityType) instance.baseType;
+ }
+
+ return instance;
+ }
+
+ private EdmEntityTypeImpl(final Edm edm, final FullQualifiedName fqn, final FullQualifiedName baseTypeName,
+ final EntityType entityType) {
+
+ super(edm, fqn, baseTypeName, entityType.isHasStream());
+ this.helper = new EdmStructuredTypeHelperImpl(edm, entityType);
+ }
+
+ @Override
+ protected Map<String, EdmProperty> getProperties() {
+ return helper.getProperties();
+ }
+
+ @Override
+ protected Map<String, EdmNavigationProperty> getNavigationProperties() {
+ return helper.getNavigationProperties();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java
new file mode 100644
index 0000000..6d090ab
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEnumTypeImpl.java
@@ -0,0 +1,83 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.commons.core.edm.EdmMemberImpl;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
+import org.apache.olingo.odata4.client.api.edm.xml.Member;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
+import org.apache.olingo.odata4.commons.api.edm.EdmMember;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEnumType;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+
+public class EdmEnumTypeImpl extends AbstractEdmEnumType implements EdmEnumType {
+
+ private final EdmPrimitiveType underlyingType;
+
+ private final List<String> memberNames;
+
+ private final Map<String, EdmMember> members;
+
+ public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName fqn, final EnumType xmlEnumType) {
+ super(edm, fqn, xmlEnumType.isFlags());
+
+ if (xmlEnumType.getUnderlyingType() == null) {
+ this.underlyingType = EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance();
+ } else {
+ this.underlyingType = EdmPrimitiveTypeKind.fromString(
+ xmlEnumType.getUnderlyingType()).getEdmPrimitiveTypeInstance();
+ // TODO: Should we validate that the underlying type is of byte, sbyte, in16, int32 or int64?
+ }
+
+ final List<? extends Member> xmlMembers = xmlEnumType.getMembers();
+ final List<String> _memberNames = new ArrayList<String>();
+ final Map<String, EdmMember> _members = new LinkedHashMap<String, EdmMember>(xmlMembers.size());
+ for (Member xmlMember : xmlMembers) {
+ _memberNames.add(xmlMember.getName());
+ _members.put(xmlMember.getName(), new EdmMemberImpl(edm, xmlMember.getName(), xmlMember.getValue()));
+ }
+ this.memberNames = Collections.unmodifiableList(_memberNames);
+ this.members = Collections.unmodifiableMap(_members);
+ }
+
+ @Override
+ public EdmPrimitiveType getUnderlyingType() {
+ return underlyingType;
+ }
+
+ @Override
+ public List<String> getMemberNames() {
+ return memberNames;
+ }
+
+ @Override
+ protected Collection<? extends EdmMember> getMembers() {
+ return members.values();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.java
new file mode 100644
index 0000000..aa83cb3
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImpl.java
@@ -0,0 +1,44 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Function;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public class EdmFunctionImpl extends EdmOperationImpl implements EdmFunction {
+
+ private final Function function;
+
+ public static EdmFunctionImpl getInstance(final Edm edm, final FullQualifiedName name, final Function function) {
+ return EdmOperationImpl.getInstance(new EdmFunctionImpl(edm, name, function));
+ }
+
+ private EdmFunctionImpl(final Edm edm, final FullQualifiedName name, final Function function) {
+ super(edm, name, function, EdmTypeKind.FUNCTION);
+ this.function = function;
+ }
+
+ @Override
+ public boolean isComposable() {
+ return function.isComposable();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java
new file mode 100644
index 0000000..8c65d59
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmFunctionImportImpl.java
@@ -0,0 +1,47 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.FunctionImport;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
+
+public class EdmFunctionImportImpl extends EdmOperationImportImpl implements EdmFunctionImport {
+
+ private final FunctionImport functionImport;
+
+ public EdmFunctionImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final FunctionImport functionImport) {
+
+ super(edm, container, name, functionImport);
+ this.functionImport = functionImport;
+ }
+
+ @Override
+ public EdmFunction getFunction(final List<String> parameterNames) {
+ return edm.getFunction(
+ new EdmTypeInfo(functionImport.getFunction(), container.getNamespace()).getFullQualifiedName(),
+ null, null, parameterNames);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmKeyPropertyRefImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmKeyPropertyRefImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmKeyPropertyRefImpl.java
new file mode 100644
index 0000000..0264c28
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmKeyPropertyRefImpl.java
@@ -0,0 +1,49 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.PropertyRef;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmKeyPropertyRef;
+
+public class EdmKeyPropertyRefImpl extends AbstractEdmKeyPropertyRef {
+
+ private final PropertyRef propertyRef;
+
+ public EdmKeyPropertyRefImpl(final EdmEntityType edmEntityType, final PropertyRef propertyRef) {
+ super(edmEntityType);
+ this.propertyRef = propertyRef;
+ }
+
+ @Override
+ public String getKeyPropertyName() {
+ return propertyRef.getName();
+ }
+
+ @Override
+ public String getAlias() {
+ return propertyRef.getAlias();
+ }
+
+ @Override
+ public String getPath() {
+ throw new UnsupportedOperationException("Not supported in client code.");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmNavigationPropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmNavigationPropertyImpl.java
new file mode 100644
index 0000000..9d79914
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmNavigationPropertyImpl.java
@@ -0,0 +1,74 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ReferentialConstraint;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmNavigationProperty;
+
+public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
+
+ private final NavigationProperty navigationProperty;
+
+ private final EdmTypeInfo edmTypeInfo;
+
+ public EdmNavigationPropertyImpl(final Edm edm, final NavigationProperty navigationProperty) {
+ super(edm, navigationProperty.getName());
+ this.navigationProperty = navigationProperty;
+ this.edmTypeInfo = new EdmTypeInfo(navigationProperty.getType());
+ }
+
+ @Override
+ protected FullQualifiedName getTypeFQN() {
+ return edmTypeInfo.getFullQualifiedName();
+ }
+
+ @Override
+ protected String internatGetPartner() {
+ return navigationProperty.getPartner();
+ }
+
+ @Override
+ public boolean isCollection() {
+ return edmTypeInfo.isCollection();
+ }
+
+ @Override
+ public Boolean isNullable() {
+ return navigationProperty.isNullable();
+ }
+
+ @Override
+ public String getReferencingPropertyName(final String referencedPropertyName) {
+ final List<? extends ReferentialConstraint> referentialConstraints = navigationProperty.getReferentialConstraints();
+ if (referentialConstraints != null) {
+ for (ReferentialConstraint constraint : referentialConstraints) {
+ if (constraint.getReferencedProperty().equals(referencedPropertyName)) {
+ return constraint.getProperty();
+ }
+ }
+ }
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImpl.java
new file mode 100644
index 0000000..932fe57
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImpl.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.odata4.client.core.edm;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonParameter;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Action;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmParameter;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmOperation;
+
+public abstract class EdmOperationImpl extends AbstractEdmOperation {
+
+ protected final Action operation;
+
+ protected static <T extends EdmOperationImpl> T getInstance(final T instance) {
+
+ final List<? extends CommonParameter> parameters = instance.operation.getParameters();
+ if (parameters != null) {
+ final List<EdmParameter> _parameters = new ArrayList<EdmParameter>(parameters.size());
+ for (CommonParameter parameter : parameters) {
+ _parameters.add(EdmParameterImpl.getInstance(instance.edm, parameter));
+ }
+ instance.setParameters(_parameters);
+ }
+
+ instance.setEntitySetPath(instance.operation.getEntitySetPath());
+
+ instance.setIsBound(instance.operation.isBound());
+
+ if (instance.operation.getReturnType() != null) {
+ instance.setReturnType(EdmReturnTypeImpl.getInstance(instance.edm, instance.operation.getReturnType()));
+ }
+
+ return instance;
+ }
+
+ protected EdmOperationImpl(final Edm edm, final FullQualifiedName name, final Action operation,
+ final EdmTypeKind kind) {
+
+ super(edm, name, kind);
+ this.operation = operation;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImportImpl.java
new file mode 100644
index 0000000..450ebc2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmOperationImportImpl.java
@@ -0,0 +1,35 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.OperationImport;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.Target;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmOperationImport;
+
+public abstract class EdmOperationImportImpl extends AbstractEdmOperationImport {
+
+ protected EdmOperationImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final OperationImport operationImport) {
+
+ super(edm, container, name, new Target.Builder(operationImport.getEntitySet(), container).build());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmParameterImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmParameterImpl.java
new file mode 100644
index 0000000..9b3beb4
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmParameterImpl.java
@@ -0,0 +1,74 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.CommonParameter;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmMapping;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmParameter;
+
+public class EdmParameterImpl extends AbstractEdmParameter {
+
+ private final CommonParameter parameter;
+
+ private final EdmTypeInfo parameterInfo;
+
+ public static EdmParameterImpl getInstance(final Edm edm, final CommonParameter parameter) {
+ final EdmTypeInfo paramTypeInfo = new EdmTypeInfo(parameter.getType());
+ return new EdmParameterImpl(edm, parameter, paramTypeInfo);
+ }
+
+ private EdmParameterImpl(final Edm edm, final CommonParameter parameter, final EdmTypeInfo parameterInfo) {
+ super(edm, parameter.getName(), parameterInfo.getFullQualifiedName());
+ this.parameter = parameter;
+ this.parameterInfo = parameterInfo;
+ }
+
+ @Override
+ public boolean isCollection() {
+ return parameterInfo.isCollection();
+ }
+
+ @Override
+ public EdmMapping getMapping() {
+ throw new UnsupportedOperationException("Not supported in client code.");
+ }
+
+ @Override
+ public Boolean isNullable() {
+ return parameter.isNullable();
+ }
+
+ @Override
+ public Integer getMaxLength() {
+ return parameter.getMaxLength();
+ }
+
+ @Override
+ public Integer getPrecision() {
+ return parameter.getPrecision();
+ }
+
+ @Override
+ public Integer getScale() {
+ return parameter.getScale();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmPropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmPropertyImpl.java
new file mode 100644
index 0000000..20ffb2c
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmPropertyImpl.java
@@ -0,0 +1,91 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.CommonProperty;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmMapping;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmProperty;
+
+public class EdmPropertyImpl extends AbstractEdmProperty implements EdmProperty {
+
+ private final CommonProperty property;
+
+ private final EdmTypeInfo edmTypeInfo;
+
+ public EdmPropertyImpl(final Edm edm, final CommonProperty property) {
+ super(edm, property.getName());
+ this.property = property;
+ this.edmTypeInfo = new EdmTypeInfo(property.getType());
+ }
+
+ @Override
+ protected FullQualifiedName getTypeFQN() {
+ return edmTypeInfo.getFullQualifiedName();
+ }
+
+ @Override
+ public boolean isCollection() {
+ return edmTypeInfo.isCollection();
+ }
+
+ @Override
+ public EdmMapping getMapping() {
+ throw new UnsupportedOperationException("Not supported in client code.");
+ }
+
+ @Override
+ public String getMimeType() {
+ throw new UnsupportedOperationException("Not supported in client code.");
+ }
+
+ @Override
+ public Boolean isNullable() {
+ return property.isNullable();
+ }
+
+ @Override
+ public Integer getMaxLength() {
+ return property.getMaxLength();
+ }
+
+ @Override
+ public Integer getPrecision() {
+ return property.getPrecision();
+ }
+
+ @Override
+ public Integer getScale() {
+ return property.getScale();
+ }
+
+ @Override
+ public Boolean isUnicode() {
+ return property.isUnicode();
+ }
+
+ @Override
+ public String getDefaultValue() {
+ return property.getDefaultValue();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmReturnTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmReturnTypeImpl.java
new file mode 100644
index 0000000..c17b996
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmReturnTypeImpl.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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ReturnType;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmReturnType;
+
+public class EdmReturnTypeImpl extends AbstractEdmReturnType {
+
+ private final ReturnType returnType;
+
+ private final EdmTypeInfo returnTypeInfo;
+
+ public static EdmReturnTypeImpl getInstance(final Edm edm, final ReturnType returnType) {
+ final EdmTypeInfo returnTypeInfo = new EdmTypeInfo(returnType.getType());
+ return new EdmReturnTypeImpl(edm, returnType, returnTypeInfo);
+ }
+
+ private EdmReturnTypeImpl(final Edm edm, final ReturnType returnType, final EdmTypeInfo returnTypeInfo) {
+ super(edm, returnTypeInfo.getFullQualifiedName());
+ this.returnType = returnType;
+ this.returnTypeInfo = returnTypeInfo;
+ }
+
+ @Override
+ public Boolean isNullable() {
+ return returnType.isNullable();
+ }
+
+ @Override
+ public Integer getMaxLength() {
+ return returnType.getMaxLength();
+ }
+
+ @Override
+ public Integer getPrecision() {
+ return returnType.getPrecision();
+ }
+
+ @Override
+ public Integer getScale() {
+ return returnType.getScale();
+ }
+
+ @Override
+ public boolean isCollection() {
+ return returnTypeInfo.isCollection();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmSingletonImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmSingletonImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmSingletonImpl.java
new file mode 100644
index 0000000..6d14154
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmSingletonImpl.java
@@ -0,0 +1,35 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Singleton;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+
+public class EdmSingletonImpl extends EdmBindingTargetImpl implements EdmSingleton {
+
+ public EdmSingletonImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final FullQualifiedName type, final Singleton singleton) {
+
+ super(edm, container, name, type, singleton);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmStructuredTypeHelperImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmStructuredTypeHelperImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmStructuredTypeHelperImpl.java
new file mode 100644
index 0000000..c090f50
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmStructuredTypeHelperImpl.java
@@ -0,0 +1,71 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonNavigationProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ComplexType;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
+
+public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
+
+ private final Edm edm;
+
+ private final ComplexType complexType;
+
+ private Map<String, EdmProperty> properties;
+
+ private Map<String, EdmNavigationProperty> navigationProperties;
+
+ public EdmStructuredTypeHelperImpl(final Edm edm, final ComplexType complexType) {
+ this.edm = edm;
+ this.complexType = complexType;
+ }
+
+ @Override
+ public Map<String, EdmProperty> getProperties() {
+ if (properties == null) {
+ properties = new LinkedHashMap<String, EdmProperty>();
+ for (CommonProperty property : complexType.getProperties()) {
+ properties.put(property.getName(), new EdmPropertyImpl(edm, property));
+ }
+ }
+ return properties;
+ }
+
+ @Override
+ public Map<String, EdmNavigationProperty> getNavigationProperties() {
+ if (navigationProperties == null) {
+ navigationProperties = new LinkedHashMap<String, EdmNavigationProperty>();
+ for (CommonNavigationProperty navigationProperty : complexType.getNavigationProperties()) {
+ if (navigationProperty instanceof NavigationProperty) {
+ navigationProperties.put(navigationProperty.getName(),
+ new EdmNavigationPropertyImpl(edm, (NavigationProperty) navigationProperty));
+ }
+ }
+ }
+ return navigationProperties;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmTypeDefinitionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmTypeDefinitionImpl.java
new file mode 100644
index 0000000..43a5455
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmTypeDefinitionImpl.java
@@ -0,0 +1,74 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.TypeDefinition;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.EdmTypeDefinition;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmTypeDefinition;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+
+public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition implements EdmTypeDefinition {
+
+ private TypeDefinition typeDefinition;
+
+ private EdmPrimitiveType edmPrimitiveTypeInstance;
+
+ public EdmTypeDefinitionImpl(final Edm edm, final FullQualifiedName typeDefinitionName,
+ final TypeDefinition typeDefinition) {
+
+ super(edm, typeDefinitionName);
+ this.typeDefinition = typeDefinition;
+ // TODO: Should we check for edmNamespace in the underlying type name?
+ try {
+ edmPrimitiveTypeInstance = EdmPrimitiveTypeKind.fromString(
+ typeDefinition.getUnderlyingType()).getEdmPrimitiveTypeInstance();
+ } catch (IllegalArgumentException e) {
+ throw new EdmException("Invalid underlying type: " + typeDefinition.getUnderlyingType(), e);
+ }
+ }
+
+ @Override
+ public EdmPrimitiveType getUnderlyingType() {
+ return edmPrimitiveTypeInstance;
+ }
+
+ @Override
+ public Integer getMaxLength() {
+ return typeDefinition.getMaxLength();
+ }
+
+ @Override
+ public Integer getPrecision() {
+ return typeDefinition.getPrecision();
+ }
+
+ @Override
+ public Integer getScale() {
+ return typeDefinition.getScale();
+ }
+
+ @Override
+ public Boolean isUnicode() {
+ return typeDefinition.isUnicode();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java
deleted file mode 100644
index f7e1993..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmMetadataImpl.java
+++ /dev/null
@@ -1,51 +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.odata4.client.core.edm.v3;
-
-import java.io.InputStream;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.ODataClient;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmMetadata;
-import org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl;
-
-public class EdmMetadataImpl extends AbstractEdmMetadata {
-
- private static final long serialVersionUID = -7765327879691528010L;
-
- public EdmMetadataImpl(final ODataClient client, final InputStream inputStream) {
- super(client, inputStream);
- }
-
- @Override
- public SchemaImpl getSchema(final int index) {
- return (SchemaImpl) super.getSchema(index);
- }
-
- @Override
- public SchemaImpl getSchema(final String key) {
- return (SchemaImpl) super.getSchema(key);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public List<SchemaImpl> getSchemas() {
- return (List<SchemaImpl>) super.getSchemas();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmServiceMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmServiceMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmServiceMetadataImpl.java
new file mode 100644
index 0000000..1b84dcb
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmServiceMetadataImpl.java
@@ -0,0 +1,52 @@
+/*
+ * 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.odata4.client.core.edm.v3;
+
+import java.util.Collections;
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.AbstractEdmServiceMetadataImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.XMLMetadataImpl;
+import org.apache.olingo.odata4.commons.api.edm.EdmActionImportInfo;
+import org.apache.olingo.odata4.commons.api.edm.EdmSingletonInfo;
+import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
+
+public class EdmServiceMetadataImpl extends AbstractEdmServiceMetadataImpl {
+
+ private static final ODataServiceVersion SERVICE_VERSION = ODataServiceVersion.V30;
+
+ public EdmServiceMetadataImpl(final XMLMetadataImpl xmlMetadata) {
+ super(xmlMetadata);
+ }
+
+ @Override
+ public String getDataServiceVersion() {
+ return SERVICE_VERSION.toString();
+ }
+
+ @Override
+ public List<EdmSingletonInfo> getSingletonInfos() {
+ return Collections.<EdmSingletonInfo>emptyList();
+ }
+
+ @Override
+ public List<EdmActionImportInfo> getActionImportInfos() {
+ return Collections.<EdmActionImportInfo>emptyList();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
index 551c4ef..18216c6 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v3/EdmTypeImpl.java
@@ -18,7 +18,8 @@
*/
package org.apache.olingo.odata4.client.core.edm.v3;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmType;
+import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmType;
import org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v3.EnumTypeImpl;
@@ -29,7 +30,7 @@ public class EdmTypeImpl extends AbstractEdmType {
super(typeExpression);
}
- public EdmTypeImpl(final EdmMetadataImpl metadata, final String typeExpression) {
+ public EdmTypeImpl(final XMLMetadata metadata, final String typeExpression) {
super(metadata, typeExpression);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java
deleted file mode 100644
index e572985..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java
+++ /dev/null
@@ -1,56 +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.odata4.client.core.edm.v4;
-
-import java.io.InputStream;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.ODataClient;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmMetadata;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.EdmxImpl;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.ReferenceImpl;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl;
-
-public class EdmMetadataImpl extends AbstractEdmMetadata {
-
- private static final long serialVersionUID = -7765327879691528010L;
-
- public EdmMetadataImpl(final ODataClient client, final InputStream inputStream) {
- super(client, inputStream);
- }
-
- @Override
- public SchemaImpl getSchema(final int index) {
- return (SchemaImpl) super.getSchema(index);
- }
-
- @Override
- public SchemaImpl getSchema(final String key) {
- return (SchemaImpl) super.getSchema(key);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public List<SchemaImpl> getSchemas() {
- return (List<SchemaImpl>) super.getSchemas();
- }
-
- public List<ReferenceImpl> getReferences() {
- return ((EdmxImpl) this.edmx).getReferences();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmServiceMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmServiceMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmServiceMetadataImpl.java
new file mode 100644
index 0000000..2f797ee
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmServiceMetadataImpl.java
@@ -0,0 +1,83 @@
+/*
+ * 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.odata4.client.core.edm.v4;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ActionImport;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Singleton;
+import org.apache.olingo.odata4.client.core.edm.AbstractEdmServiceMetadataImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.XMLMetadataImpl;
+import org.apache.olingo.odata4.commons.api.edm.EdmActionImportInfo;
+import org.apache.olingo.odata4.commons.api.edm.EdmSingletonInfo;
+import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.odata4.commons.core.edm.EdmActionImportInfoImpl;
+import org.apache.olingo.odata4.commons.core.edm.EdmSingletonInfoImpl;
+
+public class EdmServiceMetadataImpl extends AbstractEdmServiceMetadataImpl {
+
+ private static final ODataServiceVersion SERVICE_VERSION = ODataServiceVersion.V40;
+
+ private List<EdmSingletonInfo> singletonInfos;
+
+ private List<EdmActionImportInfo> actionImportInfos;
+
+ public EdmServiceMetadataImpl(final XMLMetadataImpl xmlMetadata) {
+ super(xmlMetadata);
+ }
+
+ @Override
+ public String getDataServiceVersion() {
+ return SERVICE_VERSION.toString();
+ }
+
+ @Override
+ public List<EdmSingletonInfo> getSingletonInfos() {
+ synchronized (this) {
+ if (singletonInfos == null) {
+ singletonInfos = new ArrayList<EdmSingletonInfo>();
+ for (Schema schema : xmlMetadata.getSchemas()) {
+ final EntityContainer entityContainer = (EntityContainer) schema.getDefaultEntityContainer();
+ for (Singleton singleton : entityContainer.getSingletons()) {
+ singletonInfos.add(new EdmSingletonInfoImpl(entityContainer.getName(), singleton.getName()));
+ }
+ }
+ }
+ return singletonInfos;
+ }
+ }
+
+ @Override
+ public List<EdmActionImportInfo> getActionImportInfos() {
+ synchronized (this) {
+ if (actionImportInfos == null) {
+ actionImportInfos = new ArrayList<EdmActionImportInfo>();
+ for (Schema schema : xmlMetadata.getSchemas()) {
+ final EntityContainer entityContainer = (EntityContainer) schema.getDefaultEntityContainer();
+ for (ActionImport actionImport : entityContainer.getActionImports()) {
+ actionImportInfos.add(new EdmActionImportInfoImpl(entityContainer.getName(), actionImport.getName()));
+ }
+ }
+ }
+ return actionImportInfos;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
index e71efef..c693f9c 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
@@ -18,7 +18,8 @@
*/
package org.apache.olingo.odata4.client.core.edm.v4;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmType;
+import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmType;
import org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl;
@@ -29,7 +30,7 @@ public class EdmTypeImpl extends AbstractEdmType {
super(typeExpression);
}
- public EdmTypeImpl(final EdmMetadataImpl metadata, final String typeExpression) {
+ public EdmTypeImpl(final XMLMetadata metadata, final String typeExpression) {
super(metadata, typeExpression);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AbstractElOrAttrConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AbstractElOrAttrConstruct.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AbstractElOrAttrConstruct.java
deleted file mode 100644
index 8f3365f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AbstractElOrAttrConstruct.java
+++ /dev/null
@@ -1,37 +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.odata4.client.core.edm.v4.annotation;
-
-/**
- * Groups dynamic expressions that may be provided using element notation or attribute notation.
- */
-abstract class AbstractElOrAttrConstruct extends DynExprConstructImpl {
-
- private static final long serialVersionUID = 5503275111425750339L;
-
- private String value;
-
- public String getValue() {
- return value;
- }
-
- public void setValue(final String value) {
- this.value = value;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java
deleted file mode 100644
index b32dcae..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotatedDynExprConstruct.java
+++ /dev/null
@@ -1,40 +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.odata4.client.core.edm.v4.annotation;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-abstract class AnnotatedDynExprConstruct extends DynExprConstructImpl implements AnnotatedEdmItem {
-
- private static final long serialVersionUID = -8117155475397749038L;
-
- private AnnotationImpl annotation;
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotationPath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotationPath.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotationPath.java
deleted file mode 100644
index f04778c..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/AnnotationPath.java
+++ /dev/null
@@ -1,25 +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.odata4.client.core.edm.v4.annotation;
-
-public class AnnotationPath extends AbstractElOrAttrConstruct {
-
- private static final long serialVersionUID = 6198019768659098819L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java
deleted file mode 100644
index 8d49884..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Apply.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
-
-@JsonDeserialize(using = ApplyDeserializer.class)
-public class Apply extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = 6198019768659098819L;
-
- public static final String CANONICAL_FUNCTION_CONCAT = "odata.concat";
-
- public static final String CANONICAL_FUNCTION_FILLURITEMPLATE = "odata.fillUriTemplate";
-
- public static final String CANONICAL_FUNCTION_URIENCODE = "odata.uriEncode";
-
- private String function;
-
- private final List<ExprConstruct> parameters = new ArrayList<ExprConstruct>();
-
- public String getFunction() {
- return function;
- }
-
- public void setFunction(final String function) {
- this.function = function;
- }
-
- public List<ExprConstruct> getParameters() {
- return parameters;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java
deleted file mode 100644
index 6468685..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ApplyDeserializer.java
+++ /dev/null
@@ -1,55 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-public class ApplyDeserializer extends AbstractEdmDeserializer<Apply> {
-
- @Override
- protected Apply doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final Apply apply = new Apply();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Function".equals(jp.getCurrentName())) {
- apply.setFunction(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- apply.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- } else if (isAnnotationConstExprConstruct(jp)) {
- apply.getParameters().add(parseAnnotationConstExprConstruct(jp));
- } else {
- apply.getParameters().add(jp.readValueAs(DynExprConstructImpl.class));
- }
- }
- }
-
- return apply;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java
deleted file mode 100644
index 970d33f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Cast.java
+++ /dev/null
@@ -1,90 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.math.BigInteger;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
-
-@JsonDeserialize(using = CastDeserializer.class)
-public class Cast extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = -7836626668653004926L;
-
- private String type;
-
- private String maxLength;
-
- private BigInteger precision;
-
- private BigInteger scale;
-
- private String srid;
-
- private DynExprConstruct value;
-
- public String getType() {
- return type;
- }
-
- public void setType(final String type) {
- this.type = type;
- }
-
- public String getMaxLength() {
- return maxLength;
- }
-
- public void setMaxLength(final String maxLength) {
- this.maxLength = maxLength;
- }
-
- public BigInteger getPrecision() {
- return precision;
- }
-
- public void setPrecision(final BigInteger precision) {
- this.precision = precision;
- }
-
- public BigInteger getScale() {
- return scale;
- }
-
- public void setScale(final BigInteger scale) {
- this.scale = scale;
- }
-
- public String getSrid() {
- return srid;
- }
-
- public void setSrid(final String srid) {
- this.srid = srid;
- }
-
- public DynExprConstruct getValue() {
- return value;
- }
-
- public void setValue(final DynExprConstruct value) {
- this.value = value;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.java
deleted file mode 100644
index a404944..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CastDeserializer.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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import java.math.BigInteger;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-public class CastDeserializer extends AbstractEdmDeserializer<Cast> {
-
- @Override
- protected Cast doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final Cast cast = new Cast();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Type".equals(jp.getCurrentName())) {
- cast.setType(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- cast.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- } else if ("MaxLength".equals(jp.getCurrentName())) {
- cast.setMaxLength(jp.nextTextValue());
- } else if ("Precision".equals(jp.getCurrentName())) {
- cast.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("Scale".equals(jp.getCurrentName())) {
- cast.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("SRID".equals(jp.getCurrentName())) {
- cast.setSrid(jp.nextTextValue());
- } else {
- cast.setValue(jp.readValueAs(DynExprConstructImpl.class));
- }
- }
- }
-
- return cast;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java
deleted file mode 100644
index 62925d1..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Collection.java
+++ /dev/null
@@ -1,37 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
-
-@JsonDeserialize(using = CollectionDeserializer.class)
-public class Collection extends DynExprConstructImpl {
-
- private static final long serialVersionUID = -4975881520695477686L;
-
- private final List<ExprConstruct> items = new ArrayList<ExprConstruct>();
-
- public List<ExprConstruct> getItems() {
- return items;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CollectionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CollectionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CollectionDeserializer.java
deleted file mode 100644
index a16748f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/CollectionDeserializer.java
+++ /dev/null
@@ -1,50 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class CollectionDeserializer extends AbstractEdmDeserializer<Collection> {
-
- @Override
- protected Collection doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final Collection collection = new Collection();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if (isAnnotationConstExprConstruct(jp)) {
- collection.getItems().add(parseAnnotationConstExprConstruct(jp));
- } else {
- collection.getItems().add(jp.readValueAs( DynExprConstructImpl.class));
- }
- }
- }
-
- return collection;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java
deleted file mode 100644
index 9d27cdb..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ConstExprConstructImpl.java
+++ /dev/null
@@ -1,51 +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.odata4.client.core.edm.v4.annotation;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ConstExprConstruct;
-
-public class ConstExprConstructImpl extends ExprConstructImpl implements ConstExprConstruct {
-
- private static final long serialVersionUID = 2250072064504668969L;
-
- private Type type;
-
- private String value;
-
- @Override
- public Type getType() {
- return type;
- }
-
- @Override
- public void setType(final Type type) {
- this.type = type;
- }
-
- @Override
- public String getValue() {
- return value;
- }
-
- @Override
- public void setValue(final String value) {
- this.value = value;
- }
-
-}
[17/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/northwind-metadata.xml
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/northwind-metadata.xml b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/northwind-metadata.xml
index 4c3c37d..f65815d 100644
--- a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/northwind-metadata.xml
+++ b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/northwind-metadata.xml
@@ -19,4 +19,453 @@
under the License.
-->
-<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"><edmx:DataServices><Schema Namespace="NorthwindModel" xmlns="http://docs.oasis-open.org/odata/ns/edm"><EntityType Name="Category"><Key><PropertyRef Name="CategoryID" /></Key><Property Name="CategoryID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" /><Property Name="Description" Type="Edm.String" MaxLength="max" /><Property Name="Picture" Type="Edm.Binary" MaxLength="max" /><NavigationProperty Name="Products" Type="Collection(NorthwindModel.Product)" Partner="Category" /></EntityType><EntityType Name="CustomerDemographic"><Key><PropertyRef Name="CustomerTypeID" /></Key><Property Name="CustomerTypeID" Type="Edm.String" Nullable="false" MaxLength="10" /><Property Name="CustomerDesc" Type="Edm.String" MaxLength="max" /><NavigationProperty
Name="Customers" Type="Collection(NorthwindModel.Customer)" Partner="CustomerDemographics" /></EntityType><EntityType Name="Customer"><Key><PropertyRef Name="CustomerID" /></Key><Property Name="CustomerID" Type="Edm.String" Nullable="false" MaxLength="5" /><Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="ContactName" Type="Edm.String" MaxLength="30" /><Property Name="ContactTitle" Type="Edm.String" MaxLength="30" /><Property Name="Address" Type="Edm.String" MaxLength="60" /><Property Name="City" Type="Edm.String" MaxLength="15" /><Property Name="Region" Type="Edm.String" MaxLength="15" /><Property Name="PostalCode" Type="Edm.String" MaxLength="10" /><Property Name="Country" Type="Edm.String" MaxLength="15" /><Property Name="Phone" Type="Edm.String" MaxLength="24" /><Property Name="Fax" Type="Edm.String" MaxLength="24" /><NavigationProperty Name="Orders" Type="Collection(NorthwindModel.Order)" Partner="Customer" /><NavigationProperty Na
me="CustomerDemographics" Type="Collection(NorthwindModel.CustomerDemographic)" Partner="Customers" /></EntityType><EntityType Name="Employee"><Key><PropertyRef Name="EmployeeID" /></Key><Property Name="EmployeeID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="LastName" Type="Edm.String" Nullable="false" MaxLength="20" /><Property Name="FirstName" Type="Edm.String" Nullable="false" MaxLength="10" /><Property Name="Title" Type="Edm.String" MaxLength="30" /><Property Name="TitleOfCourtesy" Type="Edm.String" MaxLength="25" /><Property Name="BirthDate" Type="Edm.DateTimeOffset" /><Property Name="HireDate" Type="Edm.DateTimeOffset" /><Property Name="Address" Type="Edm.String" MaxLength="60" /><Property Name="City" Type="Edm.String" MaxLength="15" /><Property Name="Region" Type="Edm.String" MaxLength="15" /><Property Name="PostalCode" Type="Edm.String" MaxLength="10" /><Property Na
me="Country" Type="Edm.String" MaxLength="15" /><Property Name="HomePhone" Type="Edm.String" MaxLength="24" /><Property Name="Extension" Type="Edm.String" MaxLength="4" /><Property Name="Photo" Type="Edm.Binary" MaxLength="max" /><Property Name="Notes" Type="Edm.String" MaxLength="max" /><Property Name="ReportsTo" Type="Edm.Int32" /><Property Name="PhotoPath" Type="Edm.String" MaxLength="255" /><NavigationProperty Name="Employees1" Type="Collection(NorthwindModel.Employee)" Partner="Employee1" /><NavigationProperty Name="Employee1" Type="NorthwindModel.Employee" Partner="Employees1"><ReferentialConstraint Property="ReportsTo" ReferencedProperty="EmployeeID" /></NavigationProperty><NavigationProperty Name="Orders" Type="Collection(NorthwindModel.Order)" Partner="Employee" /><NavigationProperty Name="Territories" Type="Collection(NorthwindModel.Territory)" Partner="Employees" /></EntityType><EntityType Name="Order_Detail"><Key><PropertyRef Name="OrderID" /><PropertyRef Name="ProductID
" /></Key><Property Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="UnitPrice" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="Quantity" Type="Edm.Int16" Nullable="false" /><Property Name="Discount" Type="Edm.Single" Nullable="false" /><NavigationProperty Name="Order" Type="NorthwindModel.Order" Nullable="false" Partner="Order_Details"><ReferentialConstraint Property="OrderID" ReferencedProperty="OrderID" /></NavigationProperty><NavigationProperty Name="Product" Type="NorthwindModel.Product" Nullable="false" Partner="Order_Details"><ReferentialConstraint Property="ProductID" ReferencedProperty="ProductID" /></NavigationProperty></EntityType><EntityType Name="Order"><Key><PropertyRef Name="OrderID" /></Key><Property Name="OrderID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Prop
erty Name="CustomerID" Type="Edm.String" MaxLength="5" /><Property Name="EmployeeID" Type="Edm.Int32" /><Property Name="OrderDate" Type="Edm.DateTimeOffset" /><Property Name="RequiredDate" Type="Edm.DateTimeOffset" /><Property Name="ShippedDate" Type="Edm.DateTimeOffset" /><Property Name="ShipVia" Type="Edm.Int32" /><Property Name="Freight" Type="Edm.Decimal" Precision="19" Scale="4" /><Property Name="ShipName" Type="Edm.String" MaxLength="40" /><Property Name="ShipAddress" Type="Edm.String" MaxLength="60" /><Property Name="ShipCity" Type="Edm.String" MaxLength="15" /><Property Name="ShipRegion" Type="Edm.String" MaxLength="15" /><Property Name="ShipPostalCode" Type="Edm.String" MaxLength="10" /><Property Name="ShipCountry" Type="Edm.String" MaxLength="15" /><NavigationProperty Name="Customer" Type="NorthwindModel.Customer" Partner="Orders"><ReferentialConstraint Property="CustomerID" ReferencedProperty="CustomerID" /></NavigationProperty><NavigationProperty Name="Employee" Type="No
rthwindModel.Employee" Partner="Orders"><ReferentialConstraint Property="EmployeeID" ReferencedProperty="EmployeeID" /></NavigationProperty><NavigationProperty Name="Order_Details" Type="Collection(NorthwindModel.Order_Detail)" Partner="Order" /><NavigationProperty Name="Shipper" Type="NorthwindModel.Shipper" Partner="Orders"><ReferentialConstraint Property="ShipVia" ReferencedProperty="ShipperID" /></NavigationProperty></EntityType><EntityType Name="Product"><Key><PropertyRef Name="ProductID" /></Key><Property Name="ProductID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="SupplierID" Type="Edm.Int32" /><Property Name="CategoryID" Type="Edm.Int32" /><Property Name="QuantityPerUnit" Type="Edm.String" MaxLength="20" /><Property Name="UnitPrice" Type="Edm.Decimal" Precision="19" Scale="4" /><Propert
y Name="UnitsInStock" Type="Edm.Int16" /><Property Name="UnitsOnOrder" Type="Edm.Int16" /><Property Name="ReorderLevel" Type="Edm.Int16" /><Property Name="Discontinued" Type="Edm.Boolean" Nullable="false" /><NavigationProperty Name="Category" Type="NorthwindModel.Category" Partner="Products"><ReferentialConstraint Property="CategoryID" ReferencedProperty="CategoryID" /></NavigationProperty><NavigationProperty Name="Order_Details" Type="Collection(NorthwindModel.Order_Detail)" Partner="Product" /><NavigationProperty Name="Supplier" Type="NorthwindModel.Supplier" Partner="Products"><ReferentialConstraint Property="SupplierID" ReferencedProperty="SupplierID" /></NavigationProperty></EntityType><EntityType Name="Region"><Key><PropertyRef Name="RegionID" /></Key><Property Name="RegionID" Type="Edm.Int32" Nullable="false" /><Property Name="RegionDescription" Type="Edm.String" Nullable="false" MaxLength="50" /><NavigationProperty Name="Territories" Type="Collection(NorthwindModel.Territory
)" Partner="Region" /></EntityType><EntityType Name="Shipper"><Key><PropertyRef Name="ShipperID" /></Key><Property Name="ShipperID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="Phone" Type="Edm.String" MaxLength="24" /><NavigationProperty Name="Orders" Type="Collection(NorthwindModel.Order)" Partner="Shipper" /></EntityType><EntityType Name="Supplier"><Key><PropertyRef Name="SupplierID" /></Key><Property Name="SupplierID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="ContactName" Type="Edm.String" MaxLength="30" /><Property Name="ContactTitle" Type="Edm.String" MaxLength="30" /><Property Name="Address" Type="
Edm.String" MaxLength="60" /><Property Name="City" Type="Edm.String" MaxLength="15" /><Property Name="Region" Type="Edm.String" MaxLength="15" /><Property Name="PostalCode" Type="Edm.String" MaxLength="10" /><Property Name="Country" Type="Edm.String" MaxLength="15" /><Property Name="Phone" Type="Edm.String" MaxLength="24" /><Property Name="Fax" Type="Edm.String" MaxLength="24" /><Property Name="HomePage" Type="Edm.String" MaxLength="max" /><NavigationProperty Name="Products" Type="Collection(NorthwindModel.Product)" Partner="Supplier" /></EntityType><EntityType Name="Territory"><Key><PropertyRef Name="TerritoryID" /></Key><Property Name="TerritoryID" Type="Edm.String" Nullable="false" MaxLength="20" /><Property Name="TerritoryDescription" Type="Edm.String" Nullable="false" MaxLength="50" /><Property Name="RegionID" Type="Edm.Int32" Nullable="false" /><NavigationProperty Name="Region" Type="NorthwindModel.Region" Nullable="false" Partner="Territories"><ReferentialConstraint Property=
"RegionID" ReferencedProperty="RegionID" /></NavigationProperty><NavigationProperty Name="Employees" Type="Collection(NorthwindModel.Employee)" Partner="Territories" /></EntityType><EntityType Name="Alphabetical_list_of_product"><Key><PropertyRef Name="CategoryName" /><PropertyRef Name="Discontinued" /><PropertyRef Name="ProductID" /><PropertyRef Name="ProductName" /></Key><Property Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="SupplierID" Type="Edm.Int32" /><Property Name="CategoryID" Type="Edm.Int32" /><Property Name="QuantityPerUnit" Type="Edm.String" MaxLength="20" /><Property Name="UnitPrice" Type="Edm.Decimal" Precision="19" Scale="4" /><Property Name="UnitsInStock" Type="Edm.Int16" /><Property Name="UnitsOnOrder" Type="Edm.Int16" /><Property Name="ReorderLevel" Type="Edm.Int16" /><Property Name="Discontinued" Type="Edm.Boolean" Nullable="false" /><Property Name="CategoryNam
e" Type="Edm.String" Nullable="false" MaxLength="15" /></EntityType><EntityType Name="Category_Sales_for_1997"><Key><PropertyRef Name="CategoryName" /></Key><Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" /><Property Name="CategorySales" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Current_Product_List"><Key><PropertyRef Name="ProductID" /><PropertyRef Name="ProductName" /></Key><Property Name="ProductID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" /><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /></EntityType><EntityType Name="Customer_and_Suppliers_by_City"><Key><PropertyRef Name="CompanyName" /><PropertyRef Name="Relationship" /></Key><Property Name="City" Type="Edm.String" MaxLength="15" /><Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="Contact
Name" Type="Edm.String" MaxLength="30" /><Property Name="Relationship" Type="Edm.String" Nullable="false" MaxLength="9" Unicode="false" /></EntityType><EntityType Name="Invoice"><Key><PropertyRef Name="CustomerName" /><PropertyRef Name="Discount" /><PropertyRef Name="OrderID" /><PropertyRef Name="ProductID" /><PropertyRef Name="ProductName" /><PropertyRef Name="Quantity" /><PropertyRef Name="Salesperson" /><PropertyRef Name="ShipperName" /><PropertyRef Name="UnitPrice" /></Key><Property Name="ShipName" Type="Edm.String" MaxLength="40" /><Property Name="ShipAddress" Type="Edm.String" MaxLength="60" /><Property Name="ShipCity" Type="Edm.String" MaxLength="15" /><Property Name="ShipRegion" Type="Edm.String" MaxLength="15" /><Property Name="ShipPostalCode" Type="Edm.String" MaxLength="10" /><Property Name="ShipCountry" Type="Edm.String" MaxLength="15" /><Property Name="CustomerID" Type="Edm.String" MaxLength="5" /><Property Name="CustomerName" Type="Edm.String" Nullable="false" MaxLengt
h="40" /><Property Name="Address" Type="Edm.String" MaxLength="60" /><Property Name="City" Type="Edm.String" MaxLength="15" /><Property Name="Region" Type="Edm.String" MaxLength="15" /><Property Name="PostalCode" Type="Edm.String" MaxLength="10" /><Property Name="Country" Type="Edm.String" MaxLength="15" /><Property Name="Salesperson" Type="Edm.String" Nullable="false" MaxLength="31" /><Property Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="OrderDate" Type="Edm.DateTimeOffset" /><Property Name="RequiredDate" Type="Edm.DateTimeOffset" /><Property Name="ShippedDate" Type="Edm.DateTimeOffset" /><Property Name="ShipperName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="UnitPrice" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="Quantity" Type="Edm.Int16" Nullable="false" />
<Property Name="Discount" Type="Edm.Single" Nullable="false" /><Property Name="ExtendedPrice" Type="Edm.Decimal" Precision="19" Scale="4" /><Property Name="Freight" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Order_Details_Extended"><Key><PropertyRef Name="Discount" /><PropertyRef Name="OrderID" /><PropertyRef Name="ProductID" /><PropertyRef Name="ProductName" /><PropertyRef Name="Quantity" /><PropertyRef Name="UnitPrice" /></Key><Property Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="UnitPrice" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" /><Property Name="Quantity" Type="Edm.Int16" Nullable="false" /><Property Name="Discount" Type="Edm.Single" Nullable="false" /><Property Name="ExtendedPrice" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Or
der_Subtotal"><Key><PropertyRef Name="OrderID" /></Key><Property Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="Subtotal" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Orders_Qry"><Key><PropertyRef Name="CompanyName" /><PropertyRef Name="OrderID" /></Key><Property Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="CustomerID" Type="Edm.String" MaxLength="5" /><Property Name="EmployeeID" Type="Edm.Int32" /><Property Name="OrderDate" Type="Edm.DateTimeOffset" /><Property Name="RequiredDate" Type="Edm.DateTimeOffset" /><Property Name="ShippedDate" Type="Edm.DateTimeOffset" /><Property Name="ShipVia" Type="Edm.Int32" /><Property Name="Freight" Type="Edm.Decimal" Precision="19" Scale="4" /><Property Name="ShipName" Type="Edm.String" MaxLength="40" /><Property Name="ShipAddress" Type="Edm.String" MaxLength="60" /><Property Name="ShipCity" Type="Edm.String" MaxLength="15" /><Property Name="ShipRegion" Type="Edm.String" MaxL
ength="15" /><Property Name="ShipPostalCode" Type="Edm.String" MaxLength="10" /><Property Name="ShipCountry" Type="Edm.String" MaxLength="15" /><Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="Address" Type="Edm.String" MaxLength="60" /><Property Name="City" Type="Edm.String" MaxLength="15" /><Property Name="Region" Type="Edm.String" MaxLength="15" /><Property Name="PostalCode" Type="Edm.String" MaxLength="10" /><Property Name="Country" Type="Edm.String" MaxLength="15" /></EntityType><EntityType Name="Product_Sales_for_1997"><Key><PropertyRef Name="CategoryName" /><PropertyRef Name="ProductName" /></Key><Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" /><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="ProductSales" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Products_Above_Average_Price"><Key><PropertyRef Name="ProductName" /
></Key><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="UnitPrice" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Products_by_Category"><Key><PropertyRef Name="CategoryName" /><PropertyRef Name="Discontinued" /><PropertyRef Name="ProductName" /></Key><Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" /><Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="QuantityPerUnit" Type="Edm.String" MaxLength="20" /><Property Name="UnitsInStock" Type="Edm.Int16" /><Property Name="Discontinued" Type="Edm.Boolean" Nullable="false" /></EntityType><EntityType Name="Sales_by_Category"><Key><PropertyRef Name="CategoryID" /><PropertyRef Name="CategoryName" /><PropertyRef Name="ProductName" /></Key><Property Name="CategoryID" Type="Edm.Int32" Nullable="false" /><Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" /><Property N
ame="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="ProductSales" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Sales_Totals_by_Amount"><Key><PropertyRef Name="CompanyName" /><PropertyRef Name="OrderID" /></Key><Property Name="SaleAmount" Type="Edm.Decimal" Precision="19" Scale="4" /><Property Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" /><Property Name="ShippedDate" Type="Edm.DateTimeOffset" /></EntityType><EntityType Name="Summary_of_Sales_by_Quarter"><Key><PropertyRef Name="OrderID" /></Key><Property Name="ShippedDate" Type="Edm.DateTimeOffset" /><Property Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="Subtotal" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><EntityType Name="Summary_of_Sales_by_Year"><Key><PropertyRef Name="OrderID" /></Key><Property Name="ShippedDate" Type="Edm.DateTimeOffset" /><P
roperty Name="OrderID" Type="Edm.Int32" Nullable="false" /><Property Name="Subtotal" Type="Edm.Decimal" Precision="19" Scale="4" /></EntityType><Annotations Target="ODataWebExperimental.Northwind.Model.NorthwindEntities"><Annotation Term="Com.Microsoft.OData.Service.Conventions.V1.UrlConventions" String="KeyAsSegment" /></Annotations></Schema><Schema Namespace="ODataWebExperimental.Northwind.Model" xmlns="http://docs.oasis-open.org/odata/ns/edm"><EntityContainer Name="NorthwindEntities" p4:LazyLoadingEnabled="true" xmlns:p4="http://schemas.microsoft.com/ado/2009/02/edm/annotation"><EntitySet Name="Categories" EntityType="NorthwindModel.Category"><NavigationPropertyBinding Path="Products" Target="Products" /></EntitySet><EntitySet Name="CustomerDemographics" EntityType="NorthwindModel.CustomerDemographic"><NavigationPropertyBinding Path="Customers" Target="Customers" /></EntitySet><EntitySet Name="Customers" EntityType="NorthwindModel.Customer"><NavigationPropertyBinding Path="Custom
erDemographics" Target="CustomerDemographics" /><NavigationPropertyBinding Path="Orders" Target="Orders" /></EntitySet><EntitySet Name="Employees" EntityType="NorthwindModel.Employee"><NavigationPropertyBinding Path="Employees1" Target="Employees" /><NavigationPropertyBinding Path="Employee1" Target="Employees" /><NavigationPropertyBinding Path="Orders" Target="Orders" /><NavigationPropertyBinding Path="Territories" Target="Territories" /></EntitySet><EntitySet Name="Order_Details" EntityType="NorthwindModel.Order_Detail"><NavigationPropertyBinding Path="Order" Target="Orders" /><NavigationPropertyBinding Path="Product" Target="Products" /></EntitySet><EntitySet Name="Orders" EntityType="NorthwindModel.Order"><NavigationPropertyBinding Path="Customer" Target="Customers" /><NavigationPropertyBinding Path="Employee" Target="Employees" /><NavigationPropertyBinding Path="Order_Details" Target="Order_Details" /><NavigationPropertyBinding Path="Shipper" Target="Shippers" /></EntitySet><En
titySet Name="Products" EntityType="NorthwindModel.Product"><NavigationPropertyBinding Path="Category" Target="Categories" /><NavigationPropertyBinding Path="Order_Details" Target="Order_Details" /><NavigationPropertyBinding Path="Supplier" Target="Suppliers" /></EntitySet><EntitySet Name="Regions" EntityType="NorthwindModel.Region"><NavigationPropertyBinding Path="Territories" Target="Territories" /></EntitySet><EntitySet Name="Shippers" EntityType="NorthwindModel.Shipper"><NavigationPropertyBinding Path="Orders" Target="Orders" /></EntitySet><EntitySet Name="Suppliers" EntityType="NorthwindModel.Supplier"><NavigationPropertyBinding Path="Products" Target="Products" /></EntitySet><EntitySet Name="Territories" EntityType="NorthwindModel.Territory"><NavigationPropertyBinding Path="Employees" Target="Employees" /><NavigationPropertyBinding Path="Region" Target="Regions" /></EntitySet><EntitySet Name="Alphabetical_list_of_products" EntityType="NorthwindModel.Alphabetical_list_of_produc
t" /><EntitySet Name="Category_Sales_for_1997" EntityType="NorthwindModel.Category_Sales_for_1997" /><EntitySet Name="Current_Product_Lists" EntityType="NorthwindModel.Current_Product_List" /><EntitySet Name="Customer_and_Suppliers_by_Cities" EntityType="NorthwindModel.Customer_and_Suppliers_by_City" /><EntitySet Name="Invoices" EntityType="NorthwindModel.Invoice" /><EntitySet Name="Order_Details_Extendeds" EntityType="NorthwindModel.Order_Details_Extended" /><EntitySet Name="Order_Subtotals" EntityType="NorthwindModel.Order_Subtotal" /><EntitySet Name="Orders_Qries" EntityType="NorthwindModel.Orders_Qry" /><EntitySet Name="Product_Sales_for_1997" EntityType="NorthwindModel.Product_Sales_for_1997" /><EntitySet Name="Products_Above_Average_Prices" EntityType="NorthwindModel.Products_Above_Average_Price" /><EntitySet Name="Products_by_Categories" EntityType="NorthwindModel.Products_by_Category" /><EntitySet Name="Sales_by_Categories" EntityType="NorthwindModel.Sales_by_Category" /><En
titySet Name="Sales_Totals_by_Amounts" EntityType="NorthwindModel.Sales_Totals_by_Amount" /><EntitySet Name="Summary_of_Sales_by_Quarters" EntityType="NorthwindModel.Summary_of_Sales_by_Quarter" /><EntitySet Name="Summary_of_Sales_by_Years" EntityType="NorthwindModel.Summary_of_Sales_by_Year" /></EntityContainer></Schema></edmx:DataServices></edmx:Edmx>
\ No newline at end of file
+<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
+ <edmx:DataServices>
+ <Schema Namespace="NorthwindModel" xmlns="http://docs.oasis-open.org/odata/ns/edm">
+ <EntityType Name="Category">
+ <Key>
+ <PropertyRef Name="CategoryID" />
+ </Key>
+ <Property Name="CategoryID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" />
+ <Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" />
+ <Property Name="Description" Type="Edm.String" MaxLength="max" />
+ <Property Name="Picture" Type="Edm.Binary" MaxLength="max" />
+ <NavigationProperty Name="Products" Type="Collection(NorthwindModel.Product)" Partner="Category" />
+ </EntityType>
+ <EntityType Name="CustomerDemographic">
+ <Key>
+ <PropertyRef Name="CustomerTypeID" />
+ </Key>
+ <Property Name="CustomerTypeID" Type="Edm.String" Nullable="false" MaxLength="10" />
+ <Property Name="CustomerDesc" Type="Edm.String" MaxLength="max" />
+ <NavigationProperty Name="Customers" Type="Collection(NorthwindModel.Customer)" Partner="CustomerDemographics" />
+ </EntityType>
+ <EntityType Name="Customer">
+ <Key>
+ <PropertyRef Name="CustomerID" />
+ </Key>
+ <Property Name="CustomerID" Type="Edm.String" Nullable="false" MaxLength="5" />
+ <Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="ContactName" Type="Edm.String" MaxLength="30" />
+ <Property Name="ContactTitle" Type="Edm.String" MaxLength="30" />
+ <Property Name="Address" Type="Edm.String" MaxLength="60" />
+ <Property Name="City" Type="Edm.String" MaxLength="15" />
+ <Property Name="Region" Type="Edm.String" MaxLength="15" />
+ <Property Name="PostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="Country" Type="Edm.String" MaxLength="15" />
+ <Property Name="Phone" Type="Edm.String" MaxLength="24" />
+ <Property Name="Fax" Type="Edm.String" MaxLength="24" />
+ <NavigationProperty Name="Orders" Type="Collection(NorthwindModel.Order)" Partner="Customer" />
+ <NavigationProperty Name="CustomerDemographics" Type="Collection(NorthwindModel.CustomerDemographic)" Partner="Customers" />
+ </EntityType>
+ <EntityType Name="Employee">
+ <Key>
+ <PropertyRef Name="EmployeeID" />
+ </Key>
+ <Property Name="EmployeeID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" />
+ <Property Name="LastName" Type="Edm.String" Nullable="false" MaxLength="20" />
+ <Property Name="FirstName" Type="Edm.String" Nullable="false" MaxLength="10" />
+ <Property Name="Title" Type="Edm.String" MaxLength="30" />
+ <Property Name="TitleOfCourtesy" Type="Edm.String" MaxLength="25" />
+ <Property Name="BirthDate" Type="Edm.DateTimeOffset" />
+ <Property Name="HireDate" Type="Edm.DateTimeOffset" />
+ <Property Name="Address" Type="Edm.String" MaxLength="60" />
+ <Property Name="City" Type="Edm.String" MaxLength="15" />
+ <Property Name="Region" Type="Edm.String" MaxLength="15" />
+ <Property Name="PostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="Country" Type="Edm.String" MaxLength="15" />
+ <Property Name="HomePhone" Type="Edm.String" MaxLength="24" />
+ <Property Name="Extension" Type="Edm.String" MaxLength="4" />
+ <Property Name="Photo" Type="Edm.Binary" MaxLength="max" />
+ <Property Name="Notes" Type="Edm.String" MaxLength="max" />
+ <Property Name="ReportsTo" Type="Edm.Int32" />
+ <Property Name="PhotoPath" Type="Edm.String" MaxLength="255" />
+ <NavigationProperty Name="Employees1" Type="Collection(NorthwindModel.Employee)" Partner="Employee1" />
+ <NavigationProperty Name="Employee1" Type="NorthwindModel.Employee" Partner="Employees1">
+ <ReferentialConstraint Property="ReportsTo" ReferencedProperty="EmployeeID" />
+ </NavigationProperty>
+ <NavigationProperty Name="Orders" Type="Collection(NorthwindModel.Order)" Partner="Employee" />
+ <NavigationProperty Name="Territories" Type="Collection(NorthwindModel.Territory)" Partner="Employees" />
+ </EntityType>
+ <EntityType Name="Order_Detail">
+ <Key>
+ <PropertyRef Name="OrderID" />
+ <PropertyRef Name="ProductID" />
+ </Key>
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="UnitPrice" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" />
+ <Property Name="Quantity" Type="Edm.Int16" Nullable="false" />
+ <Property Name="Discount" Type="Edm.Single" Nullable="false" />
+ <NavigationProperty Name="Order" Type="NorthwindModel.Order" Nullable="false" Partner="Order_Details">
+ <ReferentialConstraint Property="OrderID" ReferencedProperty="OrderID" />
+ </NavigationProperty>
+ <NavigationProperty Name="Product" Type="NorthwindModel.Product" Nullable="false" Partner="Order_Details">
+ <ReferentialConstraint Property="ProductID" ReferencedProperty="ProductID" />
+ </NavigationProperty>
+ </EntityType>
+ <EntityType Name="Order">
+ <Key>
+ <PropertyRef Name="OrderID" />
+ </Key>
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" />
+ <Property Name="CustomerID" Type="Edm.String" MaxLength="5" />
+ <Property Name="EmployeeID" Type="Edm.Int32" />
+ <Property Name="OrderDate" Type="Edm.DateTimeOffset" />
+ <Property Name="RequiredDate" Type="Edm.DateTimeOffset" />
+ <Property Name="ShippedDate" Type="Edm.DateTimeOffset" />
+ <Property Name="ShipVia" Type="Edm.Int32" />
+ <Property Name="Freight" Type="Edm.Decimal" Precision="19" Scale="4" />
+ <Property Name="ShipName" Type="Edm.String" MaxLength="40" />
+ <Property Name="ShipAddress" Type="Edm.String" MaxLength="60" />
+ <Property Name="ShipCity" Type="Edm.String" MaxLength="15" />
+ <Property Name="ShipRegion" Type="Edm.String" MaxLength="15" />
+ <Property Name="ShipPostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="ShipCountry" Type="Edm.String" MaxLength="15" />
+ <NavigationProperty Name="Customer" Type="NorthwindModel.Customer" Partner="Orders">
+ <ReferentialConstraint Property="CustomerID" ReferencedProperty="CustomerID" />
+ </NavigationProperty>
+ <NavigationProperty Name="Employee" Type="NorthwindModel.Employee" Partner="Orders">
+ <ReferentialConstraint Property="EmployeeID" ReferencedProperty="EmployeeID" />
+ </NavigationProperty>
+ <NavigationProperty Name="Order_Details" Type="Collection(NorthwindModel.Order_Detail)" Partner="Order" />
+ <NavigationProperty Name="Shipper" Type="NorthwindModel.Shipper" Partner="Orders">
+ <ReferentialConstraint Property="ShipVia" ReferencedProperty="ShipperID" />
+ </NavigationProperty>
+ </EntityType>
+ <EntityType Name="Product">
+ <Key>
+ <PropertyRef Name="ProductID" />
+ </Key>
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="SupplierID" Type="Edm.Int32" />
+ <Property Name="CategoryID" Type="Edm.Int32" />
+ <Property Name="QuantityPerUnit" Type="Edm.String" MaxLength="20" />
+ <Property Name="UnitPrice" Type="Edm.Decimal" Precision="19" Scale="4" />
+ <Property Name="UnitsInStock" Type="Edm.Int16" />
+ <Property Name="UnitsOnOrder" Type="Edm.Int16" />
+ <Property Name="ReorderLevel" Type="Edm.Int16" />
+ <Property Name="Discontinued" Type="Edm.Boolean" Nullable="false" />
+ <NavigationProperty Name="Category" Type="NorthwindModel.Category" Partner="Products">
+ <ReferentialConstraint Property="CategoryID" ReferencedProperty="CategoryID" />
+ </NavigationProperty>
+ <NavigationProperty Name="Order_Details" Type="Collection(NorthwindModel.Order_Detail)" Partner="Product" />
+ <NavigationProperty Name="Supplier" Type="NorthwindModel.Supplier" Partner="Products">
+ <ReferentialConstraint Property="SupplierID" ReferencedProperty="SupplierID" />
+ </NavigationProperty>
+ </EntityType>
+ <EntityType Name="Region">
+ <Key>
+ <PropertyRef Name="RegionID" />
+ </Key>
+ <Property Name="RegionID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="RegionDescription" Type="Edm.String" Nullable="false" MaxLength="50" />
+ <NavigationProperty Name="Territories" Type="Collection(NorthwindModel.Territory)" Partner="Region" />
+ </EntityType>
+ <EntityType Name="Shipper">
+ <Key>
+ <PropertyRef Name="ShipperID" />
+ </Key>
+ <Property Name="ShipperID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" />
+ <Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="Phone" Type="Edm.String" MaxLength="24" />
+ <NavigationProperty Name="Orders" Type="Collection(NorthwindModel.Order)" Partner="Shipper" />
+ </EntityType>
+ <EntityType Name="Supplier">
+ <Key>
+ <PropertyRef Name="SupplierID" />
+ </Key>
+ <Property Name="SupplierID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" />
+ <Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="ContactName" Type="Edm.String" MaxLength="30" />
+ <Property Name="ContactTitle" Type="Edm.String" MaxLength="30" />
+ <Property Name="Address" Type="Edm.String" MaxLength="60" />
+ <Property Name="City" Type="Edm.String" MaxLength="15" />
+ <Property Name="Region" Type="Edm.String" MaxLength="15" />
+ <Property Name="PostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="Country" Type="Edm.String" MaxLength="15" />
+ <Property Name="Phone" Type="Edm.String" MaxLength="24" />
+ <Property Name="Fax" Type="Edm.String" MaxLength="24" />
+ <Property Name="HomePage" Type="Edm.String" MaxLength="max" />
+ <NavigationProperty Name="Products" Type="Collection(NorthwindModel.Product)" Partner="Supplier" />
+ </EntityType>
+ <EntityType Name="Territory">
+ <Key>
+ <PropertyRef Name="TerritoryID" />
+ </Key>
+ <Property Name="TerritoryID" Type="Edm.String" Nullable="false" MaxLength="20" />
+ <Property Name="TerritoryDescription" Type="Edm.String" Nullable="false" MaxLength="50" />
+ <Property Name="RegionID" Type="Edm.Int32" Nullable="false" />
+ <NavigationProperty Name="Region" Type="NorthwindModel.Region" Nullable="false" Partner="Territories">
+ <ReferentialConstraint Property="RegionID" ReferencedProperty="RegionID" />
+ </NavigationProperty>
+ <NavigationProperty Name="Employees" Type="Collection(NorthwindModel.Employee)" Partner="Territories" />
+ </EntityType>
+ <EntityType Name="Alphabetical_list_of_product">
+ <Key>
+ <PropertyRef Name="CategoryName" />
+ <PropertyRef Name="Discontinued" />
+ <PropertyRef Name="ProductID" />
+ <PropertyRef Name="ProductName" />
+ </Key>
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="SupplierID" Type="Edm.Int32" />
+ <Property Name="CategoryID" Type="Edm.Int32" />
+ <Property Name="QuantityPerUnit" Type="Edm.String" MaxLength="20" />
+ <Property Name="UnitPrice" Type="Edm.Decimal" Precision="19" Scale="4" />
+ <Property Name="UnitsInStock" Type="Edm.Int16" />
+ <Property Name="UnitsOnOrder" Type="Edm.Int16" />
+ <Property Name="ReorderLevel" Type="Edm.Int16" />
+ <Property Name="Discontinued" Type="Edm.Boolean" Nullable="false" />
+ <Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" />
+ </EntityType>
+ <EntityType Name="Category_Sales_for_1997">
+ <Key>
+ <PropertyRef Name="CategoryName" />
+ </Key>
+ <Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" />
+ <Property Name="CategorySales" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Current_Product_List">
+ <Key>
+ <PropertyRef Name="ProductID" />
+ <PropertyRef Name="ProductName" />
+ </Key>
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" p5:StoreGeneratedPattern="Identity" xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ </EntityType>
+ <EntityType Name="Customer_and_Suppliers_by_City">
+ <Key>
+ <PropertyRef Name="CompanyName" />
+ <PropertyRef Name="Relationship" />
+ </Key>
+ <Property Name="City" Type="Edm.String" MaxLength="15" />
+ <Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="ContactName" Type="Edm.String" MaxLength="30" />
+ <Property Name="Relationship" Type="Edm.String" Nullable="false" MaxLength="9" Unicode="false" />
+ </EntityType>
+ <EntityType Name="Invoice">
+ <Key>
+ <PropertyRef Name="CustomerName" />
+ <PropertyRef Name="Discount" />
+ <PropertyRef Name="OrderID" />
+ <PropertyRef Name="ProductID" />
+ <PropertyRef Name="ProductName" />
+ <PropertyRef Name="Quantity" />
+ <PropertyRef Name="Salesperson" />
+ <PropertyRef Name="ShipperName" />
+ <PropertyRef Name="UnitPrice" />
+ </Key>
+ <Property Name="ShipName" Type="Edm.String" MaxLength="40" />
+ <Property Name="ShipAddress" Type="Edm.String" MaxLength="60" />
+ <Property Name="ShipCity" Type="Edm.String" MaxLength="15" />
+ <Property Name="ShipRegion" Type="Edm.String" MaxLength="15" />
+ <Property Name="ShipPostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="ShipCountry" Type="Edm.String" MaxLength="15" />
+ <Property Name="CustomerID" Type="Edm.String" MaxLength="5" />
+ <Property Name="CustomerName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="Address" Type="Edm.String" MaxLength="60" />
+ <Property Name="City" Type="Edm.String" MaxLength="15" />
+ <Property Name="Region" Type="Edm.String" MaxLength="15" />
+ <Property Name="PostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="Country" Type="Edm.String" MaxLength="15" />
+ <Property Name="Salesperson" Type="Edm.String" Nullable="false" MaxLength="31" />
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="OrderDate" Type="Edm.DateTimeOffset" />
+ <Property Name="RequiredDate" Type="Edm.DateTimeOffset" />
+ <Property Name="ShippedDate" Type="Edm.DateTimeOffset" />
+ <Property Name="ShipperName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="UnitPrice" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" />
+ <Property Name="Quantity" Type="Edm.Int16" Nullable="false" />
+ <Property Name="Discount" Type="Edm.Single" Nullable="false" />
+ <Property Name="ExtendedPrice" Type="Edm.Decimal" Precision="19" Scale="4" />
+ <Property Name="Freight" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Order_Details_Extended">
+ <Key>
+ <PropertyRef Name="Discount" />
+ <PropertyRef Name="OrderID" />
+ <PropertyRef Name="ProductID" />
+ <PropertyRef Name="ProductName" />
+ <PropertyRef Name="Quantity" />
+ <PropertyRef Name="UnitPrice" />
+ </Key>
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="UnitPrice" Type="Edm.Decimal" Nullable="false" Precision="19" Scale="4" />
+ <Property Name="Quantity" Type="Edm.Int16" Nullable="false" />
+ <Property Name="Discount" Type="Edm.Single" Nullable="false" />
+ <Property Name="ExtendedPrice" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Order_Subtotal">
+ <Key>
+ <PropertyRef Name="OrderID" />
+ </Key>
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Subtotal" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Orders_Qry">
+ <Key>
+ <PropertyRef Name="CompanyName" />
+ <PropertyRef Name="OrderID" />
+ </Key>
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="CustomerID" Type="Edm.String" MaxLength="5" />
+ <Property Name="EmployeeID" Type="Edm.Int32" />
+ <Property Name="OrderDate" Type="Edm.DateTimeOffset" />
+ <Property Name="RequiredDate" Type="Edm.DateTimeOffset" />
+ <Property Name="ShippedDate" Type="Edm.DateTimeOffset" />
+ <Property Name="ShipVia" Type="Edm.Int32" />
+ <Property Name="Freight" Type="Edm.Decimal" Precision="19" Scale="4" />
+ <Property Name="ShipName" Type="Edm.String" MaxLength="40" />
+ <Property Name="ShipAddress" Type="Edm.String" MaxLength="60" />
+ <Property Name="ShipCity" Type="Edm.String" MaxLength="15" />
+ <Property Name="ShipRegion" Type="Edm.String" MaxLength="15" />
+ <Property Name="ShipPostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="ShipCountry" Type="Edm.String" MaxLength="15" />
+ <Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="Address" Type="Edm.String" MaxLength="60" />
+ <Property Name="City" Type="Edm.String" MaxLength="15" />
+ <Property Name="Region" Type="Edm.String" MaxLength="15" />
+ <Property Name="PostalCode" Type="Edm.String" MaxLength="10" />
+ <Property Name="Country" Type="Edm.String" MaxLength="15" />
+ </EntityType>
+ <EntityType Name="Product_Sales_for_1997">
+ <Key>
+ <PropertyRef Name="CategoryName" />
+ <PropertyRef Name="ProductName" />
+ </Key>
+ <Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="ProductSales" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Products_Above_Average_Price">
+ <Key>
+ <PropertyRef Name="ProductName" />
+ </Key>
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="UnitPrice" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Products_by_Category">
+ <Key>
+ <PropertyRef Name="CategoryName" />
+ <PropertyRef Name="Discontinued" />
+ <PropertyRef Name="ProductName" />
+ </Key>
+ <Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="QuantityPerUnit" Type="Edm.String" MaxLength="20" />
+ <Property Name="UnitsInStock" Type="Edm.Int16" />
+ <Property Name="Discontinued" Type="Edm.Boolean" Nullable="false" />
+ </EntityType>
+ <EntityType Name="Sales_by_Category">
+ <Key>
+ <PropertyRef Name="CategoryID" />
+ <PropertyRef Name="CategoryName" />
+ <PropertyRef Name="ProductName" />
+ </Key>
+ <Property Name="CategoryID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="CategoryName" Type="Edm.String" Nullable="false" MaxLength="15" />
+ <Property Name="ProductName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="ProductSales" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Sales_Totals_by_Amount">
+ <Key>
+ <PropertyRef Name="CompanyName" />
+ <PropertyRef Name="OrderID" />
+ </Key>
+ <Property Name="SaleAmount" Type="Edm.Decimal" Precision="19" Scale="4" />
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="CompanyName" Type="Edm.String" Nullable="false" MaxLength="40" />
+ <Property Name="ShippedDate" Type="Edm.DateTimeOffset" />
+ </EntityType>
+ <EntityType Name="Summary_of_Sales_by_Quarter">
+ <Key>
+ <PropertyRef Name="OrderID" />
+ </Key>
+ <Property Name="ShippedDate" Type="Edm.DateTimeOffset" />
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Subtotal" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <EntityType Name="Summary_of_Sales_by_Year">
+ <Key>
+ <PropertyRef Name="OrderID" />
+ </Key>
+ <Property Name="ShippedDate" Type="Edm.DateTimeOffset" />
+ <Property Name="OrderID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Subtotal" Type="Edm.Decimal" Precision="19" Scale="4" />
+ </EntityType>
+ <Annotations Target="ODataWebExperimental.Northwind.Model.NorthwindEntities">
+ <Annotation Term="Com.Microsoft.OData.Service.Conventions.V1.UrlConventions" String="KeyAsSegment" />
+ </Annotations>
+ </Schema>
+ <Schema Namespace="ODataWebExperimental.Northwind.Model" xmlns="http://docs.oasis-open.org/odata/ns/edm">
+ <EntityContainer Name="NorthwindEntities" p4:LazyLoadingEnabled="true" xmlns:p4="http://schemas.microsoft.com/ado/2009/02/edm/annotation">
+ <EntitySet Name="Categories" EntityType="NorthwindModel.Category">
+ <NavigationPropertyBinding Path="Products" Target="Products" />
+ </EntitySet>
+ <EntitySet Name="CustomerDemographics" EntityType="NorthwindModel.CustomerDemographic">
+ <NavigationPropertyBinding Path="Customers" Target="Customers" />
+ </EntitySet>
+ <EntitySet Name="Customers" EntityType="NorthwindModel.Customer">
+ <NavigationPropertyBinding Path="CustomerDemographics" Target="CustomerDemographics" />
+ <NavigationPropertyBinding Path="Orders" Target="Orders" />
+ </EntitySet>
+ <EntitySet Name="Employees" EntityType="NorthwindModel.Employee">
+ <NavigationPropertyBinding Path="Employees1" Target="Employees" />
+ <NavigationPropertyBinding Path="Employee1" Target="Employees" />
+ <NavigationPropertyBinding Path="Orders" Target="Orders" />
+ <NavigationPropertyBinding Path="Territories" Target="Territories" />
+ </EntitySet>
+ <EntitySet Name="Order_Details" EntityType="NorthwindModel.Order_Detail">
+ <NavigationPropertyBinding Path="Order" Target="Orders" />
+ <NavigationPropertyBinding Path="Product" Target="Products" />
+ </EntitySet>
+ <EntitySet Name="Orders" EntityType="NorthwindModel.Order">
+ <NavigationPropertyBinding Path="Customer" Target="Customers" />
+ <NavigationPropertyBinding Path="Employee" Target="Employees" />
+ <NavigationPropertyBinding Path="Order_Details" Target="Order_Details" />
+ <NavigationPropertyBinding Path="Shipper" Target="Shippers" />
+ </EntitySet>
+ <EntitySet Name="Products" EntityType="NorthwindModel.Product">
+ <NavigationPropertyBinding Path="Category" Target="Categories" />
+ <NavigationPropertyBinding Path="Order_Details" Target="Order_Details" />
+ <NavigationPropertyBinding Path="Supplier" Target="Suppliers" />
+ </EntitySet>
+ <EntitySet Name="Regions" EntityType="NorthwindModel.Region">
+ <NavigationPropertyBinding Path="Territories" Target="Territories" />
+ </EntitySet>
+ <EntitySet Name="Shippers" EntityType="NorthwindModel.Shipper">
+ <NavigationPropertyBinding Path="Orders" Target="Orders" />
+ </EntitySet>
+ <EntitySet Name="Suppliers" EntityType="NorthwindModel.Supplier">
+ <NavigationPropertyBinding Path="Products" Target="Products" />
+ </EntitySet>
+ <EntitySet Name="Territories" EntityType="NorthwindModel.Territory">
+ <NavigationPropertyBinding Path="Employees" Target="Employees" />
+ <NavigationPropertyBinding Path="Region" Target="Regions" />
+ </EntitySet>
+ <EntitySet Name="Alphabetical_list_of_products" EntityType="NorthwindModel.Alphabetical_list_of_product" />
+ <EntitySet Name="Category_Sales_for_1997" EntityType="NorthwindModel.Category_Sales_for_1997" />
+ <EntitySet Name="Current_Product_Lists" EntityType="NorthwindModel.Current_Product_List" />
+ <EntitySet Name="Customer_and_Suppliers_by_Cities" EntityType="NorthwindModel.Customer_and_Suppliers_by_City" />
+ <EntitySet Name="Invoices" EntityType="NorthwindModel.Invoice" />
+ <EntitySet Name="Order_Details_Extendeds" EntityType="NorthwindModel.Order_Details_Extended" />
+ <EntitySet Name="Order_Subtotals" EntityType="NorthwindModel.Order_Subtotal" />
+ <EntitySet Name="Orders_Qries" EntityType="NorthwindModel.Orders_Qry" />
+ <EntitySet Name="Product_Sales_for_1997" EntityType="NorthwindModel.Product_Sales_for_1997" />
+ <EntitySet Name="Products_Above_Average_Prices" EntityType="NorthwindModel.Products_Above_Average_Price" />
+ <EntitySet Name="Products_by_Categories" EntityType="NorthwindModel.Products_by_Category" />
+ <EntitySet Name="Sales_by_Categories" EntityType="NorthwindModel.Sales_by_Category" />
+ <EntitySet Name="Sales_Totals_by_Amounts" EntityType="NorthwindModel.Sales_Totals_by_Amount" />
+ <EntitySet Name="Summary_of_Sales_by_Quarters" EntityType="NorthwindModel.Summary_of_Sales_by_Quarter" />
+ <EntitySet Name="Summary_of_Sales_by_Years" EntityType="NorthwindModel.Summary_of_Sales_by_Year" />
+ </EntityContainer>
+ </Schema>
+ </edmx:DataServices>
+</edmx:Edmx>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Edm.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Edm.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Edm.java
index 3d1e535..26861e3 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Edm.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Edm.java
@@ -28,7 +28,7 @@ import java.util.List;
public interface Edm {
/**
- * Get entity container by full qualified name
+ * Get entity container by full qualified name.
* <br/>
* See {@link EdmEntityContainer} for more information.
*
@@ -38,7 +38,7 @@ public interface Edm {
EdmEntityContainer getEntityContainer(FullQualifiedName name);
/**
- * Get enum type by full qualified name
+ * Get enum type by full qualified name.
* <br/>
* See {@link EdmEnumType} for more information
*
@@ -48,7 +48,7 @@ public interface Edm {
EdmEnumType getEnumType(FullQualifiedName name);
/**
- * Get a type definition by full qualified name
+ * Get a type definition by full qualified name.
* <br/>
* See {@link EdmTypeDefinition} for more information
*
@@ -58,7 +58,7 @@ public interface Edm {
EdmTypeDefinition getTypeDefinition(FullQualifiedName name);
/**
- * Get entity type by full qualified name
+ * Get entity type by full qualified name.
* <br/>
* See {@link EdmEntityType} for more information.
*
@@ -68,7 +68,7 @@ public interface Edm {
EdmEntityType getEntityType(FullQualifiedName name);
/**
- * Get complex type by full qualified name.
+ * Get complex type by full qualified name..
* <br/>
* See {@link EdmComplexType} for more information.
*
@@ -101,7 +101,7 @@ public interface Edm {
Boolean isBindingParameterCollection, List<String> parameterNames);
/**
- * Get service metadata
+ * Get service metadata.
* <br/>
* See {@link EdmServiceMetadata} for more information.
*
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmActionImportInfo.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmActionImportInfo.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmActionImportInfo.java
new file mode 100644
index 0000000..18f0d74
--- /dev/null
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmActionImportInfo.java
@@ -0,0 +1,40 @@
+/*
+ * 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.odata4.commons.api.edm;
+
+import java.net.URI;
+
+/**
+ * Objects of this class contain information about one action import inside the EntityDataModel.
+ */
+public interface EdmActionImportInfo extends EdmOperationImportInfo {
+
+ /**
+ * @return the action import name
+ */
+ String getActionImportName();
+
+ /**
+ * We use a {@link URI} object here to ensure the right encoding. If a string representation is needed the
+ * toASCIIString() method can be used.
+ *
+ * @return the uri to this function import
+ */
+ URI getActionImportUri();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmComplexType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmComplexType.java
index 7b26621..7287228 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmComplexType.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmComplexType.java
@@ -24,7 +24,7 @@ package org.apache.olingo.odata4.commons.api.edm;
* EdmComplexType holds a set of related information like {@link EdmPrimitiveType} properties and EdmComplexType
* properties.
*/
-public interface EdmComplexType extends EdmStructuralType {
+public interface EdmComplexType extends EdmStructuredType {
@Override
EdmComplexType getBaseType();
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmEntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmEntityType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmEntityType.java
index 585f813..b582551 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmEntityType.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmEntityType.java
@@ -23,7 +23,7 @@ import java.util.List;
/**
* A CSDL EntityType element.
*/
-public interface EdmEntityType extends EdmStructuralType {
+public interface EdmEntityType extends EdmStructuredType {
/**
* Gets all key predicate names. In case an alias is defined for a key predicate this will be returned.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmFunctionImportInfo.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmFunctionImportInfo.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmFunctionImportInfo.java
index ac62798..28fc6fa 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmFunctionImportInfo.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmFunctionImportInfo.java
@@ -23,12 +23,7 @@ import java.net.URI;
/**
* Objects of this class contain information about one function import inside the EntityDataModel.
*/
-public interface EdmFunctionImportInfo {
-
- /**
- * @return the entity container name which contains this function import.
- */
- String getEntityContainerName();
+public interface EdmFunctionImportInfo extends EdmOperationImportInfo {
/**
* @return the function import name
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmOperationImportInfo.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmOperationImportInfo.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmOperationImportInfo.java
new file mode 100644
index 0000000..1c2c62a
--- /dev/null
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmOperationImportInfo.java
@@ -0,0 +1,31 @@
+/*
+ * 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.odata4.commons.api.edm;
+
+/**
+ * Objects of this class contain information about one action or function import inside the EntityDataModel.
+ */
+public interface EdmOperationImportInfo {
+
+ /**
+ * @return the entity container name which contains this function import.
+ */
+ String getEntityContainerName();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmServiceMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmServiceMetadata.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmServiceMetadata.java
index bf3a6d6..be6f2c4 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmServiceMetadata.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmServiceMetadata.java
@@ -48,6 +48,11 @@ public interface EdmServiceMetadata {
List<EdmSingletonInfo> getSingletonInfos();
/**
+ * @return a list of {@link EdmActionImportInfo} objects inside the data model
+ */
+ List<EdmActionImportInfo> getActionImportInfos();
+
+ /**
* @return a list of {@link EdmFunctionImportInfo} objects inside the data model
*/
List<EdmFunctionImportInfo> getFunctionImportInfos();
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuralType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuralType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuralType.java
deleted file mode 100644
index be11391..0000000
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuralType.java
+++ /dev/null
@@ -1,66 +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.odata4.commons.api.edm;
-
-import java.util.List;
-
-/**
- * EdmStructuralType is the base for a complex type or an entity type.
- *
- * Complex types and entity types are described in the Conceptual Schema Definition of the OData protocol.
- */
-public interface EdmStructuralType extends EdmType {
-
- /**
- * Get property by name.
- *
- * @param name
- * @return simple, complex or navigation property as {@link EdmTyped}
- */
- EdmElement getProperty(String name);
-
- /**
- * Get all simple and complex property names.
- *
- * @return property names as type List<String>
- */
- List<String> getPropertyNames();
-
- /**
- * Get all navigation property names.
- *
- * @return navigation property names as type List<String>
- */
- List<String> getNavigationPropertyNames();
-
- /**
- * Base types are described in the OData protocol specification.
- *
- * @return {@link EdmStructuralType}
- */
- EdmStructuralType getBaseType();
-
- /**
- * Checks if this type is convertible to parameter {@link targetType}
- *
- * @param targetType
- * @return true if this type is compatible to the testType ( i.e. this type is a subtype of targetType )
- */
- boolean compatibleTo(EdmType targetType);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuredType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuredType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuredType.java
new file mode 100644
index 0000000..b515957
--- /dev/null
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/EdmStructuredType.java
@@ -0,0 +1,82 @@
+/*
+ * 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.odata4.commons.api.edm;
+
+import java.util.List;
+
+/**
+ * EdmStructuralType is the base for a complex type or an entity type.
+ *
+ * Complex types and entity types are described in the Conceptual Schema Definition of the OData protocol.
+ */
+public interface EdmStructuredType extends EdmType {
+
+ /**
+ * Get property by name
+ *
+ * @param name
+ * @return simple, complex or navigation property as {@link EdmTyped}
+ */
+ EdmElement getProperty(String name);
+
+ /**
+ * Get all simple and complex property names.
+ *
+ * @return property names as type List<String>
+ */
+ List<String> getPropertyNames();
+
+ /**
+ * Get structural property by name.
+ *
+ * @param name
+ * @return simple or complex property as {@link EdmTyped}
+ */
+ EdmProperty getStructuralProperty(String name);
+
+ /**
+ * Get navigation property by name.
+ *
+ * @param name
+ * @return navigation property as {@link EdmTyped}
+ */
+ EdmNavigationProperty getNavigationProperty(String name);
+
+ /**
+ * Get all navigation property names.
+ *
+ * @return navigation property names as type List<String>
+ */
+ List<String> getNavigationPropertyNames();
+
+ /**
+ * Base types are described in the OData protocol specification.
+ *
+ * @return {@link EdmStructuredType}
+ */
+ EdmStructuredType getBaseType();
+
+ /**
+ * Checks if this type is convertible to parameter {@link targetType}
+ *
+ * @param targetType
+ * @return true if this type is compatible to the testType ( i.e. this type is a subtype of targetType )
+ */
+ boolean compatibleTo(EdmType targetType);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Target.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Target.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Target.java
new file mode 100644
index 0000000..5acadc4
--- /dev/null
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/Target.java
@@ -0,0 +1,71 @@
+/*
+ * 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.odata4.commons.api.edm;
+
+public class Target {
+
+ private String targetName;
+
+ private FullQualifiedName entityContainer;
+
+ public static class Builder {
+
+ private final Target instance;
+
+ public Builder(final String target, final EdmEntityContainer defaultContainer) {
+ final String[] bindingTargetParts = target.split("/");
+
+ instance = new Target();
+ if (bindingTargetParts.length == 1) {
+ instance.
+ setEntityContainer(new FullQualifiedName(defaultContainer.getNamespace(), defaultContainer.getName())).
+ setTargetName(bindingTargetParts[0]);
+ } else {
+ final int idx = bindingTargetParts[0].lastIndexOf('.');
+ instance.
+ setEntityContainer(new FullQualifiedName(
+ bindingTargetParts[0].substring(0, idx), bindingTargetParts[0].substring(idx))).
+ setTargetName(bindingTargetParts[1]);
+ }
+ }
+
+ public Target build() {
+ return instance;
+ }
+ }
+
+ public String getTargetName() {
+ return targetName;
+ }
+
+ public Target setTargetName(final String targetPathName) {
+ targetName = targetPathName;
+ return this;
+ }
+
+ public FullQualifiedName getEntityContainer() {
+ return entityContainer;
+ }
+
+ public Target setEntityContainer(final FullQualifiedName entityContainer) {
+ this.entityContainer = entityContainer;
+ return this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmBindingTarget.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmBindingTarget.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmBindingTarget.java
new file mode 100644
index 0000000..6e9df56
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmBindingTarget.java
@@ -0,0 +1,55 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmBindingTarget;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+
+public abstract class AbstractEdmBindingTarget extends EdmNamedImpl implements EdmBindingTarget {
+
+ protected final EdmEntityContainer container;
+
+ private final FullQualifiedName type;
+
+ public AbstractEdmBindingTarget(final Edm edm, final EdmEntityContainer container,
+ final String name, final FullQualifiedName type) {
+
+ super(edm, name);
+ this.container = container;
+ this.type = type;
+ }
+
+ @Override
+ public EdmEntityContainer getEntityContainer() {
+ return container;
+ }
+
+ @Override
+ public EdmEntityType getEntityType() {
+ final EdmEntityType entityType = edm.getEntityType(this.type);
+ if (entityType == null) {
+ throw new EdmException("Can´t find entity type: " + type + " for entity set or singleton: " + getName());
+ }
+ return entityType;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmComplexType.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmComplexType.java
new file mode 100644
index 0000000..db52f2e
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmComplexType.java
@@ -0,0 +1,50 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmComplexType;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmStructuredType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public abstract class AbstractEdmComplexType extends AbstractEdmStructuredType implements EdmComplexType {
+
+ public AbstractEdmComplexType(final Edm edm, final FullQualifiedName fqn, final FullQualifiedName baseTypeName) {
+ super(edm, fqn, EdmTypeKind.COMPLEX, baseTypeName);
+ }
+
+ @Override
+ protected EdmStructuredType buildBaseType(final FullQualifiedName baseTypeName) {
+ EdmComplexType baseType = null;
+ if (baseTypeName != null) {
+ baseType = edm.getComplexType(baseTypeName);
+ if (baseType == null) {
+ throw new EdmException("Can't find base type with name: " + baseTypeName + " for complex type: " + getName());
+ }
+ }
+ return baseType;
+ }
+
+ @Override
+ public EdmComplexType getBaseType() {
+ return (EdmComplexType) baseType;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityContainer.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityContainer.java
new file mode 100644
index 0000000..d183972
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityContainer.java
@@ -0,0 +1,101 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
+import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+
+public abstract class AbstractEdmEntityContainer extends EdmNamedImpl implements EdmEntityContainer {
+
+ protected final FullQualifiedName entityContainerName;
+
+ private final Map<String, EdmSingleton> singletons = new HashMap<String, EdmSingleton>();
+
+ private final Map<String, EdmEntitySet> entitySets = new HashMap<String, EdmEntitySet>();
+
+ private final Map<String, EdmActionImport> actionImports = new HashMap<String, EdmActionImport>();
+
+ private final Map<String, EdmFunctionImport> functionImports = new HashMap<String, EdmFunctionImport>();
+
+ public AbstractEdmEntityContainer(final Edm edm, final FullQualifiedName entityContainerName) {
+ super(edm, entityContainerName.getName());
+ this.entityContainerName = entityContainerName;
+ }
+
+ @Override
+ public String getNamespace() {
+ return entityContainerName.getNamespace();
+ }
+
+ protected abstract EdmSingleton createSingleton(String singletonName);
+
+ @Override
+ public EdmSingleton getSingleton(final String singletonName) {
+ EdmSingleton singleton = singletons.get(singletonName);
+ if (singleton == null) {
+ singleton = createSingleton(singletonName);
+ singletons.put(singletonName, singleton);
+ }
+ return singleton;
+ }
+
+ protected abstract EdmEntitySet createEntitySet(String entitySetName);
+
+ @Override
+ public EdmEntitySet getEntitySet(final String entitySetName) {
+ EdmEntitySet entitySet = entitySets.get(entitySetName);
+ if (entitySet == null) {
+ entitySet = createEntitySet(entitySetName);
+ entitySets.put(entitySetName, entitySet);
+ }
+ return entitySet;
+ }
+
+ protected abstract EdmActionImport createActionImport(String actionImportName);
+
+ @Override
+ public EdmActionImport getActionImport(final String actionImportName) {
+ EdmActionImport actionImport = actionImports.get(actionImportName);
+ if (actionImport == null) {
+ actionImport = createActionImport(actionImportName);
+ actionImports.put(actionImportName, actionImport);
+ }
+ return actionImport;
+ }
+
+ protected abstract EdmFunctionImport createFunctionImport(String functionImportName);
+
+ @Override
+ public EdmFunctionImport getFunctionImport(final String functionImportName) {
+ EdmFunctionImport functionImport = functionImports.get(functionImportName);
+ if (functionImport == null) {
+ functionImport = createFunctionImport(functionImportName);
+ functionImports.put(functionImportName, functionImport);
+ }
+ return functionImport;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityType.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityType.java
new file mode 100644
index 0000000..75f982f
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEntityType.java
@@ -0,0 +1,113 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmKeyPropertyRef;
+import org.apache.olingo.odata4.commons.api.edm.EdmStructuredType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public abstract class AbstractEdmEntityType extends AbstractEdmStructuredType implements EdmEntityType {
+
+ private final boolean hasStream;
+
+ protected EdmEntityType entityBaseType;
+
+ private final List<String> keyPredicateNames = new ArrayList<String>();
+
+ private final Map<String, EdmKeyPropertyRef> keyPropertyRefs = new LinkedHashMap<String, EdmKeyPropertyRef>();
+
+ private List<EdmKeyPropertyRef> keyPropertyRefsList;
+
+ protected AbstractEdmEntityType(final Edm edm, final FullQualifiedName fqn, final FullQualifiedName baseTypeName,
+ final boolean hashStream) {
+
+ super(edm, fqn, EdmTypeKind.ENTITY, baseTypeName);
+ this.hasStream = hashStream;
+ }
+
+ protected void setEdmKeyPropertyRef(final List<EdmKeyPropertyRef> edmKey) {
+ for (EdmKeyPropertyRef ref : edmKey) {
+ if (ref.getAlias() == null) {
+ keyPredicateNames.add(ref.getKeyPropertyName());
+ keyPropertyRefs.put(ref.getKeyPropertyName(), ref);
+ } else {
+ keyPredicateNames.add(ref.getAlias());
+ keyPropertyRefs.put(ref.getAlias(), ref);
+ }
+ }
+ }
+
+ @Override
+ protected EdmStructuredType buildBaseType(final FullQualifiedName baseTypeName) {
+ EdmEntityType baseType = null;
+ if (baseTypeName != null) {
+ baseType = edm.getEntityType(baseTypeName);
+ if (baseType == null) {
+ throw new EdmException("Cannot find base type with name: " + baseTypeName + " for entity type: " + getName());
+ }
+ }
+ return baseType;
+ }
+
+ @Override
+ public EdmEntityType getBaseType() {
+ return entityBaseType;
+ }
+
+ @Override
+ public List<String> getKeyPredicateNames() {
+ if (keyPredicateNames.isEmpty() && baseType != null) {
+ return entityBaseType.getKeyPredicateNames();
+ }
+ return keyPredicateNames;
+ }
+
+ @Override
+ public List<EdmKeyPropertyRef> getKeyPropertyRefs() {
+ if (keyPropertyRefsList == null) {
+ keyPropertyRefsList = new ArrayList<EdmKeyPropertyRef>(keyPropertyRefs.values());
+ }
+ if (keyPropertyRefsList.isEmpty() && entityBaseType != null) {
+ return entityBaseType.getKeyPropertyRefs();
+ }
+ return keyPropertyRefsList;
+ }
+
+ @Override
+ public EdmKeyPropertyRef getKeyPropertyRef(final String keyPredicateName) {
+ final EdmKeyPropertyRef edmKeyPropertyRef = keyPropertyRefs.get(keyPredicateName);
+ if (edmKeyPropertyRef == null && entityBaseType != null) {
+ return entityBaseType.getKeyPropertyRef(keyPredicateName);
+ }
+ return edmKeyPropertyRef;
+ }
+
+ @Override
+ public boolean hasStream() {
+ return hasStream;
+ }
+}
[18/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementReference.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementReference.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementReference.java
new file mode 100644
index 0000000..e24a04e
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementReference.java
@@ -0,0 +1,25 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+public class LabeledElementReference extends AbstractElOrAttrConstruct {
+
+ private static final long serialVersionUID = 3649068436729494270L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NavigationPropertyPath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NavigationPropertyPath.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NavigationPropertyPath.java
new file mode 100644
index 0000000..c3685f4
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NavigationPropertyPath.java
@@ -0,0 +1,25 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+public class NavigationPropertyPath extends AbstractElOrAttrConstruct {
+
+ private static final long serialVersionUID = -8066400142504963043L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Null.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Null.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Null.java
new file mode 100644
index 0000000..419413b
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Null.java
@@ -0,0 +1,28 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = NullDeserializer.class)
+public class Null extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = -3611384710172781951L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NullDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NullDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NullDeserializer.java
new file mode 100644
index 0000000..dc78b6a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/NullDeserializer.java
@@ -0,0 +1,49 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+public class NullDeserializer extends AbstractEdmDeserializer<Null> {
+
+ @Override
+ protected Null doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final Null _null = new Null();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Annotation".equals(jp.getCurrentName())) {
+ _null.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ }
+ }
+ }
+
+ return _null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Path.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Path.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Path.java
new file mode 100644
index 0000000..a5e4f9f
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Path.java
@@ -0,0 +1,25 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+public class Path extends AbstractElOrAttrConstruct {
+
+ private static final long serialVersionUID = -2551058493469292082L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyPath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyPath.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyPath.java
new file mode 100644
index 0000000..df924fe
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyPath.java
@@ -0,0 +1,25 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+public class PropertyPath extends AbstractElOrAttrConstruct {
+
+ private static final long serialVersionUID = 2328584735437885159L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValue.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValue.java
new file mode 100644
index 0000000..6afb0d4
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValue.java
@@ -0,0 +1,49 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
+
+@JsonDeserialize(using = PropertyValueDeserializer.class)
+public class PropertyValue extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = 3081968466425707461L;
+
+ private String property;
+
+ private ExprConstruct value;
+
+ public String getProperty() {
+ return property;
+ }
+
+ public void setProperty(final String property) {
+ this.property = property;
+ }
+
+ public ExprConstruct getValue() {
+ return value;
+ }
+
+ public void setValue(final ExprConstruct value) {
+ this.value = value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValueDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValueDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValueDeserializer.java
new file mode 100644
index 0000000..0871e55
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/PropertyValueDeserializer.java
@@ -0,0 +1,55 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+public class PropertyValueDeserializer extends AbstractEdmDeserializer<PropertyValue> {
+
+ @Override
+ protected PropertyValue doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final PropertyValue propValue = new PropertyValue();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Property".equals(jp.getCurrentName())) {
+ propValue.setProperty(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ propValue.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ } else if (isAnnotationConstExprConstruct(jp)) {
+ propValue.setValue(parseAnnotationConstExprConstruct(jp));
+ } else {
+ propValue.setValue(jp.readValueAs(DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return propValue;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Record.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Record.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Record.java
new file mode 100644
index 0000000..ee7d332
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Record.java
@@ -0,0 +1,46 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+
+@JsonDeserialize(using = RecordDeserializer.class)
+public class Record extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = -2886526224721870304L;
+
+ private String type;
+
+ private final List<PropertyValue> propertyValues = new ArrayList<PropertyValue>();
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ public List<PropertyValue> getPropertyValues() {
+ return propertyValues;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/RecordDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/RecordDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/RecordDeserializer.java
new file mode 100644
index 0000000..f4a6cf1
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/RecordDeserializer.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+public class RecordDeserializer extends AbstractEdmDeserializer<Record> {
+
+ @Override
+ protected Record doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final Record record = new Record();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Tyoe".equals(jp.getCurrentName())) {
+ record.setType(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ record.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ } else {
+ record.getPropertyValues().add(jp.readValueAs(PropertyValue.class));
+ }
+ }
+ }
+
+ return record;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRef.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRef.java
new file mode 100644
index 0000000..f710fa4
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRef.java
@@ -0,0 +1,39 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
+
+@JsonDeserialize(using = UrlRefDeserializer.class)
+public class UrlRef extends DynExprConstructImpl {
+
+ private static final long serialVersionUID = 3755101394647430897L;
+
+ private ExprConstruct value;
+
+ public ExprConstruct getValue() {
+ return value;
+ }
+
+ public void setValue(final ExprConstruct value) {
+ this.value = value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRefDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRefDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRefDeserializer.java
new file mode 100644
index 0000000..e3d9f61
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/UrlRefDeserializer.java
@@ -0,0 +1,50 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class UrlRefDeserializer extends AbstractEdmDeserializer<UrlRef> {
+
+ @Override
+ protected UrlRef doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final UrlRef urlref = new UrlRef();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if (isAnnotationConstExprConstruct(jp)) {
+ urlref.setValue(parseAnnotationConstExprConstruct(jp));
+ } else {
+ urlref.setValue(jp.readValueAs( DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return urlref;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
index bd8c3e9..2a3aa80 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/AbstractEdmDeserializer.java
@@ -26,7 +26,7 @@ import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser;
import java.io.IOException;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.core.edm.xml.v4.ReturnTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.ConstExprConstructImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.ConstExprConstructImpl;
public abstract class AbstractEdmDeserializer<T> extends JsonDeserializer<T> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
index 36b90b2..9096099 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataDeserializerImpl.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.core.op.impl.AbstractODataDeserializer;
import org.apache.olingo.odata4.client.core.edm.xml.v3.EdmxImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.XMLMetadataImpl;
public class ODataDeserializerImpl extends AbstractODataDeserializer {
@@ -32,9 +33,9 @@ public class ODataDeserializerImpl extends AbstractODataDeserializer {
}
@Override
- public EdmxImpl toMetadata(final InputStream input) {
+ public XMLMetadataImpl toMetadata(final InputStream input) {
try {
- return getXmlMapper().readValue(input, EdmxImpl.class);
+ return new XMLMetadataImpl(getXmlMapper().readValue(input, EdmxImpl.class));
} catch (Exception e) {
throw new IllegalArgumentException("Could not parse as Edmx document", e);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataReaderImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataReaderImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataReaderImpl.java
index 83f0494..5b1c6cc 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataReaderImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v3/ODataReaderImpl.java
@@ -20,8 +20,9 @@ package org.apache.olingo.odata4.client.core.op.impl.v3;
import java.io.InputStream;
import org.apache.olingo.odata4.client.core.ODataV3Client;
+import org.apache.olingo.odata4.client.core.edm.EdmClientImpl;
import org.apache.olingo.odata4.client.core.op.impl.AbstractODataReader;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmMetadataImpl;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
public class ODataReaderImpl extends AbstractODataReader {
@@ -32,8 +33,8 @@ public class ODataReaderImpl extends AbstractODataReader {
}
@Override
- public EdmMetadataImpl readMetadata(final InputStream input) {
- return new EdmMetadataImpl(client, input);
+ public Edm readMetadata(final InputStream input) {
+ return new EdmClientImpl(client.getDeserializer().toMetadata(input));
}
// @Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
index b97b69b..83c1aea 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataDeserializerImpl.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.core.op.impl.AbstractODataDeserializer;
import org.apache.olingo.odata4.client.core.edm.xml.v4.EdmxImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.XMLMetadataImpl;
public class ODataDeserializerImpl extends AbstractODataDeserializer {
@@ -32,9 +33,9 @@ public class ODataDeserializerImpl extends AbstractODataDeserializer {
}
@Override
- public EdmxImpl toMetadata(final InputStream input) {
+ public XMLMetadataImpl toMetadata(final InputStream input) {
try {
- return getXmlMapper().readValue(input, EdmxImpl.class);
+ return new XMLMetadataImpl(getXmlMapper().readValue(input, EdmxImpl.class));
} catch (Exception e) {
throw new IllegalArgumentException("Could not parse as Edmx document", e);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataReaderImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataReaderImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataReaderImpl.java
index 11b7112..35209c2 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataReaderImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/op/impl/v4/ODataReaderImpl.java
@@ -20,8 +20,9 @@ package org.apache.olingo.odata4.client.core.op.impl.v4;
import java.io.InputStream;
import org.apache.olingo.odata4.client.core.ODataV4Client;
+import org.apache.olingo.odata4.client.core.edm.EdmClientImpl;
import org.apache.olingo.odata4.client.core.op.impl.AbstractODataReader;
-import org.apache.olingo.odata4.client.core.edm.v4.EdmMetadataImpl;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
public class ODataReaderImpl extends AbstractODataReader {
@@ -32,8 +33,8 @@ public class ODataReaderImpl extends AbstractODataReader {
}
@Override
- public EdmMetadataImpl readMetadata(final InputStream input) {
- return new EdmMetadataImpl(client, input);
+ public Edm readMetadata(final InputStream input) {
+ return new EdmClientImpl(client.getDeserializer().toMetadata(input));
}
// @Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
index b23cb72..97f855c 100644
--- a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
+++ b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v3/MetadataTest.java
@@ -29,12 +29,12 @@ import org.apache.olingo.odata4.client.api.http.HttpMethod;
import org.apache.olingo.odata4.client.core.AbstractTest;
import org.apache.olingo.odata4.client.core.ODataV3Client;
import org.apache.olingo.odata4.client.core.edm.xml.v3.ComplexTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v3.EdmMetadataImpl;
import org.apache.olingo.odata4.client.core.edm.v3.EdmTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v3.EntityContainerImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v3.EntityTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v3.FunctionImportImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v3.SchemaImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v3.XMLMetadataImpl;
import org.junit.Test;
public class MetadataTest extends AbstractTest {
@@ -46,8 +46,8 @@ public class MetadataTest extends AbstractTest {
@Test
public void parse() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("metadata.xml"));
assertNotNull(metadata);
final EdmTypeImpl orderCollection = new EdmTypeImpl(metadata,
@@ -98,8 +98,8 @@ public class MetadataTest extends AbstractTest {
@Test
public void multipleSchemas() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("northwind-metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("northwind-metadata.xml"));
assertNotNull(metadata);
final SchemaImpl first = metadata.getSchema("NorthwindModel");
@@ -115,8 +115,8 @@ public class MetadataTest extends AbstractTest {
@Test
public void entityType() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("metadata.xml"));
assertNotNull(metadata);
final EntityContainerImpl container = metadata.getSchema(0).getEntityContainers().get(0);
@@ -133,8 +133,8 @@ public class MetadataTest extends AbstractTest {
@Test
public void complexType() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("metadata.xml"));
assertNotNull(metadata);
final EntityContainerImpl container = metadata.getSchema(0).getEntityContainers().get(0);
@@ -148,8 +148,8 @@ public class MetadataTest extends AbstractTest {
@Test
public void functionImport() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("metadata.xml"));
assertNotNull(metadata);
final EntityContainerImpl container = metadata.getSchema(0).getEntityContainers().get(0);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
index 38709ed..fba34da 100644
--- a/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
+++ b/odata4-lib/odata4-client-core/src/test/java/org/apache/olingo/odata4/client/core/v4/MetadataTest.java
@@ -19,34 +19,42 @@
package org.apache.olingo.odata4.client.core.v4;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.data.EdmSimpleType;
import org.apache.olingo.odata4.client.core.AbstractTest;
import org.apache.olingo.odata4.client.core.ODataV4Client;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImportImpl;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.ActionImpl;
+import org.apache.olingo.odata4.client.core.edm.v4.EdmTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.XMLMetadataImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationsImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.EdmMetadataImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.EdmTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.EntityContainerImpl;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.EntitySetImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImportImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl;
import org.apache.olingo.odata4.client.core.edm.xml.v4.SingletonImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.Apply;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.Collection;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.ConstExprConstructImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.Path;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.Apply;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.Collection;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.ConstExprConstructImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.Path;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmAction;
+import org.apache.olingo.odata4.commons.api.edm.EdmComplexType;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImportInfo;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import static org.junit.Assert.assertNull;
import org.junit.Test;
public class MetadataTest extends AbstractTest {
@@ -58,73 +66,70 @@ public class MetadataTest extends AbstractTest {
@Test
public void parse() {
- final EdmMetadataImpl metadata = getClient().getReader().
+ final Edm edm = getClient().getReader().
readMetadata(getClass().getResourceAsStream("metadata.xml"));
- assertNotNull(metadata);
+ assertNotNull(edm);
// 1. Enum
- final EnumTypeImpl responseEnumType = metadata.getSchema(0).getEnumType("ResponseType");
+ final EdmEnumType responseEnumType = edm.getEnumType(
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "ResponseType"));
assertNotNull(responseEnumType);
- assertEquals(6, responseEnumType.getMembers().size());
- assertEquals(3, responseEnumType.getMember("Accepted").getValue().intValue());
- assertEquals("Accepted", responseEnumType.getMember(3).getName());
-
- final EdmTypeImpl responseType = new EdmTypeImpl(metadata,
- "Microsoft.Exchange.Services.OData.Model.ResponseType");
- assertNotNull(responseType);
- assertFalse(responseType.isCollection());
- assertFalse(responseType.isSimpleType());
- assertTrue(responseType.isEnumType());
- assertFalse(responseType.isComplexType());
- assertFalse(responseType.isEntityType());
+ assertEquals(6, responseEnumType.getMemberNames().size());
+ assertEquals("3", responseEnumType.getMember("Accepted").getValue());
+ assertEquals(EdmTypeKind.ENUM, responseEnumType.getKind());
// 2. Complex
- final ComplexTypeImpl responseStatus = metadata.getSchema(0).getComplexType("ResponseStatus");
+ final EdmComplexType responseStatus = edm.getComplexType(
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "ResponseStatus"));
assertNotNull(responseStatus);
- assertTrue(responseStatus.getNavigationProperties().isEmpty());
- assertEquals(EdmSimpleType.DateTimeOffset,
- EdmSimpleType.fromValue(responseStatus.getProperty("Time").getType()));
+ assertTrue(responseStatus.getNavigationPropertyNames().isEmpty());
+ assertEquals("Recipient", responseStatus.getBaseType().getName());
+ assertEquals(EdmPrimitiveTypeKind.DateTimeOffset.getEdmPrimitiveTypeInstance(),
+ responseStatus.getProperty("Time").getType());
// 3. Entity
- final EntityTypeImpl user = metadata.getSchema(0).getEntityType("User");
+ final EdmEntityType user = edm.getEntityType(
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "User"));
assertNotNull(user);
- assertEquals("Microsoft.Exchange.Services.OData.Model.Entity", user.getBaseType());
- assertFalse(user.getProperties().isEmpty());
- assertFalse(user.getNavigationProperties().isEmpty());
- assertEquals("Microsoft.Exchange.Services.OData.Model.Folder", user.getNavigationProperty("Inbox").getType());
+ final EdmEntityType entity = edm.getEntityType(
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "Entity"));
+ assertEquals(entity, user.getBaseType());
+ assertFalse(user.getPropertyNames().isEmpty());
+ assertFalse(user.getNavigationPropertyNames().isEmpty());
+ final EdmEntityType folder = edm.getEntityType(
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "Folder"));
+ assertEquals(folder, user.getNavigationProperty("Inbox").getType());
// 4. Action
- final List<ActionImpl> moves = metadata.getSchema(0).getActions("Move");
- assertFalse(moves.isEmpty());
- ActionImpl move = null;
- for (ActionImpl action : moves) {
- if ("Microsoft.Exchange.Services.OData.Model.EmailMessage".equals(action.getReturnType().getType())) {
- move = action;
- }
- }
+ final EdmAction move = edm.getAction(
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "Move"),
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "Folder"),
+ false);
assertNotNull(move);
assertTrue(move.isBound());
- assertEquals("bindingParameter", move.getEntitySetPath());
- assertEquals(2, move.getParameters().size());
- assertEquals("Microsoft.Exchange.Services.OData.Model.EmailMessage", move.getParameters().get(0).getType());
+ assertEquals(2, move.getParameterNames().size());
+ assertEquals(
+ EdmPrimitiveTypeKind.String.getEdmPrimitiveTypeInstance(), move.getParameter("DestinationId").getType());
// 5. EntityContainer
- final EntityContainerImpl container = metadata.getSchema(0).getEntityContainer();
+ final EdmEntityContainer container = edm.getEntityContainer(
+ new FullQualifiedName("Microsoft.Exchange.Services.OData.Model", "EntityContainer"));
assertNotNull(container);
- final EntitySetImpl users = container.getEntitySet("Users");
+ final EdmEntitySet users = container.getEntitySet("Users");
assertNotNull(users);
- assertEquals(metadata.getSchema(0).getNamespace() + "." + user.getName(), users.getEntityType());
- assertEquals(user.getNavigationProperties().size(), users.getNavigationPropertyBindings().size());
+ assertEquals(edm.getEntityType(new FullQualifiedName(container.getNamespace(), "User")),
+ users.getEntityType());
+ assertEquals(container.getEntitySet("Folders"), users.getRelatedBindingTarget("Folders"));
}
@Test
public void demo() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("demo-metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("demo-metadata.xml"));
assertNotNull(metadata);
assertFalse(metadata.getSchema(0).getAnnotationsList().isEmpty());
- AnnotationsImpl annots = metadata.getSchema(0).getAnnotationsList("ODataDemo.DemoService/Suppliers");
+ final AnnotationsImpl annots = metadata.getSchema(0).getAnnotationsList("ODataDemo.DemoService/Suppliers");
assertNotNull(annots);
assertFalse(annots.getAnnotations().isEmpty());
assertEquals(ConstExprConstructImpl.Type.String,
@@ -135,8 +140,8 @@ public class MetadataTest extends AbstractTest {
@Test
public void multipleSchemas() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("northwind-metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("northwind-metadata.xml"));
assertNotNull(metadata);
final SchemaImpl first = metadata.getSchema("NorthwindModel");
@@ -159,8 +164,8 @@ public class MetadataTest extends AbstractTest {
*/
@Test
public void fromdoc1() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("fromdoc1-metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("fromdoc1-metadata.xml"));
assertNotNull(metadata);
assertFalse(metadata.getReferences().isEmpty());
@@ -169,7 +174,6 @@ public class MetadataTest extends AbstractTest {
final EntityTypeImpl product = metadata.getSchema(0).getEntityType("Product");
assertTrue(product.isHasStream());
assertEquals("UoM.ISOCurrency", product.getProperty("Price").getAnnotation().getTerm());
- //assertEquals("Currency", product.getProperty("Price").getAnnotation().));
assertEquals("Products", product.getNavigationProperty("Supplier").getPartner());
final EntityTypeImpl category = metadata.getSchema(0).getEntityType("Category");
@@ -198,6 +202,31 @@ public class MetadataTest extends AbstractTest {
assertNotNull(functionImport);
assertEquals(metadata.getSchema(0).getNamespace() + "." + productsByRating.getName(),
functionImport.getFunction());
+
+ // Now let's go high-level
+ final Edm edm = getClient().getReader().
+ readMetadata(getClass().getResourceAsStream("fromdoc1-metadata.xml"));
+ assertNotNull(edm);
+
+ final EdmFunctionImportInfo fiInfo = edm.getServiceMetadata().getFunctionImportInfos().get(0);
+ final EdmEntityContainer demoService = edm.getEntityContainer(
+ new FullQualifiedName(metadata.getSchema(0).getNamespace(), fiInfo.getEntityContainerName()));
+ assertNotNull(demoService);
+ final EdmFunctionImport fi = demoService.getFunctionImport(fiInfo.getFunctionImportName());
+ assertNotNull(fi);
+ assertEquals(demoService.getEntitySet("Products"), fi.getReturnedEntitySet());
+
+ final EdmFunction function = edm.getFunction(
+ new FullQualifiedName(metadata.getSchema(0).getNamespace(), "ProductsByRating"),
+ null, Boolean.FALSE, null);
+ assertNotNull(function);
+ assertEquals(function.getName(), fi.getFunction(null).getName());
+ assertEquals(function.getNamespace(), fi.getFunction(null).getNamespace());
+ assertEquals(function.getParameterNames(), fi.getFunction(null).getParameterNames());
+ assertEquals(function.getReturnType().getType().getName(),
+ fi.getFunction(null).getReturnType().getType().getName());
+ assertEquals(function.getReturnType().getType().getNamespace(),
+ fi.getFunction(null).getReturnType().getType().getNamespace());
}
/**
@@ -205,8 +234,8 @@ public class MetadataTest extends AbstractTest {
*/
@Test
public void fromdoc2() {
- final EdmMetadataImpl metadata = getClient().getReader().
- readMetadata(getClass().getResourceAsStream("fromdoc2-metadata.xml"));
+ final XMLMetadataImpl metadata = getClient().getDeserializer().
+ toMetadata(getClass().getResourceAsStream("fromdoc2-metadata.xml"));
assertNotNull(metadata);
// Check displayName
@@ -253,7 +282,7 @@ public class MetadataTest extends AbstractTest {
*/
@Test
public void fromdoc3() {
- final EdmMetadataImpl metadata = getClient().getReader().
+ final Edm metadata = getClient().getReader().
readMetadata(getClass().getResourceAsStream("fromdoc3-metadata.xml"));
assertNotNull(metadata);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/demo-metadata.xml
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/demo-metadata.xml b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/demo-metadata.xml
index 8296468..9b21e2f 100644
--- a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/demo-metadata.xml
+++ b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/demo-metadata.xml
@@ -19,4 +19,145 @@
under the License.
-->
-<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"><edmx:DataServices><Schema Namespace="ODataDemo" xmlns="http://docs.oasis-open.org/odata/ns/edm"><EntityType Name="Product"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" /><Property Name="Description" Type="Edm.String" /><Property Name="ReleaseDate" Type="Edm.DateTimeOffset" Nullable="false" /><Property Name="DiscontinuedDate" Type="Edm.DateTimeOffset" /><Property Name="Rating" Type="Edm.Int16" Nullable="false" /><Property Name="Price" Type="Edm.Double" Nullable="false" /><NavigationProperty Name="Categories" Type="Collection(ODataDemo.Category)" Partner="Products" /><NavigationProperty Name="Supplier" Type="ODataDemo.Supplier" Partner="Products" /><NavigationProperty Name="ProductDetail" Type="ODataDemo.ProductDetail" Partner="Product" /></EntityType><EntityType Name="FeaturedProduct" BaseType="ODataDemo.Product"><Navig
ationProperty Name="Advertisement" Type="ODataDemo.Advertisement" Partner="FeaturedProduct" /></EntityType><EntityType Name="ProductDetail"><Key><PropertyRef Name="ProductID" /></Key><Property Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="Details" Type="Edm.String" /><NavigationProperty Name="Product" Type="ODataDemo.Product" Partner="ProductDetail" /></EntityType><EntityType Name="Category" OpenType="true"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)" Partner="Categories" /></EntityType><EntityType Name="Supplier"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address" /><Property Name="Location" Type="Edm.GeographyPoint" SRID="Variable" /><Property Name="Concurrency" Type="E
dm.Int32" ConcurrencyMode="Fixed" Nullable="false" /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)" Partner="Supplier" /></EntityType><ComplexType Name="Address"><Property Name="Street" Type="Edm.String" /><Property Name="City" Type="Edm.String" /><Property Name="State" Type="Edm.String" /><Property Name="ZipCode" Type="Edm.String" /><Property Name="Country" Type="Edm.String" /></ComplexType><EntityType Name="Person"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String" /><NavigationProperty Name="PersonDetail" Type="ODataDemo.PersonDetail" Partner="Person" /></EntityType><EntityType Name="Customer" BaseType="ODataDemo.Person"><Property Name="TotalExpense" Type="Edm.Decimal" Nullable="false" /></EntityType><EntityType Name="Employee" BaseType="ODataDemo.Person"><Property Name="EmployeeID" Type="Edm.Int64" Nullable="false" /><Property Name="HireDate" Type="Edm.DateTimeOffset" Nulla
ble="false" /><Property Name="Salary" Type="Edm.Single" Nullable="false" /></EntityType><EntityType Name="PersonDetail"><Key><PropertyRef Name="PersonID" /></Key><Property Name="PersonID" Type="Edm.Int32" Nullable="false" /><Property Name="Age" Type="Edm.Byte" Nullable="false" /><Property Name="Gender" Type="Edm.Boolean" Nullable="false" /><Property Name="Phone" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address" /><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><NavigationProperty Name="Person" Type="ODataDemo.Person" Partner="PersonDetail" /></EntityType><EntityType Name="Advertisement" HasStream="true"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Guid" Nullable="false" /><Property Name="Name" Type="Edm.String" /><Property Name="AirDate" Type="Edm.DateTimeOffset" Nullable="false" /><NavigationProperty Name="FeaturedProduct" Type="ODataDemo.FeaturedProduct" Partner="Advertisement" /></EntityType><EntityContainer Name="DemoService">
<EntitySet Name="Products" EntityType="ODataDemo.Product"><NavigationPropertyBinding Path="ODataDemo.FeaturedProduct/Advertisement" Target="Advertisements" /><NavigationPropertyBinding Path="Categories" Target="Categories" /><NavigationPropertyBinding Path="Supplier" Target="Suppliers" /><NavigationPropertyBinding Path="ProductDetail" Target="ProductDetails" /></EntitySet><EntitySet Name="ProductDetails" EntityType="ODataDemo.ProductDetail"><NavigationPropertyBinding Path="Product" Target="Products" /></EntitySet><EntitySet Name="Categories" EntityType="ODataDemo.Category"><NavigationPropertyBinding Path="Products" Target="Products" /></EntitySet><EntitySet Name="Suppliers" EntityType="ODataDemo.Supplier"><NavigationPropertyBinding Path="Products" Target="Products" /></EntitySet><EntitySet Name="Persons" EntityType="ODataDemo.Person"><NavigationPropertyBinding Path="PersonDetail" Target="PersonDetails" /></EntitySet><EntitySet Name="PersonDetails" EntityType="ODataDemo.PersonDetail"
><NavigationPropertyBinding Path="Person" Target="Persons" /></EntitySet><EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement"><NavigationPropertyBinding Path="FeaturedProduct" Target="Products" /></EntitySet></EntityContainer><Annotations Target="ODataDemo.DemoService"><Annotation Term="Org.OData.Display.V1.Description" String="This is a sample OData service with vocabularies" /></Annotations><Annotations Target="ODataDemo.Product"><Annotation Term="Org.OData.Display.V1.Description" String="All Products available in the online store" /></Annotations><Annotations Target="ODataDemo.Product/Name"><Annotation Term="Org.OData.Display.V1.DisplayName" String="Product Name" /></Annotations><Annotations Target="ODataDemo.DemoService/Suppliers"><Annotation Term="Org.OData.Publication.V1.PublisherName" String="Microsoft Corp." /><Annotation Term="Org.OData.Publication.V1.PublisherId" String="MSFT" /><Annotation Term="Org.OData.Publication.V1.Keywords" String="Inventory, Suppli
er, Advertisers, Sales, Finance" /><Annotation Term="Org.OData.Publication.V1.AttributionUrl" String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.AttributionDescription" String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.DocumentationUrl " String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.TermsOfUseUrl" String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl" String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.LastModified" String="4/2/2013" /><Annotation Term="Org.OData.Publication.V1.ImageUrl " String="http://www.odata.org/" /></Annotations></Schema></edmx:DataServices></edmx:Edmx>
\ No newline at end of file
+<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
+ <edmx:DataServices>
+ <Schema Namespace="ODataDemo" xmlns="http://docs.oasis-open.org/odata/ns/edm">
+ <EntityType Name="Product">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" />
+ <Property Name="Description" Type="Edm.String" />
+ <Property Name="ReleaseDate" Type="Edm.DateTimeOffset" Nullable="false" />
+ <Property Name="DiscontinuedDate" Type="Edm.DateTimeOffset" />
+ <Property Name="Rating" Type="Edm.Int16" Nullable="false" />
+ <Property Name="Price" Type="Edm.Double" Nullable="false" />
+ <NavigationProperty Name="Categories" Type="Collection(ODataDemo.Category)" Partner="Products" />
+ <NavigationProperty Name="Supplier" Type="ODataDemo.Supplier" Partner="Products" />
+ <NavigationProperty Name="ProductDetail" Type="ODataDemo.ProductDetail" Partner="Product" />
+ </EntityType>
+ <EntityType Name="FeaturedProduct" BaseType="ODataDemo.Product">
+ <NavigationProperty Name="Advertisement" Type="ODataDemo.Advertisement" Partner="FeaturedProduct" />
+ </EntityType>
+ <EntityType Name="ProductDetail">
+ <Key>
+ <PropertyRef Name="ProductID" />
+ </Key>
+ <Property Name="ProductID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Details" Type="Edm.String" />
+ <NavigationProperty Name="Product" Type="ODataDemo.Product" Partner="ProductDetail" />
+ </EntityType>
+ <EntityType Name="Category" OpenType="true">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" />
+ <NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)" Partner="Categories" />
+ </EntityType>
+ <EntityType Name="Supplier">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" />
+ <Property Name="Address" Type="ODataDemo.Address" />
+ <Property Name="Location" Type="Edm.GeographyPoint" SRID="Variable" />
+ <Property Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed" Nullable="false" />
+ <NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)" Partner="Supplier" />
+ </EntityType>
+ <ComplexType Name="Address">
+ <Property Name="Street" Type="Edm.String" />
+ <Property Name="City" Type="Edm.String" />
+ <Property Name="State" Type="Edm.String" />
+ <Property Name="ZipCode" Type="Edm.String" />
+ <Property Name="Country" Type="Edm.String" />
+ </ComplexType>
+ <EntityType Name="Person">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" />
+ <NavigationProperty Name="PersonDetail" Type="ODataDemo.PersonDetail" Partner="Person" />
+ </EntityType>
+ <EntityType Name="Customer" BaseType="ODataDemo.Person">
+ <Property Name="TotalExpense" Type="Edm.Decimal" Nullable="false" />
+ </EntityType>
+ <EntityType Name="Employee" BaseType="ODataDemo.Person">
+ <Property Name="EmployeeID" Type="Edm.Int64" Nullable="false" />
+ <Property Name="HireDate" Type="Edm.DateTimeOffset" Nullable="false" />
+ <Property Name="Salary" Type="Edm.Single" Nullable="false" />
+ </EntityType>
+ <EntityType Name="PersonDetail">
+ <Key>
+ <PropertyRef Name="PersonID" />
+ </Key>
+ <Property Name="PersonID" Type="Edm.Int32" Nullable="false" />
+ <Property Name="Age" Type="Edm.Byte" Nullable="false" />
+ <Property Name="Gender" Type="Edm.Boolean" Nullable="false" />
+ <Property Name="Phone" Type="Edm.String" />
+ <Property Name="Address" Type="ODataDemo.Address" />
+ <Property Name="Photo" Type="Edm.Stream" Nullable="false" />
+ <NavigationProperty Name="Person" Type="ODataDemo.Person" Partner="PersonDetail" />
+ </EntityType>
+ <EntityType Name="Advertisement" HasStream="true">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Edm.Guid" Nullable="false" />
+ <Property Name="Name" Type="Edm.String" />
+ <Property Name="AirDate" Type="Edm.DateTimeOffset" Nullable="false" />
+ <NavigationProperty Name="FeaturedProduct" Type="ODataDemo.FeaturedProduct" Partner="Advertisement" />
+ </EntityType>
+ <EntityContainer Name="DemoService">
+ <EntitySet Name="Products" EntityType="ODataDemo.Product">
+ <NavigationPropertyBinding Path="ODataDemo.FeaturedProduct/Advertisement" Target="Advertisements" />
+ <NavigationPropertyBinding Path="Categories" Target="Categories" />
+ <NavigationPropertyBinding Path="Supplier" Target="Suppliers" />
+ <NavigationPropertyBinding Path="ProductDetail" Target="ProductDetails" />
+ </EntitySet>
+ <EntitySet Name="ProductDetails" EntityType="ODataDemo.ProductDetail">
+ <NavigationPropertyBinding Path="Product" Target="Products" />
+ </EntitySet>
+ <EntitySet Name="Categories" EntityType="ODataDemo.Category">
+ <NavigationPropertyBinding Path="Products" Target="Products" />
+ </EntitySet>
+ <EntitySet Name="Suppliers" EntityType="ODataDemo.Supplier">
+ <NavigationPropertyBinding Path="Products" Target="Products" />
+ </EntitySet>
+ <EntitySet Name="Persons" EntityType="ODataDemo.Person">
+ <NavigationPropertyBinding Path="PersonDetail" Target="PersonDetails" />
+ </EntitySet>
+ <EntitySet Name="PersonDetails" EntityType="ODataDemo.PersonDetail">
+ <NavigationPropertyBinding Path="Person" Target="Persons" />
+ </EntitySet>
+ <EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement">
+ <NavigationPropertyBinding Path="FeaturedProduct" Target="Products" />
+ </EntitySet>
+ </EntityContainer>
+ <Annotations Target="ODataDemo.DemoService">
+ <Annotation Term="Org.OData.Display.V1.Description" String="This is a sample OData service with vocabularies" />
+ </Annotations>
+ <Annotations Target="ODataDemo.Product">
+ <Annotation Term="Org.OData.Display.V1.Description" String="All Products available in the online store" />
+ </Annotations>
+ <Annotations Target="ODataDemo.Product/Name">
+ <Annotation Term="Org.OData.Display.V1.DisplayName" String="Product Name" />
+ </Annotations>
+ <Annotations Target="ODataDemo.DemoService/Suppliers">
+ <Annotation Term="Org.OData.Publication.V1.PublisherName" String="Microsoft Corp." />
+ <Annotation Term="Org.OData.Publication.V1.PublisherId" String="MSFT" />
+ <Annotation Term="Org.OData.Publication.V1.Keywords" String="Inventory, Supplier, Advertisers, Sales, Finance" />
+ <Annotation Term="Org.OData.Publication.V1.AttributionUrl" String="http://www.odata.org/" />
+ <Annotation Term="Org.OData.Publication.V1.AttributionDescription" String="All rights reserved" />
+ <Annotation Term="Org.OData.Publication.V1.DocumentationUrl " String="http://www.odata.org/" />
+ <Annotation Term="Org.OData.Publication.V1.TermsOfUseUrl" String="All rights reserved" />
+ <Annotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl" String="http://www.odata.org/" />
+ <Annotation Term="Org.OData.Publication.V1.LastModified" String="4/2/2013" />
+ <Annotation Term="Org.OData.Publication.V1.ImageUrl " String="http://www.odata.org/" />
+ </Annotations>
+ </Schema>
+ </edmx:DataServices>
+</edmx:Edmx>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/fromdoc1-metadata.xml
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/fromdoc1-metadata.xml b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/fromdoc1-metadata.xml
index d2f99e3..ed46844 100644
--- a/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/fromdoc1-metadata.xml
+++ b/odata4-lib/odata4-client-core/src/test/resources/org/apache/olingo/odata4/client/core/v4/fromdoc1-metadata.xml
@@ -28,6 +28,16 @@
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ODataDemo">
+ <TypeDefinition Name="Length" UnderlyingType="Edm.Int32">
+ <Annotation Term="Org.OData.Measures.V1.Unit" String="Centimeters"/>
+ </TypeDefinition>
+ <TypeDefinition Name="Weight" UnderlyingType="Edm.Int32">
+ <Annotation Term="Org.OData.Measures.V1.Unit" String="Kilograms"/>
+ </TypeDefinition>
+ <ComplexType Name="Size">
+ <Property Name="Height" Type="Self.Length" />
+ <Property Name="Weight" Type="Self.Weight" />
+ </ComplexType>
<EntityType Name="Product" HasStream="true">
<Key>
<PropertyRef Name="ID"/>
[03/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationDeserializer.java
new file mode 100644
index 0000000..0de5a19
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationDeserializer.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class AssociationDeserializer extends AbstractEdmDeserializer<AssociationImpl> {
+
+ @Override
+ protected AssociationImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AssociationImpl association = new AssociationImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ association.setName(jp.nextTextValue());
+ } else if ("ReferentialConstraint".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ association.setReferentialConstraint(jp.readValueAs( ReferentialConstraintImpl.class));
+ } else if ("End".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ association.getEnds().add(jp.readValueAs( AssociationEndImpl.class));
+ }
+ }
+ }
+
+ return association;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationEndImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationEndImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationEndImpl.java
new file mode 100644
index 0000000..e6494b4
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationEndImpl.java
@@ -0,0 +1,81 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.OnDelete;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.AssociationEnd;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class AssociationEndImpl extends AbstractEdmItem implements AssociationEnd {
+
+ private static final long serialVersionUID = 3305394053564979376L;
+
+ @JsonProperty(value = "Type", required = true)
+ private String type;
+
+ @JsonProperty(value = "Role")
+ private String role;
+
+ @JsonProperty(value = "Multiplicity")
+ private String multiplicity;
+
+ @JsonProperty(value = "OnDelete")
+ private OnDelete onDelete;
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public String getRole() {
+ return role;
+ }
+
+ @Override
+ public void setRole(final String role) {
+ this.role = role;
+ }
+
+ @Override
+ public String getMultiplicity() {
+ return multiplicity;
+ }
+
+ @Override
+ public void setMultiplicity(final String multiplicity) {
+ this.multiplicity = multiplicity;
+ }
+
+ @Override
+ public OnDelete getOnDelete() {
+ return onDelete;
+ }
+
+ @Override
+ public void setOnDelete(final OnDelete onDelete) {
+ this.onDelete = onDelete;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationImpl.java
new file mode 100644
index 0000000..35572bd
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationImpl.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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.Association;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ReferentialConstraint;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+@JsonDeserialize(using = AssociationDeserializer.class)
+public class AssociationImpl extends AbstractEdmItem implements Association {
+
+ private static final long serialVersionUID = 73763231919532482L;
+
+ private String name;
+
+ private ReferentialConstraint referentialConstraint;
+
+ private List<AssociationEndImpl> ends = new ArrayList<AssociationEndImpl>();
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public ReferentialConstraint getReferentialConstraint() {
+ return referentialConstraint;
+ }
+
+ @Override
+ public void setReferentialConstraint(final ReferentialConstraint referentialConstraint) {
+ this.referentialConstraint = referentialConstraint;
+ }
+
+ @Override
+ public List<AssociationEndImpl> getEnds() {
+ return ends;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetDeserializer.java
new file mode 100644
index 0000000..16cae5a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetDeserializer.java
@@ -0,0 +1,52 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class AssociationSetDeserializer extends AbstractEdmDeserializer<AssociationSetImpl> {
+
+ @Override
+ protected AssociationSetImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AssociationSetImpl associationSet = new AssociationSetImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ associationSet.setName(jp.nextTextValue());
+ } else if ("Association".equals(jp.getCurrentName())) {
+ associationSet.setAssociation(jp.nextTextValue());
+ } else if ("End".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ associationSet.getEnds().add(jp.readValueAs( AssociationSetEndImpl.class));
+ }
+ }
+ }
+
+ return associationSet;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetEndImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetEndImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetEndImpl.java
new file mode 100644
index 0000000..08cc6b2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetEndImpl.java
@@ -0,0 +1,54 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.AssociationSetEnd;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class AssociationSetEndImpl extends AbstractEdmItem implements AssociationSetEnd {
+
+ private static final long serialVersionUID = -6238344152962217446L;
+
+ @JsonProperty("Role")
+ private String role;
+
+ @JsonProperty(value = "EntitySet", required = true)
+ private String entitySet;
+
+ @Override
+ public String getRole() {
+ return role;
+ }
+
+ @Override
+ public void setRole(final String role) {
+ this.role = role;
+ }
+
+ @Override
+ public String getEntitySet() {
+ return entitySet;
+ }
+
+ @Override
+ public void setEntitySet(final String entitySet) {
+ this.entitySet = entitySet;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetImpl.java
new file mode 100644
index 0000000..70ca595
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/AssociationSetImpl.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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.AssociationSet;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+@JsonDeserialize(using = AssociationSetDeserializer.class)
+public class AssociationSetImpl extends AbstractEdmItem implements AssociationSet {
+
+ private static final long serialVersionUID = 1248430921598774799L;
+
+ private String name;
+
+ private String association;
+
+ private List<AssociationSetEndImpl> ends = new ArrayList<AssociationSetEndImpl>();
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getAssociation() {
+ return association;
+ }
+
+ @Override
+ public void setAssociation(final String association) {
+ this.association = association;
+ }
+
+ @Override
+ public List<AssociationSetEndImpl> getEnds() {
+ return ends;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ComplexTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ComplexTypeImpl.java
new file mode 100644
index 0000000..276cac1
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ComplexTypeImpl.java
@@ -0,0 +1,54 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractComplexType;
+
+public class ComplexTypeImpl extends AbstractComplexType implements ComplexType {
+
+ private static final long serialVersionUID = -1251230308269425962L;
+
+ private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
+
+ private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
+
+ @Override
+ public PropertyImpl getProperty(final String name) {
+ return (PropertyImpl) super.getProperty(name);
+ }
+
+ @Override
+ public List<PropertyImpl> getProperties() {
+ return properties;
+ }
+
+ @Override
+ public NavigationPropertyImpl getNavigationProperty(String name) {
+ return (NavigationPropertyImpl) super.getNavigationProperty(name);
+ }
+
+ @Override
+ public List<NavigationPropertyImpl> getNavigationProperties() {
+ return navigationProperties;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/DataServicesImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/DataServicesImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/DataServicesImpl.java
new file mode 100644
index 0000000..78c68ca
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/DataServicesImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractDataServices;
+
+public class DataServicesImpl extends AbstractDataServices {
+
+ private static final long serialVersionUID = 633129618050875211L;
+
+ private final List<SchemaImpl> schemas = new ArrayList<SchemaImpl>();
+
+ @Override
+ public List<SchemaImpl> getSchemas() {
+ return schemas;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EdmxImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EdmxImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EdmxImpl.java
new file mode 100644
index 0000000..a64d5eb
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EdmxImpl.java
@@ -0,0 +1,32 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmx;
+
+public class EdmxImpl extends AbstractEdmx {
+
+ private static final long serialVersionUID = -8031883176876401375L;
+
+ @Override
+ public DataServicesImpl getDataServices() {
+ return (DataServicesImpl) super.getDataServices();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityContainerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityContainerImpl.java
new file mode 100644
index 0000000..8ac2f16
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityContainerImpl.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.odata4.client.core.edm.xml.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityContainer;
+
+public class EntityContainerImpl extends AbstractEntityContainer {
+
+ private static final long serialVersionUID = 8934431875078180370L;
+
+ private final List<EntitySetImpl> entitySets = new ArrayList<EntitySetImpl>();
+
+ private final List<AssociationSetImpl> associationSets = new ArrayList<AssociationSetImpl>();
+
+ private final List<FunctionImportImpl> functionImports = new ArrayList<FunctionImportImpl>();
+
+ @Override
+ public EntitySetImpl getEntitySet(final String name) {
+ return (EntitySetImpl) super.getEntitySet(name);
+ }
+
+ @Override
+ public List<EntitySetImpl> getEntitySets() {
+ return entitySets;
+ }
+
+ public List<AssociationSetImpl> getAssociationSets() {
+ return associationSets;
+ }
+
+ @Override
+ public FunctionImportImpl getFunctionImport(final String name) {
+ return (FunctionImportImpl) super.getFunctionImport(name);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public List<FunctionImportImpl> getFunctionImports(final String name) {
+ return (List<FunctionImportImpl>) super.getFunctionImports(name);
+ }
+
+ @Override
+ public List<FunctionImportImpl> getFunctionImports() {
+ return functionImports;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntitySetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntitySetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntitySetImpl.java
new file mode 100644
index 0000000..bc28cc6
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntitySetImpl.java
@@ -0,0 +1,27 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntitySet;
+
+public class EntitySetImpl extends AbstractEntitySet {
+
+ private static final long serialVersionUID = 5570833733884884012L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityTypeImpl.java
new file mode 100644
index 0000000..7f10fa6
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EntityTypeImpl.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityType;
+
+public class EntityTypeImpl extends AbstractEntityType {
+
+ private static final long serialVersionUID = 8727765036150269547L;
+
+ private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
+
+ private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
+
+ @Override
+ public PropertyImpl getProperty(final String name) {
+ return (PropertyImpl) super.getProperty(name);
+ }
+
+ @Override
+ public List<PropertyImpl> getProperties() {
+ return properties;
+ }
+
+ @Override
+ public NavigationPropertyImpl getNavigationProperty(final String name) {
+ return (NavigationPropertyImpl) super.getNavigationProperty(name);
+ }
+
+ @Override
+ public List<NavigationPropertyImpl> getNavigationProperties() {
+ return navigationProperties;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EnumTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EnumTypeImpl.java
new file mode 100644
index 0000000..9185f45
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/EnumTypeImpl.java
@@ -0,0 +1,46 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEnumType;
+
+public class EnumTypeImpl extends AbstractEnumType {
+
+ private static final long serialVersionUID = 8967396195669128419L;
+
+ private final List<MemberImpl> members = new ArrayList<MemberImpl>();
+
+ @Override
+ public List<MemberImpl> getMembers() {
+ return members;
+ }
+
+ @Override
+ public MemberImpl getMember(final String name) {
+ return (MemberImpl) super.getMember(name);
+ }
+
+ @Override
+ public MemberImpl getMember(final Integer value) {
+ return (MemberImpl) super.getMember(value);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportDeserializer.java
new file mode 100644
index 0000000..bdb5a1c
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportDeserializer.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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class FunctionImportDeserializer extends AbstractEdmDeserializer<FunctionImportImpl> {
+
+ @Override
+ protected FunctionImportImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final FunctionImportImpl funcImp = new FunctionImportImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ funcImp.setName(jp.nextTextValue());
+ } else if ("ReturnType".equals(jp.getCurrentName())) {
+ funcImp.setReturnType(jp.nextTextValue());
+ } else if ("EntitySet".equals(jp.getCurrentName())) {
+ funcImp.setEntitySet(jp.nextTextValue());
+ } else if ("EntitySetPath".equals(jp.getCurrentName())) {
+ funcImp.setEntitySetPath(jp.nextTextValue());
+ } else if ("IsComposable".equals(jp.getCurrentName())) {
+ funcImp.setComposable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("IsSideEffecting".equals(jp.getCurrentName())) {
+ funcImp.setSideEffecting(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("IsBindable".equals(jp.getCurrentName())) {
+ funcImp.setBindable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("IsAlwaysBindable".equals(jp.getCurrentName())) {
+ funcImp.setAlwaysBindable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("HttpMethod".equals(jp.getCurrentName())) {
+ funcImp.setHttpMethod(jp.nextTextValue());
+ } else if ("Parameter".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ funcImp.getParameters().add(jp.readValueAs( ParameterImpl.class));
+ }
+ }
+ }
+
+ return funcImp;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportImpl.java
new file mode 100644
index 0000000..234b623
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/FunctionImportImpl.java
@@ -0,0 +1,146 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.FunctionImport;
+
+@JsonDeserialize(using = FunctionImportDeserializer.class)
+public class FunctionImportImpl implements FunctionImport {
+
+ private static final long serialVersionUID = -6214472528425935461L;
+
+ private String name;
+
+ private String returnType;
+
+ private String entitySet;
+
+ private String entitySetPath;
+
+ private boolean composable;
+
+ private boolean sideEffecting = true;
+
+ private boolean bindable;
+
+ private boolean alwaysBindable;
+
+ private String httpMethod;
+
+ private final List<ParameterImpl> parameters = new ArrayList<ParameterImpl>();
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getReturnType() {
+ return returnType;
+ }
+
+ @Override
+ public void setReturnType(final String returnType) {
+ this.returnType = returnType;
+ }
+
+ @Override
+ public String getEntitySet() {
+ return entitySet;
+ }
+
+ @Override
+ public void setEntitySet(final String entitySet) {
+ this.entitySet = entitySet;
+ }
+
+ @Override
+ public String getEntitySetPath() {
+ return entitySetPath;
+ }
+
+ @Override
+ public void setEntitySetPath(final String entitySetPath) {
+ this.entitySetPath = entitySetPath;
+ }
+
+ @Override
+ public boolean isComposable() {
+ return composable;
+ }
+
+ @Override
+ public void setComposable(final boolean composable) {
+ this.composable = composable;
+ }
+
+ @Override
+ public boolean isSideEffecting() {
+ return sideEffecting;
+ }
+
+ @Override
+ public void setSideEffecting(final boolean sideEffecting) {
+ this.sideEffecting = sideEffecting;
+ }
+
+ @Override
+ public boolean isBindable() {
+ return bindable;
+ }
+
+ @Override
+ public void setBindable(final boolean bindable) {
+ this.bindable = bindable;
+ }
+
+ @Override
+ public boolean isAlwaysBindable() {
+ return alwaysBindable;
+ }
+
+ @Override
+ public void setAlwaysBindable(final boolean alwaysBindable) {
+ this.alwaysBindable = alwaysBindable;
+ }
+
+ @Override
+ public String getHttpMethod() {
+ return httpMethod;
+ }
+
+ @Override
+ public void setHttpMethod(final String httpMethod) {
+ this.httpMethod = httpMethod;
+ }
+
+ @Override
+ public List<ParameterImpl> getParameters() {
+ return parameters;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/MemberImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/MemberImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/MemberImpl.java
new file mode 100644
index 0000000..91577f7
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/MemberImpl.java
@@ -0,0 +1,27 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractMember;
+
+public class MemberImpl extends AbstractMember {
+
+ private static final long serialVersionUID = 6605381518349837929L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/NavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/NavigationPropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/NavigationPropertyImpl.java
new file mode 100644
index 0000000..cbda596
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/NavigationPropertyImpl.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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.NavigationProperty;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractNavigationProperty;
+
+public class NavigationPropertyImpl extends AbstractNavigationProperty implements NavigationProperty {
+
+ private static final long serialVersionUID = -2889417442815563307L;
+
+ @JsonProperty(value = "Relationship", required = true)
+ private String relationship;
+
+ @JsonProperty(value = "ToRole", required = true)
+ private String toRole;
+
+ @JsonProperty(value = "FromRole", required = true)
+ private String fromRole;
+
+ @Override
+ public String getRelationship() {
+ return relationship;
+ }
+
+ @Override
+ public void setRelationship(final String relationship) {
+ this.relationship = relationship;
+ }
+
+ @Override
+ public String getToRole() {
+ return toRole;
+ }
+
+ @Override
+ public void setToRole(final String toRole) {
+ this.toRole = toRole;
+ }
+
+ @Override
+ public String getFromRole() {
+ return fromRole;
+ }
+
+ @Override
+ public void setFromRole(final String fromRole) {
+ this.fromRole = fromRole;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java
new file mode 100644
index 0000000..d0a8559
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java
@@ -0,0 +1,43 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ParameterMode;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.Parameter;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractParameter;
+
+public class ParameterImpl extends AbstractParameter implements Parameter {
+
+ private static final long serialVersionUID = 7596724999614891358L;
+
+ @JsonProperty("Mode")
+ private ParameterMode mode;
+
+ @Override
+ public ParameterMode getMode() {
+ return mode;
+ }
+
+ @Override
+ public void setMode(final ParameterMode mode) {
+ this.mode = mode;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java
new file mode 100644
index 0000000..b4bf986
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java
@@ -0,0 +1,96 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.Property;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractProperty;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmContentKind;
+
+public class PropertyImpl extends AbstractProperty implements Property {
+
+ private static final long serialVersionUID = 6224524803474652100L;
+
+ @JsonProperty("FC_SourcePath")
+ private String fcSourcePath;
+
+ @JsonProperty("FC_TargetPath")
+ private String fcTargetPath;
+
+ @JsonProperty("FC_ContentKind")
+ private EdmContentKind fcContentKind = EdmContentKind.text;
+
+ @JsonProperty("FC_NsPrefix")
+ private String fcNSPrefix;
+
+ @JsonProperty("FC_NsUri")
+ private String fcNSURI;
+
+ @JsonProperty("FC_KeepInContent")
+ private boolean fcKeepInContent = true;
+
+ public String getFcSourcePath() {
+ return fcSourcePath;
+ }
+
+ public void setFcSourcePath(final String fcSourcePath) {
+ this.fcSourcePath = fcSourcePath;
+ }
+
+ public String getFcTargetPath() {
+ return fcTargetPath;
+ }
+
+ public void setFcTargetPath(final String fcTargetPath) {
+ this.fcTargetPath = fcTargetPath;
+ }
+
+ public EdmContentKind getFcContentKind() {
+ return fcContentKind;
+ }
+
+ public void setFcContentKind(final EdmContentKind fcContentKind) {
+ this.fcContentKind = fcContentKind;
+ }
+
+ public String getFcNSPrefix() {
+ return fcNSPrefix;
+ }
+
+ public void setFcNSPrefix(final String fcNSPrefix) {
+ this.fcNSPrefix = fcNSPrefix;
+ }
+
+ public String getFcNSURI() {
+ return fcNSURI;
+ }
+
+ public void setFcNSURI(final String fcNSURI) {
+ this.fcNSURI = fcNSURI;
+ }
+
+ public boolean isFcKeepInContent() {
+ return fcKeepInContent;
+ }
+
+ public void setFcKeepInContent(final boolean fcKeepInContent) {
+ this.fcKeepInContent = fcKeepInContent;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyValueImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyValueImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyValueImpl.java
new file mode 100644
index 0000000..5b4042a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyValueImpl.java
@@ -0,0 +1,135 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.PropertyValue;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class PropertyValueImpl extends AbstractEdmItem implements PropertyValue {
+
+ private static final long serialVersionUID = -6580934436491418564L;
+
+ @JsonProperty(value = "Property", required = true)
+ private String property;
+
+ @JsonProperty("Path")
+ private String path;
+
+ @JsonProperty("String")
+ private String string;
+
+ @JsonProperty("Int")
+ private BigInteger _int;
+
+ @JsonProperty("Float")
+ private Double _float;
+
+ @JsonProperty("Decimal")
+ private BigDecimal decimal;
+
+ @JsonProperty("Bool")
+ private Boolean bool;
+
+ @JsonProperty("DateTime")
+ private Date dateTime;
+
+ @Override
+ public String getProperty() {
+ return property;
+ }
+
+ @Override
+ public void setProperty(final String property) {
+ this.property = property;
+ }
+
+ @Override
+ public String getPath() {
+ return path;
+ }
+
+ @Override
+ public void setPath(final String path) {
+ this.path = path;
+ }
+
+ @Override
+ public String getString() {
+ return string;
+ }
+
+ @Override
+ public void setString(final String string) {
+ this.string = string;
+ }
+
+ @Override
+ public BigInteger getInt() {
+ return _int;
+ }
+
+ @Override
+ public void setInt(final BigInteger _int) {
+ this._int = _int;
+ }
+
+ @Override
+ public Double getFloat() {
+ return _float;
+ }
+
+ @Override
+ public void setFloat(final Double _float) {
+ this._float = _float;
+ }
+
+ @Override
+ public BigDecimal getDecimal() {
+ return decimal;
+ }
+
+ @Override
+ public void setDecimal(final BigDecimal decimal) {
+ this.decimal = decimal;
+ }
+
+ @Override
+ public Boolean getBool() {
+ return bool;
+ }
+
+ @Override
+ public void setBool(final Boolean bool) {
+ this.bool = bool;
+ }
+
+ @Override
+ public Date getDateTime() {
+ return dateTime;
+ }
+
+ @Override
+ public void setDateTime(final Date dateTime) {
+ this.dateTime = dateTime;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintImpl.java
new file mode 100644
index 0000000..af8f8ce
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintImpl.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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ReferentialConstraint;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ReferentialConstraintRole;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class ReferentialConstraintImpl extends AbstractEdmItem implements ReferentialConstraint {
+
+ private static final long serialVersionUID = 9067893732765127269L;
+
+ @JsonProperty(value = "Principal", required = true)
+ private ReferentialConstraintRoleImpl principal;
+
+ @JsonProperty(value = "Dependent", required = true)
+ private ReferentialConstraintRoleImpl dependent;
+
+ @Override
+ public ReferentialConstraintRoleImpl getPrincipal() {
+ return principal;
+ }
+
+ @JsonIgnore
+ @Override
+ public void setPrincipal(final ReferentialConstraintRole principal) {
+ this.principal = (ReferentialConstraintRoleImpl) principal;
+ }
+
+ @Override
+ public ReferentialConstraintRoleImpl getDependent() {
+ return dependent;
+ }
+
+ @JsonIgnore
+ @Override
+ public void setDependent(final ReferentialConstraintRole dependent) {
+ this.dependent = (ReferentialConstraintRoleImpl) dependent;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleDeserializer.java
new file mode 100644
index 0000000..b565225
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleDeserializer.java
@@ -0,0 +1,51 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.PropertyRefImpl;
+
+public class ReferentialConstraintRoleDeserializer extends AbstractEdmDeserializer<ReferentialConstraintRoleImpl> {
+
+ @Override
+ protected ReferentialConstraintRoleImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final ReferentialConstraintRoleImpl refConstRole = new ReferentialConstraintRoleImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Role".equals(jp.getCurrentName())) {
+ refConstRole.setRole(jp.nextTextValue());
+ } else if ("PropertyRef".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ refConstRole.getPropertyRefs().add(jp.readValueAs( PropertyRefImpl.class));
+ }
+ }
+ }
+
+ return refConstRole;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleImpl.java
new file mode 100644
index 0000000..edd7ff6
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ReferentialConstraintRoleImpl.java
@@ -0,0 +1,50 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ReferentialConstraintRole;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+import org.apache.olingo.odata4.client.core.edm.xml.PropertyRefImpl;
+
+@JsonDeserialize(using = ReferentialConstraintRoleDeserializer.class)
+public class ReferentialConstraintRoleImpl extends AbstractEdmItem implements ReferentialConstraintRole {
+
+ private static final long serialVersionUID = -3712887115248634164L;
+
+ private String role;
+
+ private List<PropertyRefImpl> propertyRefs = new ArrayList<PropertyRefImpl>();
+
+ @Override
+ public String getRole() {
+ return role;
+ }
+
+ @Override
+ public void setRole(final String role) {
+ this.role = role;
+ }
+
+ public List<PropertyRefImpl> getPropertyRefs() {
+ return propertyRefs;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/SchemaImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/SchemaImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/SchemaImpl.java
new file mode 100644
index 0000000..70257b1
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/SchemaImpl.java
@@ -0,0 +1,129 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractSchema;
+
+public class SchemaImpl extends AbstractSchema implements Schema {
+
+ private static final long serialVersionUID = 4453992249818796144L;
+
+ private final List<AnnotationsImpl> annotationList = new ArrayList<AnnotationsImpl>();
+
+ private final List<AssociationImpl> associations = new ArrayList<AssociationImpl>();
+
+ private final List<ComplexTypeImpl> complexTypes = new ArrayList<ComplexTypeImpl>();
+
+ private final List<EntityContainerImpl> entityContainers = new ArrayList<EntityContainerImpl>();
+
+ private final List<EntityTypeImpl> entityTypes = new ArrayList<EntityTypeImpl>();
+
+ private final List<EnumTypeImpl> enumTypes = new ArrayList<EnumTypeImpl>();
+
+ private final List<UsingImpl> usings = new ArrayList<UsingImpl>();
+
+ private final List<ValueTermImpl> valueTerms = new ArrayList<ValueTermImpl>();
+
+ public AssociationImpl getAssociation(final String name) {
+ return getOneByName(name, getAssociations());
+ }
+
+ @Override
+ public List<AnnotationsImpl> getAnnotationsList() {
+ return annotationList;
+ }
+
+ @Override
+ public AnnotationsImpl getAnnotationsList(final String target) {
+ AnnotationsImpl result = null;
+ for (AnnotationsImpl annots : getAnnotationsList()) {
+ if (target.equals(annots.getTarget())) {
+ result = annots;
+ }
+ }
+ return result;
+ }
+
+ public List<AssociationImpl> getAssociations() {
+ return associations;
+ }
+
+ public List<UsingImpl> getUsings() {
+ return usings;
+ }
+
+ public List<ValueTermImpl> getValueTerms() {
+ return valueTerms;
+ }
+
+ @Override
+ public List<EntityContainerImpl> getEntityContainers() {
+ return entityContainers;
+ }
+
+ @Override
+ public EntityContainerImpl getDefaultEntityContainer() {
+ EntityContainerImpl result = null;
+ for (EntityContainerImpl container : getEntityContainers()) {
+ if (container.isDefaultEntityContainer()) {
+ result = container;
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public EntityContainerImpl getEntityContainer(final String name) {
+ return getOneByName(name, getEntityContainers());
+ }
+
+ @Override
+ public EnumTypeImpl getEnumType(final String name) {
+ return (EnumTypeImpl) super.getEnumType(name);
+ }
+
+ @Override
+ public List<EnumTypeImpl> getEnumTypes() {
+ return enumTypes;
+ }
+
+ @Override
+ public ComplexTypeImpl getComplexType(final String name) {
+ return (ComplexTypeImpl) super.getComplexType(name);
+ }
+
+ @Override
+ public List<ComplexTypeImpl> getComplexTypes() {
+ return complexTypes;
+ }
+
+ @Override
+ public EntityTypeImpl getEntityType(final String name) {
+ return (EntityTypeImpl) super.getEntityType(name);
+ }
+
+ @Override
+ public List<EntityTypeImpl> getEntityTypes() {
+ return entityTypes;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationDeserializer.java
new file mode 100644
index 0000000..c6a10bc
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationDeserializer.java
@@ -0,0 +1,52 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class TypeAnnotationDeserializer extends AbstractEdmDeserializer<TypeAnnotationImpl> {
+
+ @Override
+ protected TypeAnnotationImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final TypeAnnotationImpl typeAnnot = new TypeAnnotationImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Term".equals(jp.getCurrentName())) {
+ typeAnnot.setTerm(jp.nextTextValue());
+ } else if ("Qualifier".equals(jp.getCurrentName())) {
+ typeAnnot.setQualifier(jp.nextTextValue());
+ } else if ("PropertyValue".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ typeAnnot.getPropertyValues().add(jp.readValueAs( PropertyValueImpl.class));
+ }
+ }
+ }
+
+ return typeAnnot;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationImpl.java
new file mode 100644
index 0000000..acfc7ce
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/TypeAnnotationImpl.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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.TypeAnnotation;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+@JsonDeserialize(using = TypeAnnotationDeserializer.class)
+public class TypeAnnotationImpl extends AbstractEdmItem implements TypeAnnotation {
+
+ private static final long serialVersionUID = -7585489230017331877L;
+
+ private String term;
+
+ private String qualifier;
+
+ private List<PropertyValueImpl> propertyValues = new ArrayList<PropertyValueImpl>();
+
+ @Override
+ public String getTerm() {
+ return term;
+ }
+
+ @Override
+ public void setTerm(final String term) {
+ this.term = term;
+ }
+
+ @Override
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ @Override
+ public void setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ }
+
+ @Override
+ public List<PropertyValueImpl> getPropertyValues() {
+ return propertyValues;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/UsingImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/UsingImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/UsingImpl.java
new file mode 100644
index 0000000..0c77371
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/UsingImpl.java
@@ -0,0 +1,54 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.Using;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class UsingImpl extends AbstractEdmItem implements Using {
+
+ private static final long serialVersionUID = 2086957510154443445L;
+
+ @JsonProperty(value = "Namespace", required = true)
+ private String namespace;
+
+ @JsonProperty("Alias")
+ private String alias;
+
+ @Override
+ public String getNamespace() {
+ return namespace;
+ }
+
+ @Override
+ public void setNamespace(final String namespace) {
+ this.namespace = namespace;
+ }
+
+ @Override
+ public String getAlias() {
+ return alias;
+ }
+
+ @Override
+ public void setAlias(final String alias) {
+ this.alias = alias;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueAnnotationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueAnnotationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueAnnotationImpl.java
new file mode 100644
index 0000000..20d31f5
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueAnnotationImpl.java
@@ -0,0 +1,148 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ValueAnnotation;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class ValueAnnotationImpl extends AbstractEdmItem implements ValueAnnotation {
+
+ private static final long serialVersionUID = -1826414005417952278L;
+
+ @JsonProperty(value = "Term", required = true)
+ private String term;
+
+ @JsonProperty("Qualifier")
+ private String qualifier;
+
+ @JsonProperty("Path")
+ private String path;
+
+ @JsonProperty("String")
+ private String string;
+
+ @JsonProperty("Int")
+ private BigInteger _int;
+
+ @JsonProperty("Float")
+ private Double _float;
+
+ @JsonProperty("Decimal")
+ private BigDecimal decimal;
+
+ @JsonProperty("Bool")
+ private Boolean bool;
+
+ @JsonProperty("DateTime")
+ private Date dateTime;
+
+ @Override
+ public String getTerm() {
+ return term;
+ }
+
+ @Override
+ public void setTerm(final String term) {
+ this.term = term;
+ }
+
+ @Override
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ @Override
+ public void setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ }
+
+ @Override
+ public String getPath() {
+ return path;
+ }
+
+ @Override
+ public void setPath(final String path) {
+ this.path = path;
+ }
+
+ @Override
+ public String getString() {
+ return string;
+ }
+
+ @Override
+ public void setString(final String string) {
+ this.string = string;
+ }
+
+ @Override
+ public BigInteger getInt() {
+ return _int;
+ }
+
+ @Override
+ public void setInt(final BigInteger _int) {
+ this._int = _int;
+ }
+
+ @Override
+ public Double getFloat() {
+ return _float;
+ }
+
+ @Override
+ public void setFloat(final Double _float) {
+ this._float = _float;
+ }
+
+ @Override
+ public BigDecimal getDecimal() {
+ return decimal;
+ }
+
+ @Override
+ public void setDecimal(final BigDecimal decimal) {
+ this.decimal = decimal;
+ }
+
+ @Override
+ public Boolean getBool() {
+ return bool;
+ }
+
+ @Override
+ public void setBool(final Boolean bool) {
+ this.bool = bool;
+ }
+
+ @Override
+ public Date getDateTime() {
+ return dateTime == null ? null : new Date(dateTime.getTime());
+ }
+
+ @Override
+ public void setDateTime(final Date dateTime) {
+ this.dateTime = dateTime == null ? null : new Date(dateTime.getTime());
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueTermImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueTermImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueTermImpl.java
new file mode 100644
index 0000000..c13a29f
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ValueTermImpl.java
@@ -0,0 +1,54 @@
+/*
+ * 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.odata4.client.core.edm.xml.v3;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ValueTerm;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class ValueTermImpl extends AbstractEdmItem implements ValueTerm {
+
+ private static final long serialVersionUID = 6149019886137610604L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty(value = "Type", required = true)
+ private String type;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AbstractAnnotatedEdmItem.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AbstractAnnotatedEdmItem.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AbstractAnnotatedEdmItem.java
new file mode 100644
index 0000000..39e87b8
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AbstractAnnotatedEdmItem.java
@@ -0,0 +1,45 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public abstract class AbstractAnnotatedEdmItem extends AbstractEdmItem implements AnnotatedEdmItem {
+
+ private static final long serialVersionUID = -8859729466090997718L;
+
+ @JsonProperty("Annotation")
+ private AnnotationImpl annotation;
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @JsonIgnore
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionDeserializer.java
new file mode 100644
index 0000000..ea93d75
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionDeserializer.java
@@ -0,0 +1,60 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class ActionDeserializer extends AbstractEdmDeserializer<ActionImpl> {
+
+ @Override
+ protected ActionImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ 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.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ }
+ }
+ }
+
+ return action;
+ }
+}
[22/22] git commit: [OLINGO-186] client-side implementation of
commons Edm interfaces completed: some refactoring on server-side performed
to extract common abstract implementation
Posted by il...@apache.org.
[OLINGO-186] client-side implementation of commons Edm interfaces completed: some refactoring on server-side performed to extract common abstract implementation
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/bae3d847
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/bae3d847
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/bae3d847
Branch: refs/heads/olingo169
Commit: bae3d847a866bf1376627b09e55b65f4570c9f24
Parents: a8c0e9e
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Mar 5 16:06:00 2014 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed Mar 5 16:06:00 2014 +0100
----------------------------------------------------------------------
.../odata4/client/api/edm/EdmMetadata.java | 60 ---
.../client/api/edm/xml/CommonParameter.java | 14 +-
.../client/api/edm/xml/CommonProperty.java | 13 +-
.../odata4/client/api/edm/xml/Member.java | 2 +-
.../odata4/client/api/edm/xml/Schema.java | 1 -
.../odata4/client/api/edm/xml/XMLMetadata.java | 59 +++
.../client/api/edm/xml/v4/BindingTarget.java | 31 ++
.../client/api/edm/xml/v4/EntityContainer.java | 4 +
.../odata4/client/api/edm/xml/v4/EntitySet.java | 6 +-
.../client/api/edm/xml/v4/ReturnType.java | 14 +-
.../odata4/client/api/edm/xml/v4/Singleton.java | 9 +-
.../client/api/edm/xml/v4/TypeDefinition.java | 12 +-
.../odata4/client/api/op/ODataDeserializer.java | 4 +-
.../odata4/client/api/op/ODataReader.java | 4 +-
.../odata4/client/api/utils/EdmTypeInfo.java | 81 ++++
.../client/core/edm/AbstractEdmMetadata.java | 105 -----
.../edm/AbstractEdmServiceMetadataImpl.java | 115 +++++
.../odata4/client/core/edm/AbstractEdmType.java | 265 -----------
.../odata4/client/core/edm/EdmActionImpl.java | 37 ++
.../client/core/edm/EdmActionImportImpl.java | 45 ++
.../client/core/edm/EdmBindingTargetImpl.java | 80 ++++
.../odata4/client/core/edm/EdmClientImpl.java | 285 ++++++++++++
.../client/core/edm/EdmComplexTypeImpl.java | 63 +++
.../client/core/edm/EdmEntityContainerImpl.java | 87 ++++
.../client/core/edm/EdmEntitySetImpl.java | 35 ++
.../client/core/edm/EdmEntityTypeImpl.java | 79 ++++
.../odata4/client/core/edm/EdmEnumTypeImpl.java | 83 ++++
.../odata4/client/core/edm/EdmFunctionImpl.java | 44 ++
.../client/core/edm/EdmFunctionImportImpl.java | 47 ++
.../client/core/edm/EdmKeyPropertyRefImpl.java | 49 ++
.../core/edm/EdmNavigationPropertyImpl.java | 74 +++
.../client/core/edm/EdmOperationImpl.java | 63 +++
.../client/core/edm/EdmOperationImportImpl.java | 35 ++
.../client/core/edm/EdmParameterImpl.java | 74 +++
.../odata4/client/core/edm/EdmPropertyImpl.java | 91 ++++
.../client/core/edm/EdmReturnTypeImpl.java | 68 +++
.../client/core/edm/EdmSingletonImpl.java | 35 ++
.../core/edm/EdmStructuredTypeHelperImpl.java | 71 +++
.../client/core/edm/EdmTypeDefinitionImpl.java | 74 +++
.../client/core/edm/v3/EdmMetadataImpl.java | 51 ---
.../core/edm/v3/EdmServiceMetadataImpl.java | 52 +++
.../odata4/client/core/edm/v3/EdmTypeImpl.java | 5 +-
.../client/core/edm/v4/EdmMetadataImpl.java | 56 ---
.../core/edm/v4/EdmServiceMetadataImpl.java | 83 ++++
.../odata4/client/core/edm/v4/EdmTypeImpl.java | 5 +-
.../annotation/AbstractElOrAttrConstruct.java | 37 --
.../annotation/AnnotatedDynExprConstruct.java | 40 --
.../core/edm/v4/annotation/AnnotationPath.java | 25 -
.../client/core/edm/v4/annotation/Apply.java | 53 ---
.../edm/v4/annotation/ApplyDeserializer.java | 55 ---
.../client/core/edm/v4/annotation/Cast.java | 90 ----
.../edm/v4/annotation/CastDeserializer.java | 62 ---
.../core/edm/v4/annotation/Collection.java | 37 --
.../v4/annotation/CollectionDeserializer.java | 50 --
.../v4/annotation/ConstExprConstructImpl.java | 51 ---
.../DynExprConstructDeserializer.java | 145 ------
.../edm/v4/annotation/DynExprConstructImpl.java | 29 --
.../edm/v4/annotation/DynExprDoubleParamOp.java | 73 ---
.../edm/v4/annotation/DynExprSingleParamOp.java | 69 ---
.../edm/v4/annotation/ExprConstructImpl.java | 28 --
.../client/core/edm/v4/annotation/If.java | 57 ---
.../client/core/edm/v4/annotation/IsOf.java | 90 ----
.../edm/v4/annotation/IsOfDeserializer.java | 62 ---
.../core/edm/v4/annotation/LabeledElement.java | 49 --
.../annotation/LabeledElementDeserializer.java | 53 ---
.../v4/annotation/LabeledElementReference.java | 25 -
.../v4/annotation/NavigationPropertyPath.java | 25 -
.../client/core/edm/v4/annotation/Null.java | 28 --
.../edm/v4/annotation/NullDeserializer.java | 49 --
.../client/core/edm/v4/annotation/Path.java | 25 -
.../core/edm/v4/annotation/PropertyPath.java | 25 -
.../core/edm/v4/annotation/PropertyValue.java | 49 --
.../annotation/PropertyValueDeserializer.java | 55 ---
.../client/core/edm/v4/annotation/Record.java | 46 --
.../edm/v4/annotation/RecordDeserializer.java | 53 ---
.../client/core/edm/v4/annotation/UrlRef.java | 39 --
.../edm/v4/annotation/UrlRefDeserializer.java | 50 --
.../client/core/edm/xml/AbstractEdmType.java | 262 +++++++++++
.../client/core/edm/xml/AbstractMember.java | 6 +-
.../client/core/edm/xml/AbstractParameter.java | 28 +-
.../client/core/edm/xml/AbstractProperty.java | 35 +-
.../core/edm/xml/AbstractXMLMetadata.java | 95 ++++
.../core/edm/xml/ParameterDeserializer.java | 69 +++
.../core/edm/xml/PropertyDeserializer.java | 102 +++++
.../client/core/edm/xml/v3/ParameterImpl.java | 2 -
.../client/core/edm/xml/v3/PropertyImpl.java | 19 +-
.../client/core/edm/xml/v3/XMLMetadataImpl.java | 48 ++
.../core/edm/xml/v4/AnnotationDeserializer.java | 2 +-
.../client/core/edm/xml/v4/AnnotationImpl.java | 4 +-
.../core/edm/xml/v4/EntityContainerImpl.java | 2 +
.../client/core/edm/xml/v4/EntitySetImpl.java | 6 +-
.../client/core/edm/xml/v4/ParameterImpl.java | 2 -
.../client/core/edm/xml/v4/PropertyImpl.java | 2 -
.../core/edm/xml/v4/ReturnTypeDeserializer.java | 60 +++
.../client/core/edm/xml/v4/ReturnTypeImpl.java | 28 +-
.../client/core/edm/xml/v4/SchemaImpl.java | 4 +
.../core/edm/xml/v4/SingletonDeserializer.java | 2 +-
.../client/core/edm/xml/v4/SingletonImpl.java | 16 +-
.../edm/xml/v4/TypeDefinitionDeserializer.java | 9 +-
.../core/edm/xml/v4/TypeDefinitionImpl.java | 21 +-
.../client/core/edm/xml/v4/XMLMetadataImpl.java | 51 +++
.../annotation/AbstractElOrAttrConstruct.java | 37 ++
.../annotation/AnnotatedDynExprConstruct.java | 40 ++
.../edm/xml/v4/annotation/AnnotationPath.java | 25 +
.../core/edm/xml/v4/annotation/Apply.java | 53 +++
.../xml/v4/annotation/ApplyDeserializer.java | 55 +++
.../client/core/edm/xml/v4/annotation/Cast.java | 90 ++++
.../edm/xml/v4/annotation/CastDeserializer.java | 62 +++
.../core/edm/xml/v4/annotation/Collection.java | 37 ++
.../v4/annotation/CollectionDeserializer.java | 50 ++
.../v4/annotation/ConstExprConstructImpl.java | 51 +++
.../DynExprConstructDeserializer.java | 145 ++++++
.../xml/v4/annotation/DynExprConstructImpl.java | 29 ++
.../xml/v4/annotation/DynExprDoubleParamOp.java | 73 +++
.../xml/v4/annotation/DynExprSingleParamOp.java | 69 +++
.../xml/v4/annotation/ExprConstructImpl.java | 28 ++
.../client/core/edm/xml/v4/annotation/If.java | 57 +++
.../client/core/edm/xml/v4/annotation/IsOf.java | 90 ++++
.../edm/xml/v4/annotation/IsOfDeserializer.java | 62 +++
.../edm/xml/v4/annotation/LabeledElement.java | 49 ++
.../annotation/LabeledElementDeserializer.java | 53 +++
.../v4/annotation/LabeledElementReference.java | 25 +
.../v4/annotation/NavigationPropertyPath.java | 25 +
.../client/core/edm/xml/v4/annotation/Null.java | 28 ++
.../edm/xml/v4/annotation/NullDeserializer.java | 49 ++
.../client/core/edm/xml/v4/annotation/Path.java | 25 +
.../edm/xml/v4/annotation/PropertyPath.java | 25 +
.../edm/xml/v4/annotation/PropertyValue.java | 49 ++
.../annotation/PropertyValueDeserializer.java | 55 +++
.../core/edm/xml/v4/annotation/Record.java | 46 ++
.../xml/v4/annotation/RecordDeserializer.java | 53 +++
.../core/edm/xml/v4/annotation/UrlRef.java | 39 ++
.../xml/v4/annotation/UrlRefDeserializer.java | 50 ++
.../core/op/impl/AbstractEdmDeserializer.java | 2 +-
.../core/op/impl/v3/ODataDeserializerImpl.java | 5 +-
.../client/core/op/impl/v3/ODataReaderImpl.java | 7 +-
.../core/op/impl/v4/ODataDeserializerImpl.java | 5 +-
.../client/core/op/impl/v4/ODataReaderImpl.java | 7 +-
.../odata4/client/core/v3/MetadataTest.java | 22 +-
.../odata4/client/core/v4/MetadataTest.java | 157 ++++---
.../odata4/client/core/v4/demo-metadata.xml | 143 +++++-
.../odata4/client/core/v4/fromdoc1-metadata.xml | 10 +
.../client/core/v4/northwind-metadata.xml | 451 ++++++++++++++++++-
.../olingo/odata4/commons/api/edm/Edm.java | 12 +-
.../commons/api/edm/EdmActionImportInfo.java | 40 ++
.../odata4/commons/api/edm/EdmComplexType.java | 2 +-
.../odata4/commons/api/edm/EdmEntityType.java | 2 +-
.../commons/api/edm/EdmFunctionImportInfo.java | 7 +-
.../commons/api/edm/EdmOperationImportInfo.java | 31 ++
.../commons/api/edm/EdmServiceMetadata.java | 5 +
.../commons/api/edm/EdmStructuralType.java | 66 ---
.../commons/api/edm/EdmStructuredType.java | 82 ++++
.../olingo/odata4/commons/api/edm/Target.java | 71 +++
.../core/edm/AbstractEdmBindingTarget.java | 55 +++
.../core/edm/AbstractEdmComplexType.java | 50 ++
.../core/edm/AbstractEdmEntityContainer.java | 101 +++++
.../commons/core/edm/AbstractEdmEntityType.java | 113 +++++
.../commons/core/edm/AbstractEdmEnumType.java | 205 +++++++++
.../commons/core/edm/AbstractEdmImpl.java | 2 +-
.../core/edm/AbstractEdmKeyPropertyRef.java | 80 ++++
.../core/edm/AbstractEdmNavigationProperty.java | 76 ++++
.../commons/core/edm/AbstractEdmOperation.java | 113 +++++
.../core/edm/AbstractEdmOperationImport.java | 63 +++
.../commons/core/edm/AbstractEdmParameter.java | 87 ++++
.../commons/core/edm/AbstractEdmProperty.java | 70 +++
.../commons/core/edm/AbstractEdmReturnType.java | 85 ++++
.../core/edm/AbstractEdmStructuredType.java | 128 ++++++
.../core/edm/AbstractEdmTypeDefinition.java | 107 +++++
.../core/edm/EdmActionImportInfoImpl.java | 45 ++
.../odata4/commons/core/edm/EdmElementImpl.java | 29 ++
.../commons/core/edm/EdmEntitySetInfoImpl.java | 52 +++
.../core/edm/EdmFunctionImportInfoImpl.java | 45 ++
.../odata4/commons/core/edm/EdmMemberImpl.java | 38 ++
.../odata4/commons/core/edm/EdmNamedImpl.java | 40 ++
.../core/edm/EdmOperationImportInfoImpl.java | 36 ++
.../commons/core/edm/EdmSingletonInfoImpl.java | 52 +++
.../core/edm/EdmStructuredTypeHelper.java | 30 ++
.../odata4/commons/core/edm/EdmTypeImpl.java | 48 ++
.../edm/primitivetype/EdmPrimitiveTypeKind.java | 16 +
.../server/api/edm/provider/ActionImport.java | 1 +
.../server/api/edm/provider/ComplexType.java | 2 +-
.../server/api/edm/provider/EntityType.java | 2 +-
.../server/api/edm/provider/FunctionImport.java | 1 +
.../edm/provider/NavigationPropertyBinding.java | 2 +
.../api/edm/provider/OperationImport.java | 3 +
.../server/api/edm/provider/StructuralType.java | 93 ----
.../server/api/edm/provider/StructuredType.java | 93 ++++
.../odata4/server/api/edm/provider/Target.java | 47 --
.../server/core/edm/provider/EdmActionImpl.java | 7 +-
.../core/edm/provider/EdmActionImportImpl.java | 8 +-
.../core/edm/provider/EdmBindingTargetImpl.java | 55 +--
.../core/edm/provider/EdmComplexTypeImpl.java | 43 +-
.../core/edm/provider/EdmElementImpl.java | 28 --
.../edm/provider/EdmEntityContainerImpl.java | 119 ++---
.../core/edm/provider/EdmEntitySetImpl.java | 3 +-
.../core/edm/provider/EdmEntitySetInfoImpl.java | 53 ---
.../core/edm/provider/EdmEntityTypeImpl.java | 98 ++--
.../server/core/edm/provider/EdmEnumImpl.java | 228 ----------
.../core/edm/provider/EdmEnumTypeImpl.java | 61 +++
.../core/edm/provider/EdmFunctionImpl.java | 11 +-
.../edm/provider/EdmFunctionImportImpl.java | 8 +-
.../edm/provider/EdmFunctionImportInfoImpl.java | 53 ---
.../edm/provider/EdmKeyPropertyRefImpl.java | 49 +-
.../server/core/edm/provider/EdmMemberImpl.java | 38 --
.../server/core/edm/provider/EdmNamedImpl.java | 39 --
.../edm/provider/EdmNavigationPropertyImpl.java | 47 +-
.../core/edm/provider/EdmOperationImpl.java | 85 +---
.../edm/provider/EdmOperationImportImpl.java | 41 +-
.../core/edm/provider/EdmParameterImpl.java | 44 +-
.../core/edm/provider/EdmPropertyImpl.java | 44 +-
.../core/edm/provider/EdmProviderImpl.java | 96 ++--
.../core/edm/provider/EdmReturnTypeImpl.java | 46 +-
.../edm/provider/EdmServiceMetadataImpl.java | 66 ++-
.../core/edm/provider/EdmSingletonImpl.java | 3 +-
.../core/edm/provider/EdmSingletonInfoImpl.java | 53 ---
.../edm/provider/EdmStructuralTypeImpl.java | 129 ------
.../provider/EdmStructuredTypeHelperImpl.java | 72 +++
.../edm/provider/EdmTypeDefinitionImpl.java | 72 +--
.../server/core/edm/provider/EdmTypeImpl.java | 46 --
.../server/core/uri/UriResourceTypedImpl.java | 4 +-
.../core/uri/parser/UriParseTreeVisitor.java | 16 +-
.../core/edm/provider/EdmActionImplTest.java | 6 +-
.../edm/provider/EdmActionImportImplTest.java | 17 +-
.../edm/provider/EdmComplexTypeImplTest.java | 8 +-
.../core/edm/provider/EdmEntitySetImplTest.java | 2 +-
.../edm/provider/EdmEntitySetInfoImplTest.java | 51 ---
.../edm/provider/EdmEntityTypeImplTest.java | 14 +-
.../server/core/edm/provider/EdmEnumTest.java | 4 +-
.../core/edm/provider/EdmFunctionImplTest.java | 4 +-
.../edm/provider/EdmFunctionImportImplTest.java | 2 +-
.../provider/EdmFunctionImportInfoImplTest.java | 50 --
.../edm/provider/EdmKeyPropertyRefImplTest.java | 18 +-
.../core/edm/provider/EdmMemberImplTest.java | 3 +-
.../core/edm/provider/EdmNamedImplTest.java | 1 +
.../core/edm/provider/EdmSingletonImplTest.java | 2 +-
.../edm/provider/EdmSingletonInfoImplTest.java | 51 ---
.../core/edm/provider/EdmTypeImplTest.java | 1 +
.../server/core/testutil/EdmTechProvider.java | 2 +-
238 files changed, 7710 insertions(+), 4121 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java
deleted file mode 100644
index 9fef9c5..0000000
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/EdmMetadata.java
+++ /dev/null
@@ -1,60 +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.odata4.client.api.edm;
-
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.xml.Schema;
-
-/**
- * Entry point for access information about EDM metadata.
- */
-public interface EdmMetadata {
-
- /**
- * Checks whether the given key is a valid namespace or alias in the EdM metadata document.
- *
- * @param key namespace or alias
- * @return true if key is valid namespace or alias
- */
- boolean isNsOrAlias(String key);
-
- /**
- * Returns the Schema at the specified position in the EdM metadata document.
- *
- * @param index index of the Schema to return
- * @return the Schema at the specified position in the EdM metadata document
- */
- Schema getSchema(final int index);
-
- /**
- * Returns the Schema with the specified key (namespace or alias) in the EdM metadata document.
- *
- * @param key namespace or alias
- * @return the Schema with the specified key in the EdM metadata document
- */
- Schema getSchema(final String key);
-
- /**
- * Returns all Schema objects defined in the EdM metadata document.
- *
- * @return all Schema objects defined in the EdM metadata document
- */
- List<? extends Schema> getSchemas();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java
index 1366289..6d39a8d 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonParameter.java
@@ -18,8 +18,6 @@
*/
package org.apache.olingo.odata4.client.api.edm.xml;
-import java.math.BigInteger;
-
public interface CommonParameter extends Named {
String getType();
@@ -30,16 +28,16 @@ public interface CommonParameter extends Named {
void setNullable(boolean nullable);
- String getMaxLength();
+ Integer getMaxLength();
- void setMaxLength(String maxLength);
+ void setMaxLength(Integer maxLength);
- BigInteger getPrecision();
+ Integer getPrecision();
- void setPrecision(BigInteger precision);
+ void setPrecision(Integer precision);
- BigInteger getScale();
+ Integer getScale();
- void setScale(BigInteger scale);
+ void setScale(Integer scale);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java
index 1621cd2..cc362a5 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/CommonProperty.java
@@ -18,7 +18,6 @@
*/
package org.apache.olingo.odata4.client.api.edm.xml;
-import java.math.BigInteger;
import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
@@ -36,21 +35,21 @@ public interface CommonProperty extends Named {
void setDefaultValue(String defaultValue);
- String getMaxLength();
+ Integer getMaxLength();
- void setMaxLength(String maxLength);
+ void setMaxLength(Integer maxLength);
boolean isFixedLength();
void setFixedLength(boolean fixedLength);
- BigInteger getPrecision();
+ Integer getPrecision();
- void setPrecision(BigInteger precision);
+ void setPrecision(Integer precision);
- BigInteger getScale();
+ Integer getScale();
- void setScale(BigInteger scale);
+ void setScale(Integer scale);
boolean isUnicode();
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java
index cf1e258..d6292c9 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Member.java
@@ -22,5 +22,5 @@ public interface Member {
String getName();
- Integer getValue();
+ String getValue();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java
index 1856f8e..8229234 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java
@@ -18,7 +18,6 @@
*/
package org.apache.olingo.odata4.client.api.edm.xml;
-import org.apache.olingo.odata4.client.api.edm.xml.v3.Annotations;
import java.util.List;
public interface Schema {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/XMLMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/XMLMetadata.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/XMLMetadata.java
new file mode 100644
index 0000000..2350214
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/XMLMetadata.java
@@ -0,0 +1,59 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import java.util.List;
+
+/**
+ * Entry point for access information about EDM metadata.
+ */
+public interface XMLMetadata {
+
+ /**
+ * Checks whether the given key is a valid namespace or alias in the EdM metadata document.
+ *
+ * @param key namespace or alias
+ * @return true if key is valid namespace or alias
+ */
+ boolean isNsOrAlias(String key);
+
+ /**
+ * Returns the Schema at the specified position in the EdM metadata document.
+ *
+ * @param index index of the Schema to return
+ * @return the Schema at the specified position in the EdM metadata document
+ */
+ Schema getSchema(final int index);
+
+ /**
+ * Returns the Schema with the specified key (namespace or alias) in the EdM metadata document.
+ *
+ * @param key namespace or alias
+ * @return the Schema with the specified key in the EdM metadata document
+ */
+ Schema getSchema(final String key);
+
+ /**
+ * Returns all Schema objects defined in the EdM metadata document.
+ *
+ * @return all Schema objects defined in the EdM metadata document
+ */
+ List<? extends Schema> getSchemas();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/BindingTarget.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/BindingTarget.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/BindingTarget.java
new file mode 100644
index 0000000..c2c4aba
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/BindingTarget.java
@@ -0,0 +1,31 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface BindingTarget extends Named, AnnotatedEdmItem {
+
+ String getEntityType();
+
+ void setEntityType(String entityType);
+
+ List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java
index 6acf741..d3a7611 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java
@@ -22,6 +22,10 @@ import java.util.List;
public interface EntityContainer extends org.apache.olingo.odata4.client.api.edm.xml.EntityContainer {
+ List<? extends Singleton> getSingletons();
+
+ Singleton getSingleton(String name);
+
/**
* Gets the first action import with given name.
*
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java
index c6754c7..abdd598 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java
@@ -18,13 +18,9 @@
*/
package org.apache.olingo.odata4.client.api.edm.xml.v4;
-import java.util.List;
-
-public interface EntitySet extends org.apache.olingo.odata4.client.api.edm.xml.EntitySet, AnnotatedEdmItem {
+public interface EntitySet extends org.apache.olingo.odata4.client.api.edm.xml.EntitySet, BindingTarget {
boolean isIncludeInServiceDocument();
void setIncludeInServiceDocument(boolean includeInServiceDocument);
-
- List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java
index 8e3c1f2..b6cd912 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java
@@ -18,15 +18,13 @@
*/
package org.apache.olingo.odata4.client.api.edm.xml.v4;
-import java.math.BigInteger;
-
public interface ReturnType {
- String getMaxLength();
+ Integer getMaxLength();
- BigInteger getPrecision();
+ Integer getPrecision();
- BigInteger getScale();
+ Integer getScale();
String getSrid();
@@ -34,13 +32,13 @@ public interface ReturnType {
boolean isNullable();
- void setMaxLength(String maxLength);
+ void setMaxLength(Integer maxLength);
void setNullable(boolean nullable);
- void setPrecision(BigInteger precision);
+ void setPrecision(Integer precision);
- void setScale(BigInteger scale);
+ void setScale(Integer scale);
void setSrid(String srid);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java
index a706f89..41145e5 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java
@@ -18,15 +18,8 @@
*/
package org.apache.olingo.odata4.client.api.edm.xml.v4;
-import java.util.List;
import org.apache.olingo.odata4.client.api.edm.xml.Named;
-public interface Singleton extends Named {
-
- String getType();
-
- void setType(String type);
-
- List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
+public interface Singleton extends Named, BindingTarget {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java
index aaad5e7..531cf45 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java
@@ -26,11 +26,11 @@ public interface TypeDefinition extends Named {
List<? extends Annotation> getAnnotations();
- String getMaxLength();
+ Integer getMaxLength();
- BigInteger getPrecision();
+ Integer getPrecision();
- BigInteger getScale();
+ Integer getScale();
String getSrid();
@@ -38,11 +38,11 @@ public interface TypeDefinition extends Named {
boolean isUnicode();
- void setMaxLength(String maxLength);
+ void setMaxLength(Integer maxLength);
- void setPrecision(BigInteger precision);
+ void setPrecision(Integer precision);
- void setScale(BigInteger scale);
+ void setScale(Integer scale);
void setSrid(String srid);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
index fe6872c..8d6fc62 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataDeserializer.java
@@ -20,7 +20,7 @@ package org.apache.olingo.odata4.client.api.op;
import java.io.InputStream;
import java.io.Serializable;
-import org.apache.olingo.odata4.client.api.edm.xml.Edmx;
+import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
import org.w3c.dom.Element;
/**
@@ -28,7 +28,7 @@ import org.w3c.dom.Element;
*/
public interface ODataDeserializer extends Serializable {
- Edmx toMetadata(InputStream input);
+ XMLMetadata toMetadata(InputStream input);
/**
* Gets the ServiceDocumentResource object represented by the given InputStream.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataReader.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataReader.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataReader.java
index e6f59db..a933919 100644
--- a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataReader.java
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/op/ODataReader.java
@@ -20,7 +20,7 @@ package org.apache.olingo.odata4.client.api.op;
import java.io.InputStream;
import java.io.Serializable;
-import org.apache.olingo.odata4.client.api.edm.EdmMetadata;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
/**
* OData reader.
@@ -37,7 +37,7 @@ public interface ODataReader extends Serializable {
* @param input stream to de-serialize.
* @return metadata representation.
*/
- EdmMetadata readMetadata(InputStream input);
+ Edm readMetadata(InputStream input);
/**
* Parses an OData service document.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/utils/EdmTypeInfo.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/utils/EdmTypeInfo.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/utils/EdmTypeInfo.java
new file mode 100644
index 0000000..33dd468
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/utils/EdmTypeInfo.java
@@ -0,0 +1,81 @@
+/*
+ * 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.odata4.client.api.utils;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+
+public class EdmTypeInfo {
+
+ private final String typeExpression;
+
+ private final boolean collection;
+
+ private final FullQualifiedName fullQualifiedName;
+
+ public EdmTypeInfo(final String typeExpression, final String defaultNamespace) {
+ this(typeExpression.indexOf('.') == -1
+ ? defaultNamespace + "." + typeExpression
+ : typeExpression);
+ }
+
+ public EdmTypeInfo(final String typeExpression) {
+ this.typeExpression = typeExpression;
+
+ String baseType;
+ final int collStartIdx = typeExpression.indexOf("Collection(");
+ final int collEndIdx = typeExpression.lastIndexOf(')');
+ if (collStartIdx == -1) {
+ baseType = typeExpression;
+ this.collection = false;
+ } else {
+ if (collEndIdx == -1) {
+ throw new IllegalArgumentException("Malformed type: " + typeExpression);
+ }
+
+ this.collection = true;
+ baseType = typeExpression.substring(collStartIdx + 11, collEndIdx);
+ }
+
+ final int lastDotIdx = baseType.lastIndexOf('.');
+ if (lastDotIdx == -1) {
+ throw new IllegalArgumentException("Cannot find namespace or alias in " + typeExpression);
+ }
+ final String namespace = baseType.substring(0, lastDotIdx);
+ final String typeName = baseType.substring(lastDotIdx + 1);
+ if (StringUtils.isBlank(typeName)) {
+ throw new IllegalArgumentException("Null or empty type name in " + typeExpression);
+ }
+
+ this.fullQualifiedName = new FullQualifiedName(namespace, typeName);
+ }
+
+ public String getTypeExpression() {
+ return typeExpression;
+ }
+
+ public boolean isCollection() {
+ return collection;
+ }
+
+ public FullQualifiedName getFullQualifiedName() {
+ return fullQualifiedName;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java
deleted file mode 100644
index 2e6cc1a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmMetadata.java
+++ /dev/null
@@ -1,105 +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.odata4.client.core.edm;
-
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.odata4.client.api.ODataClient;
-import org.apache.olingo.odata4.client.api.edm.EdmMetadata;
-import org.apache.olingo.odata4.client.api.edm.xml.Edmx;
-import org.apache.olingo.odata4.client.api.edm.xml.Schema;
-import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
-
-/**
- * Entry point for access information about EDM metadata.
- */
-public abstract class AbstractEdmMetadata extends AbstractEdmItem implements EdmMetadata {
-
- private static final long serialVersionUID = -1214173426671503187L;
-
- protected final Edmx edmx;
-
- protected final Map<String, Schema> schemaByNsOrAlias;
-
- /**
- * Constructor.
- *
- * @param client OData client
- * @param inputStream source stream.
- */
- @SuppressWarnings("unchecked")
- public AbstractEdmMetadata(final ODataClient client, final InputStream inputStream) {
- edmx = client.getDeserializer().toMetadata(inputStream);
-
- this.schemaByNsOrAlias = new HashMap<String, Schema>();
- for (Schema schema : edmx.getDataServices().getSchemas()) {
- this.schemaByNsOrAlias.put(schema.getNamespace(), schema);
- if (StringUtils.isNotBlank(schema.getAlias())) {
- this.schemaByNsOrAlias.put(schema.getAlias(), schema);
- }
- }
- }
-
- /**
- * Checks whether the given key is a valid namespace or alias in the EdM metadata document.
- *
- * @param key namespace or alias
- * @return true if key is valid namespace or alias
- */
- @Override
- public boolean isNsOrAlias(final String key) {
- return this.schemaByNsOrAlias.keySet().contains(key);
- }
-
- /**
- * Returns the Schema at the specified position in the EdM metadata document.
- *
- * @param index index of the Schema to return
- * @return the Schema at the specified position in the EdM metadata document
- */
- @Override
- public Schema getSchema(final int index) {
- return this.edmx.getDataServices().getSchemas().get(index);
- }
-
- /**
- * Returns the Schema with the specified key (namespace or alias) in the EdM metadata document.
- *
- * @param key namespace or alias
- * @return the Schema with the specified key in the EdM metadata document
- */
- @Override
- public Schema getSchema(final String key) {
- return this.schemaByNsOrAlias.get(key);
- }
-
- /**
- * Returns all Schema objects defined in the EdM metadata document.
- *
- * @return all Schema objects defined in the EdM metadata document
- */
- @Override
- public List<? extends Schema> getSchemas() {
- return this.edmx.getDataServices().getSchemas();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.java
new file mode 100644
index 0000000..d036e9f
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmServiceMetadataImpl.java
@@ -0,0 +1,115 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonFunctionImport;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityContainer;
+import org.apache.olingo.odata4.client.api.edm.xml.EntitySet;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySetInfo;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImportInfo;
+import org.apache.olingo.odata4.commons.api.edm.EdmServiceMetadata;
+import org.apache.olingo.odata4.commons.core.edm.EdmEntitySetInfoImpl;
+import org.apache.olingo.odata4.commons.core.edm.EdmFunctionImportInfoImpl;
+
+public abstract class AbstractEdmServiceMetadataImpl implements EdmServiceMetadata {
+
+ protected final XMLMetadata xmlMetadata;
+
+ private List<EdmEntitySetInfo> entitySetInfos;
+
+ private List<EdmFunctionImportInfo> functionImportInfos;
+
+ public static EdmServiceMetadata getInstance(final XMLMetadata xmlMetadata) {
+ return xmlMetadata instanceof org.apache.olingo.odata4.client.core.edm.xml.v3.XMLMetadataImpl
+ ? new org.apache.olingo.odata4.client.core.edm.v3.EdmServiceMetadataImpl(
+ (org.apache.olingo.odata4.client.core.edm.xml.v3.XMLMetadataImpl) xmlMetadata)
+ : new org.apache.olingo.odata4.client.core.edm.v4.EdmServiceMetadataImpl(
+ (org.apache.olingo.odata4.client.core.edm.xml.v4.XMLMetadataImpl) xmlMetadata);
+
+ }
+
+ public AbstractEdmServiceMetadataImpl(final XMLMetadata xmlMetadata) {
+ this.xmlMetadata = xmlMetadata;
+ }
+
+ @Override
+ public InputStream getMetadata() {
+ throw new UnsupportedOperationException("Not supported in client code.");
+ }
+
+ @Override
+ public List<EdmEntitySetInfo> getEntitySetInfos() {
+ synchronized (this) {
+ if (entitySetInfos == null) {
+ entitySetInfos = new ArrayList<EdmEntitySetInfo>();
+ for (Schema schema : xmlMetadata.getSchemas()) {
+ for (EntityContainer entityContainer : schema.getEntityContainers()) {
+ for (EntitySet entitySet : entityContainer.getEntitySets()) {
+ entitySetInfos.add(
+ new EdmEntitySetInfoImpl(entityContainer.getName(), entitySet.getName()));
+ }
+ }
+ }
+ }
+ return entitySetInfos;
+ }
+ }
+
+ @Override
+ public List<EdmFunctionImportInfo> getFunctionImportInfos() {
+ synchronized (this) {
+ if (functionImportInfos == null) {
+ functionImportInfos = new ArrayList<EdmFunctionImportInfo>();
+ for (Schema schema : xmlMetadata.getSchemas()) {
+ for (EntityContainer entityContainer : schema.getEntityContainers()) {
+ for (CommonFunctionImport functionImport : entityContainer.getFunctionImports()) {
+ functionImportInfos.add(
+ new EdmFunctionImportInfoImpl(entityContainer.getName(), functionImport.getName()));
+ }
+ }
+ }
+ }
+ }
+ return functionImportInfos;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return EqualsBuilder.reflectionEquals(this, obj);
+ }
+
+ @Override
+ public int hashCode() {
+ return HashCodeBuilder.reflectionHashCode(this);
+ }
+
+ @Override
+ public String toString() {
+ return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java
deleted file mode 100644
index 2d4dccf..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/AbstractEdmType.java
+++ /dev/null
@@ -1,265 +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.odata4.client.core.edm;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.odata4.client.api.data.EdmSimpleType;
-import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
-import org.apache.olingo.odata4.client.api.edm.EdmMetadata;
-import org.apache.olingo.odata4.client.api.edm.EdmType;
-import org.apache.olingo.odata4.client.api.edm.EdmTypeNotFoundException;
-import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
-import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
-import org.apache.olingo.odata4.client.api.edm.xml.Schema;
-import org.apache.olingo.odata4.client.core.edm.xml.AbstractComplexType;
-import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityType;
-import org.apache.olingo.odata4.client.core.edm.xml.AbstractEnumType;
-
-/**
- * Parse type information from metadata into semantic data.
- */
-public abstract class AbstractEdmType implements EdmType {
-
- private final String typeExpression;
-
- private final String baseType;
-
- private final String namespaceOrAlias;
-
- private boolean collection;
-
- private EdmSimpleType simpleType;
-
- private EnumType enumType;
-
- private ComplexType complexType;
-
- private EntityType entityType;
-
- /**
- * Constructor.
- *
- * @param typeExpression type expression.
- */
- public AbstractEdmType(final String typeExpression) {
- this(null, typeExpression);
- }
-
- /**
- * Constructor.
- *
- * @param metadata metadata.
- * @param typeExpression type expression.
- */
- public AbstractEdmType(final EdmMetadata metadata, final String typeExpression) {
- this.typeExpression = typeExpression;
-
- final int collectionStartIdx = typeExpression.indexOf("Collection(");
- final int collectionEndIdx = typeExpression.lastIndexOf(')');
- if (collectionStartIdx == -1) {
- baseType = typeExpression;
- } else {
- if (collectionEndIdx == -1) {
- throw new IllegalArgumentException("Malformed type: " + typeExpression);
- }
-
- this.collection = true;
- baseType = typeExpression.substring(collectionStartIdx + 11, collectionEndIdx);
- }
-
- final int lastDotIdx = baseType.lastIndexOf('.');
- if (lastDotIdx == -1) {
- throw new IllegalArgumentException("Cannot find namespace or alias in " + typeExpression);
- }
- namespaceOrAlias = baseType.substring(0, lastDotIdx);
- final String typeName = baseType.substring(lastDotIdx + 1);
- if (StringUtils.isBlank(typeName)) {
- throw new IllegalArgumentException("Null or empty type name in " + typeExpression);
- }
-
- if (namespaceOrAlias.equals(EdmSimpleType.namespace())) {
- this.simpleType = EdmSimpleType.fromValue(EdmSimpleType.namespace() + "." + typeName);
- } else if (metadata != null) {
- if (!metadata.isNsOrAlias(namespaceOrAlias)) {
- throw new IllegalArgumentException("Illegal namespace or alias: " + namespaceOrAlias);
- }
- final Schema schema = metadata.getSchema(namespaceOrAlias);
-
- for (EnumType type : schema.getEnumTypes()) {
- if (typeName.equals(type.getName())) {
- this.enumType = type;
- }
- }
- if (this.enumType == null) {
- for (ComplexType type : schema.getComplexTypes()) {
- if (typeName.equals(type.getName())) {
- this.complexType = type;
- }
- }
- if (this.complexType == null) {
- for (EntityType type : schema.getEntityTypes()) {
- if (typeName.equals(type.getName())) {
- this.entityType = type;
- }
- }
- }
- }
-
- if (!isSimpleType() && !isEnumType() && !isComplexType() && !isEntityType()) {
- throw new IllegalArgumentException("Could not parse type information out of " + typeExpression);
- }
- }
- }
-
- /**
- * Checks if is a collection.
- *
- * @return 'TRUE' if is a collection; 'FALSE' otherwise.
- */
- @Override
- public final boolean isCollection() {
- return this.collection;
- }
-
- /**
- * Checks if is a simple type.
- *
- * @return 'TRUE' if is a simple type; 'FALSE' otherwise.
- */
- @Override
- public final boolean isSimpleType() {
- return this.simpleType != null;
- }
-
- /**
- * Gets type as a simple type.
- *
- * @return simple type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not a simple type.
- */
- @Override
- public final EdmSimpleType getSimpleType() {
- if (!isSimpleType()) {
- throw new EdmTypeNotFoundException(EdmSimpleType.class, this.typeExpression);
- }
-
- return this.simpleType;
- }
-
- /**
- * Checks if is an enum type.
- *
- * @return 'TRUE' if is an enum type; 'FALSE' otherwise.
- */
- @Override
- public final boolean isEnumType() {
- return this.enumType != null;
- }
-
- /**
- * Gets type as enum type.
- *
- * @return enum type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not an enum type.
- */
- @Override
- public EnumType getEnumType() {
- if (!isEnumType()) {
- throw new EdmTypeNotFoundException(AbstractEnumType.class, this.typeExpression);
- }
-
- return this.enumType;
- }
-
- /**
- * Checks if is a complex type.
- *
- * @return 'TRUE' if is a complex type; 'FALSE' otherwise.
- */
- @Override
- public final boolean isComplexType() {
- return this.complexType != null;
- }
-
- /**
- * Gets type as complex type.
- *
- * @return complex type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not a complex type.
- */
- @Override
- public ComplexType getComplexType() {
- if (!isComplexType()) {
- throw new EdmTypeNotFoundException(AbstractComplexType.class, this.typeExpression);
- }
-
- return this.complexType;
- }
-
- /**
- * Checks if is an entity type.
- *
- * @return 'TRUE' if is an entity type; 'FALSE' otherwise.
- */
- @Override
- public final boolean isEntityType() {
- return this.entityType != null;
- }
-
- /**
- * Gets type as entity type.
- *
- * @return entity type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not an entity type.
- */
- @Override
- public EntityType getEntityType() {
- if (!isEntityType()) {
- throw new EdmTypeNotFoundException(AbstractEntityType.class, this.typeExpression);
- }
-
- return this.entityType;
- }
-
- /**
- * Gets base type.
- *
- * @return base type.
- */
- @Override
- public String getBaseType() {
- return baseType;
- }
-
- /**
- * Gets type expression.
- *
- * @return type expression.
- */
- @Override
- public String getTypeExpression() {
- return typeExpression;
- }
-
- /**
- * Gets namespace or alias retrieved from the provided type expression.
- *
- * @return namespace or alias.
- */
- @Override
- public String getNamespaceOrAlias() {
- return namespaceOrAlias;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java
new file mode 100644
index 0000000..8cf1eed
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImpl.java
@@ -0,0 +1,37 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Action;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmAction;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public class EdmActionImpl extends EdmOperationImpl implements EdmAction {
+
+ public static EdmActionImpl getInstance(final Edm edm, final FullQualifiedName name, final Action action) {
+ return EdmOperationImpl.getInstance(new EdmActionImpl(edm, name, action));
+ }
+
+ private EdmActionImpl(final Edm edm, final FullQualifiedName name, final Action action) {
+ super(edm, name, action, EdmTypeKind.ACTION);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java
new file mode 100644
index 0000000..a133578
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmActionImportImpl.java
@@ -0,0 +1,45 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ActionImport;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmAction;
+import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+
+public class EdmActionImportImpl extends EdmOperationImportImpl implements EdmActionImport {
+
+ private final ActionImport actionImport;
+
+ public EdmActionImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final ActionImport actionImport) {
+
+ super(edm, container, name, actionImport);
+ this.actionImport = actionImport;
+ }
+
+ @Override
+ public EdmAction getAction() {
+ return edm.getAction(
+ new EdmTypeInfo(actionImport.getAction(), container.getNamespace()).getFullQualifiedName(), null, null);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java
new file mode 100644
index 0000000..26f70e9
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmBindingTargetImpl.java
@@ -0,0 +1,80 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import java.util.Iterator;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.BindingTarget;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationPropertyBinding;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmBindingTarget;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.Target;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmBindingTarget;
+
+public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
+
+ private final BindingTarget target;
+
+ public EdmBindingTargetImpl(final Edm edm, final EdmEntityContainer container,
+ final String name, final FullQualifiedName type, final BindingTarget target) {
+
+ super(edm, container, name, type);
+ this.target = target;
+ }
+
+ @Override
+ public EdmBindingTarget getRelatedBindingTarget(final String path) {
+ EdmBindingTarget bindingTarget = null;
+
+ final List<? extends NavigationPropertyBinding> navigationPropertyBindings = target.getNavigationPropertyBindings();
+ if (navigationPropertyBindings != null) {
+ boolean found = false;
+ for (final Iterator<? extends NavigationPropertyBinding> itor = navigationPropertyBindings.iterator();
+ itor.hasNext() && !found;) {
+
+ final NavigationPropertyBinding binding = itor.next();
+ if (binding.getPath().equals(path)) {
+ final Target edmTarget = new Target.Builder(binding.getTarget(), container).build();
+
+ final EdmEntityContainer entityContainer = edm.getEntityContainer(edmTarget.getEntityContainer());
+ if (entityContainer == null) {
+ throw new EdmException("Cant find entity container with name: " + edmTarget.getEntityContainer());
+ }
+ bindingTarget = entityContainer.getEntitySet(edmTarget.getTargetName());
+ if (bindingTarget == null) {
+ bindingTarget = entityContainer.getSingleton(edmTarget.getTargetName());
+ if (bindingTarget == null) {
+ throw new EdmException("Cant find target with name: " + edmTarget.getTargetName());
+ }
+
+ found = true;
+ } else {
+ found = true;
+ }
+ }
+ }
+ }
+
+ return bindingTarget;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java
new file mode 100644
index 0000000..ab15e7d
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmClientImpl.java
@@ -0,0 +1,285 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ComplexType;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntityType;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.TypeDefinition;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ActionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.FunctionImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ParameterImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl;
+import org.apache.olingo.odata4.commons.api.edm.EdmAction;
+import org.apache.olingo.odata4.commons.api.edm.EdmComplexType;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
+import org.apache.olingo.odata4.commons.api.edm.EdmServiceMetadata;
+import org.apache.olingo.odata4.commons.api.edm.EdmTypeDefinition;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmImpl;
+
+public class EdmClientImpl extends AbstractEdmImpl {
+
+ private final XMLMetadata xmlMetadata;
+
+ private final EdmServiceMetadata serviceMetadata;
+
+ public EdmClientImpl(final XMLMetadata xmlMetadata) {
+ this.xmlMetadata = xmlMetadata;
+ this.serviceMetadata = AbstractEdmServiceMetadataImpl.getInstance(xmlMetadata);
+ }
+
+ public XMLMetadata getXMLMetadata() {
+ return xmlMetadata;
+ }
+
+ @Override
+ protected EdmServiceMetadata createServiceMetadata() {
+ return serviceMetadata;
+ }
+
+ @Override
+ protected Map<String, String> createAliasToNamespaceInfo() {
+ final Map<String, String> aliasToNamespace = new HashMap<String, String>();
+
+ for (Schema schema : xmlMetadata.getSchemas()) {
+ aliasToNamespace.put(null, schema.getNamespace());
+ if (StringUtils.isNotBlank(schema.getAlias())) {
+ aliasToNamespace.put(schema.getAlias(), schema.getNamespace());
+ }
+ }
+
+ return aliasToNamespace;
+ }
+
+ @Override
+ protected EdmEntityContainer createEntityContainer(final FullQualifiedName containerName) {
+ EdmEntityContainer result = null;
+
+ final Schema schema = xmlMetadata.getSchema(containerName.getNamespace());
+ if (schema != null) {
+ final EntityContainer xmlEntityContainer = (EntityContainer) schema.getDefaultEntityContainer();
+ if (xmlEntityContainer != null) {
+ result = new EdmEntityContainerImpl(this, containerName, xmlEntityContainer);
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmEnumType createEnumType(final FullQualifiedName enumName) {
+ EdmEnumType result = null;
+
+ final Schema schema = xmlMetadata.getSchema(enumName.getNamespace());
+ if (schema != null) {
+ final EnumType xmlEnumType = schema.getEnumType(enumName.getName());
+ if (xmlEnumType != null) {
+ result = new EdmEnumTypeImpl(this, enumName, xmlEnumType);
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmTypeDefinition createTypeDefinition(final FullQualifiedName typeDefinitionName) {
+ EdmTypeDefinition result = null;
+
+ final Schema schema = xmlMetadata.getSchema(typeDefinitionName.getNamespace());
+ if (schema instanceof SchemaImpl) {
+ final TypeDefinition xmlTypeDefinition = ((SchemaImpl) schema).getTypeDefinition(typeDefinitionName.getName());
+ if (xmlTypeDefinition != null) {
+ result = new EdmTypeDefinitionImpl(this, typeDefinitionName, xmlTypeDefinition);
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmEntityType createEntityType(final FullQualifiedName entityTypeName) {
+ EdmEntityType result = null;
+
+ final Schema schema = xmlMetadata.getSchema(entityTypeName.getNamespace());
+ if (schema instanceof SchemaImpl) {
+ final EntityType xmlEntityType = ((SchemaImpl) schema).getEntityType(entityTypeName.getName());
+ if (xmlEntityType != null) {
+ result = EdmEntityTypeImpl.getInstance(this, entityTypeName, xmlEntityType);
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmComplexType createComplexType(final FullQualifiedName complexTypeName) {
+ EdmComplexType result = null;
+
+ final Schema schema = xmlMetadata.getSchema(complexTypeName.getNamespace());
+ if (schema instanceof SchemaImpl) {
+ final ComplexType xmlComplexType = ((SchemaImpl) schema).getComplexType(complexTypeName.getName());
+ if (xmlComplexType != null) {
+ result = EdmComplexTypeImpl.getInstance(this, complexTypeName, xmlComplexType);
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmAction createUnboundAction(final FullQualifiedName actionName) {
+ EdmAction result = null;
+
+ final Schema schema = xmlMetadata.getSchema(actionName.getNamespace());
+ if (schema instanceof SchemaImpl) {
+ final List<ActionImpl> actions = ((SchemaImpl) schema).getActions(actionName.getName());
+ boolean found = false;
+ for (Iterator<ActionImpl> itor = actions.iterator(); itor.hasNext() && !found;) {
+ final ActionImpl action = itor.next();
+ if (!action.isBound()) {
+ found = true;
+ result = EdmActionImpl.getInstance(this, actionName, action);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmFunction createUnboundFunction(final FullQualifiedName functionName, final List<String> parameterNames) {
+ EdmFunction result = null;
+
+ final Schema schema = xmlMetadata.getSchema(functionName.getNamespace());
+ if (schema instanceof SchemaImpl) {
+ final List<FunctionImpl> functions = ((SchemaImpl) schema).getFunctions(functionName.getName());
+ boolean found = false;
+ for (Iterator<FunctionImpl> itor = functions.iterator(); itor.hasNext() && !found;) {
+ final FunctionImpl function = itor.next();
+ if (!function.isBound()) {
+ final Set<String> functionParamNames = new HashSet<String>();
+ for (ParameterImpl param : function.getParameters()) {
+ functionParamNames.add(param.getName());
+ }
+ found = parameterNames == null
+ ? functionParamNames.isEmpty()
+ : functionParamNames.containsAll(parameterNames);
+ result = EdmFunctionImpl.getInstance(this, functionName, function);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmAction createBoundAction(final FullQualifiedName actionName,
+ final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection) {
+
+ EdmAction result = null;
+
+ final Schema schema = xmlMetadata.getSchema(actionName.getNamespace());
+ if (schema instanceof SchemaImpl) {
+ final List<ActionImpl> actions = ((SchemaImpl) schema).getActions(actionName.getName());
+ boolean found = false;
+ for (Iterator<ActionImpl> itor = actions.iterator(); itor.hasNext() && !found;) {
+ final ActionImpl action = itor.next();
+ if (action.isBound()) {
+ final EdmTypeInfo boundParam = new EdmTypeInfo(action.getParameters().get(0).getType());
+ if (bindingParameterTypeName.equals(boundParam.getFullQualifiedName())
+ && isBindingParameterCollection.booleanValue() == boundParam.isCollection()) {
+
+ found = true;
+ result = EdmActionImpl.getInstance(this, actionName, action);
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ protected EdmFunction createBoundFunction(final FullQualifiedName functionName,
+ final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection,
+ final List<String> parameterNames) {
+
+ EdmFunction result = null;
+
+ final Schema schema = xmlMetadata.getSchema(functionName.getNamespace());
+ if (schema instanceof SchemaImpl) {
+ final List<FunctionImpl> functions = ((SchemaImpl) schema).getFunctions(functionName.getName());
+ boolean found = false;
+ for (Iterator<FunctionImpl> itor = functions.iterator(); itor.hasNext() && !found;) {
+ final FunctionImpl function = itor.next();
+ if (function.isBound()) {
+ final EdmTypeInfo boundParam = new EdmTypeInfo(function.getParameters().get(0).getType());
+ if (bindingParameterTypeName.equals(boundParam.getFullQualifiedName())
+ && isBindingParameterCollection.booleanValue() == boundParam.isCollection()) {
+
+ final Set<String> functionParamNames = new HashSet<String>();
+ for (ParameterImpl param : function.getParameters()) {
+ functionParamNames.add(param.getName());
+ }
+ found = parameterNames == null
+ ? functionParamNames.isEmpty()
+ : functionParamNames.containsAll(parameterNames);
+ result = EdmFunctionImpl.getInstance(this, functionName, function);
+ }
+ }
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return EqualsBuilder.reflectionEquals(this, obj);
+ }
+
+ @Override
+ public int hashCode() {
+ return HashCodeBuilder.reflectionHashCode(this);
+ }
+
+ @Override
+ public String toString() {
+ return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.java
new file mode 100644
index 0000000..c036172
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmComplexTypeImpl.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.odata4.client.core.edm;
+
+import java.util.Map;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ComplexType;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmComplexType;
+import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
+
+public class EdmComplexTypeImpl extends AbstractEdmComplexType {
+
+ private final EdmStructuredTypeHelper helper;
+
+ public static EdmComplexTypeImpl getInstance(final Edm edm, final FullQualifiedName fqn,
+ final ComplexType complexType) {
+
+ final FullQualifiedName baseTypeName = complexType.getBaseType() == null
+ ? null : new EdmTypeInfo(complexType.getBaseType()).getFullQualifiedName();
+ final EdmComplexTypeImpl instance = new EdmComplexTypeImpl(edm, fqn, baseTypeName, complexType);
+ instance.baseType = instance.buildBaseType(baseTypeName);
+
+ return instance;
+ }
+
+ private EdmComplexTypeImpl(final Edm edm, final FullQualifiedName fqn, final FullQualifiedName baseTypeName,
+ final ComplexType complexType) {
+
+ super(edm, fqn, baseTypeName);
+ this.helper = new EdmStructuredTypeHelperImpl(edm, complexType);
+ }
+
+ @Override
+ protected Map<String, EdmProperty> getProperties() {
+ return helper.getProperties();
+ }
+
+ @Override
+ protected Map<String, EdmNavigationProperty> getNavigationProperties() {
+ return helper.getNavigationProperties();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java
new file mode 100644
index 0000000..31269a2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntityContainerImpl.java
@@ -0,0 +1,87 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ActionImport;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntitySet;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.FunctionImport;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Singleton;
+import org.apache.olingo.odata4.client.api.utils.EdmTypeInfo;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
+import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEntityContainer;
+
+public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
+
+ private final EntityContainer xmlEntityContainer;
+
+ public EdmEntityContainerImpl(final Edm edm, final FullQualifiedName entityContainerName,
+ final EntityContainer xmlEntityContainer) {
+
+ super(edm, entityContainerName);
+ this.xmlEntityContainer = xmlEntityContainer;
+ }
+
+ @Override
+ protected EdmSingleton createSingleton(final String singletonName) {
+ final Singleton singleton = xmlEntityContainer.getSingleton(singletonName);
+ if (singleton == null) {
+ throw new EdmException("Singleton named '" + singletonName + "' not found in " + entityContainerName);
+ }
+ return new EdmSingletonImpl(edm, this, singletonName,
+ new EdmTypeInfo(singleton.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
+ singleton);
+ }
+
+ @Override
+ protected EdmEntitySet createEntitySet(final String entitySetName) {
+ final EntitySet entitySet = (EntitySet) xmlEntityContainer.getEntitySet(entitySetName);
+ if (entitySet == null) {
+ throw new EdmException("EntitySet named '" + entitySetName + "' not found in " + entityContainerName);
+ }
+ return new EdmEntitySetImpl(edm, this, entitySetName,
+ new EdmTypeInfo(entitySet.getEntityType(), entityContainerName.getNamespace()).getFullQualifiedName(),
+ entitySet);
+ }
+
+ @Override
+ protected EdmActionImport createActionImport(final String actionImportName) {
+ final ActionImport actionImport = xmlEntityContainer.getActionImport(actionImportName);
+ if (actionImport == null) {
+ throw new EdmException("ActionImport named '" + actionImportName + "' not found in " + entityContainerName);
+ }
+ return new EdmActionImportImpl(edm, this, actionImportName, actionImport);
+ }
+
+ @Override
+ protected EdmFunctionImport createFunctionImport(final String functionImportName) {
+ final FunctionImport functionImport = (FunctionImport) xmlEntityContainer.getFunctionImport(functionImportName);
+ if (functionImport == null) {
+ throw new EdmException("FunctionImport named '" + functionImportName + "' not found in " + entityContainerName);
+ }
+ return new EdmFunctionImportImpl(edm, this, functionImportName, functionImport);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java
new file mode 100644
index 0000000..669e431
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/EdmEntitySetImpl.java
@@ -0,0 +1,35 @@
+/*
+ * 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.odata4.client.core.edm;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntitySet;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+
+public class EdmEntitySetImpl extends EdmBindingTargetImpl implements EdmEntitySet {
+
+ public EdmEntitySetImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final FullQualifiedName type, final EntitySet entitySet) {
+
+ super(edm, container, name, type, entitySet);
+ }
+
+}
[20/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructDeserializer.java
deleted file mode 100644
index d3d4fd4..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructDeserializer.java
+++ /dev/null
@@ -1,145 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonLocation;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.ClassUtils;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class DynExprConstructDeserializer extends AbstractEdmDeserializer<DynExprConstructImpl> {
-
- private static final String[] EL_OR_ATTR = { AnnotationPath.class.getSimpleName(), Path.class.getSimpleName() };
-
- private static final String APPLY = Apply.class.getSimpleName();
-
- private static final String CAST = Cast.class.getSimpleName();
-
- private static final String COLLECTION = Collection.class.getSimpleName();
-
- private static final String IF = If.class.getSimpleName();
-
- private static final String IS_OF = IsOf.class.getSimpleName();
-
- private static final String LABELED_ELEMENT = LabeledElement.class.getSimpleName();
-
- private static final String NULL = Null.class.getSimpleName();
-
- private static final String RECORD = Record.class.getSimpleName();
-
- private static final String URL_REF = UrlRef.class.getSimpleName();
-
- private AbstractElOrAttrConstruct getElOrAttrInstance(final String simpleClassName) throws JsonParseException {
- try {
- @SuppressWarnings("unchecked")
- Class<? extends AbstractElOrAttrConstruct> elOrAttrClass =
- (Class<? extends AbstractElOrAttrConstruct>) ClassUtils.getClass(
- getClass().getPackage().getName() + "." + simpleClassName);
- return elOrAttrClass.newInstance();
- } catch (Exception e) {
- throw new JsonParseException("Could not instantiate " + simpleClassName, JsonLocation.NA, e);
- }
- }
-
- private ExprConstructImpl parseConstOrEnumExprConstruct(final JsonParser jp) throws IOException {
- ExprConstructImpl result;
- if (isAnnotationConstExprConstruct(jp)) {
- result = parseAnnotationConstExprConstruct(jp);
- } else {
- result = jp.readValueAs( DynExprConstructImpl.class);
- }
- jp.nextToken();
-
- return result;
- }
-
- @Override
- protected DynExprConstructImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- DynExprConstructImpl construct = null;
-
- if (DynExprSingleParamOp.Type.fromString(jp.getCurrentName()) != null) {
- final DynExprSingleParamOp dynExprSingleParamOp = new DynExprSingleParamOp();
- dynExprSingleParamOp.setType(DynExprSingleParamOp.Type.fromString(jp.getCurrentName()));
-
- jp.nextToken();
- jp.nextToken();
- dynExprSingleParamOp.setExpression(jp.readValueAs( DynExprConstructImpl.class));
-
- construct = dynExprSingleParamOp;
- } else if (DynExprDoubleParamOp.Type.fromString(jp.getCurrentName()) != null) {
- final DynExprDoubleParamOp dynExprDoubleParamOp = new DynExprDoubleParamOp();
- dynExprDoubleParamOp.setType(DynExprDoubleParamOp.Type.fromString(jp.getCurrentName()));
-
- jp.nextToken();
- jp.nextToken();
- dynExprDoubleParamOp.setLeft(jp.readValueAs( DynExprConstructImpl.class));
- dynExprDoubleParamOp.setRight(jp.readValueAs( DynExprConstructImpl.class));
-
- construct = dynExprDoubleParamOp;
- } else if (ArrayUtils.contains(EL_OR_ATTR, jp.getCurrentName())) {
- final AbstractElOrAttrConstruct elOrAttr = getElOrAttrInstance(jp.getCurrentName());
- elOrAttr.setValue(jp.nextTextValue());
-
- construct = elOrAttr;
- } else if (APPLY.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( Apply.class);
- } else if (CAST.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( Cast.class);
- } else if (COLLECTION.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( Collection.class);
- } else if (IF.equals(jp.getCurrentName())) {
- jp.nextToken();
- jp.nextToken();
-
- final If _if = new If();
- _if.setGuard(parseConstOrEnumExprConstruct(jp));
- _if.setThen(parseConstOrEnumExprConstruct(jp));
- _if.setElse(parseConstOrEnumExprConstruct(jp));
-
- construct = _if;
- } else if (IS_OF.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( IsOf.class);
- } else if (LABELED_ELEMENT.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( LabeledElement.class);
- } else if (NULL.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( Null.class);
- } else if (RECORD.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( Record.class);
- } else if (URL_REF.equals(jp.getCurrentName())) {
- jp.nextToken();
- construct = jp.readValueAs( UrlRef.class);
- }
-
- return construct;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java
deleted file mode 100644
index ececbf2..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprConstructImpl.java
+++ /dev/null
@@ -1,29 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
-
-@JsonDeserialize(using = DynExprConstructDeserializer.class)
-public abstract class DynExprConstructImpl extends ExprConstructImpl implements DynExprConstruct {
-
- private static final long serialVersionUID = -642012862023177349L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java
deleted file mode 100644
index a455a86..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprDoubleParamOp.java
+++ /dev/null
@@ -1,73 +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.odata4.client.core.edm.v4.annotation;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
-
-public class DynExprDoubleParamOp extends DynExprConstructImpl {
-
- private static final long serialVersionUID = -7974475975925167731L;
-
- public static enum Type {
-
- And,
- Or;
-
- public static Type fromString(final String value) {
- Type result = null;
- for (Type type : values()) {
- if (value.equals(type.name())) {
- result = type;
- }
- }
- return result;
- }
- }
-
- private Type type;
-
- private DynExprConstruct left;
-
- private DynExprConstruct right;
-
- public Type getType() {
- return type;
- }
-
- public void setType(final Type type) {
- this.type = type;
- }
-
- public DynExprConstruct getLeft() {
- return left;
- }
-
- public void setLeft(final DynExprConstruct left) {
- this.left = left;
- }
-
- public DynExprConstruct getRight() {
- return right;
- }
-
- public void setRight(final DynExprConstruct right) {
- this.right = right;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java
deleted file mode 100644
index fa5862f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/DynExprSingleParamOp.java
+++ /dev/null
@@ -1,69 +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.odata4.client.core.edm.v4.annotation;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
-
-public class DynExprSingleParamOp extends DynExprConstructImpl {
-
- private static final long serialVersionUID = -7974475975925167731L;
-
- public static enum Type {
-
- Not,
- Eq,
- Ne,
- Gt,
- Ge,
- Lt,
- Le;
-
- public static Type fromString(final String value) {
- Type result = null;
- for (Type type : values()) {
- if (value.equals(type.name())) {
- result = type;
- }
- }
- return result;
- }
-
- }
-
- private Type type;
-
- private DynExprConstruct expression;
-
- public Type getType() {
- return type;
- }
-
- public void setType(final Type type) {
- this.type = type;
- }
-
- public DynExprConstruct getExpression() {
- return expression;
- }
-
- public void setExpression(final DynExprConstruct expression) {
- this.expression = expression;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java
deleted file mode 100644
index b628006..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/ExprConstructImpl.java
+++ /dev/null
@@ -1,28 +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.odata4.client.core.edm.v4.annotation;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
-import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
-
-public abstract class ExprConstructImpl extends AbstractEdmItem implements ExprConstruct {
-
- private static final long serialVersionUID = 7108626008005050492L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java
deleted file mode 100644
index f1c285d..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/If.java
+++ /dev/null
@@ -1,57 +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.odata4.client.core.edm.v4.annotation;
-
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
-
-public class If extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = 6752952406406218936L;
-
- private ExprConstruct guard;
-
- private ExprConstruct _then;
-
- private ExprConstruct _else;
-
- public ExprConstruct getGuard() {
- return guard;
- }
-
- public void setGuard(final ExprConstruct guard) {
- this.guard = guard;
- }
-
- public ExprConstruct getThen() {
- return _then;
- }
-
- public void setThen(final ExprConstruct _then) {
- this._then = _then;
- }
-
- public ExprConstruct getElse() {
- return _else;
- }
-
- public void setElse(final ExprConstruct _else) {
- this._else = _else;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java
deleted file mode 100644
index 036a13c..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOf.java
+++ /dev/null
@@ -1,90 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.math.BigInteger;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
-
-@JsonDeserialize(using = IsOfDeserializer.class)
-public class IsOf extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = 6958304670385303776L;
-
- private String type;
-
- private String maxLength;
-
- private BigInteger precision;
-
- private BigInteger scale;
-
- private String srid;
-
- private DynExprConstruct value;
-
- public String getType() {
- return type;
- }
-
- public void setType(final String type) {
- this.type = type;
- }
-
- public String getMaxLength() {
- return maxLength;
- }
-
- public void setMaxLength(final String maxLength) {
- this.maxLength = maxLength;
- }
-
- public BigInteger getPrecision() {
- return precision;
- }
-
- public void setPrecision(final BigInteger precision) {
- this.precision = precision;
- }
-
- public BigInteger getScale() {
- return scale;
- }
-
- public void setScale(final BigInteger scale) {
- this.scale = scale;
- }
-
- public String getSrid() {
- return srid;
- }
-
- public void setSrid(final String srid) {
- this.srid = srid;
- }
-
- public DynExprConstruct getValue() {
- return value;
- }
-
- public void setValue(final DynExprConstruct value) {
- this.value = value;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.java
deleted file mode 100644
index 68e5358..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/IsOfDeserializer.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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import java.math.BigInteger;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-public class IsOfDeserializer extends AbstractEdmDeserializer<IsOf> {
-
- @Override
- protected IsOf doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final IsOf isof = new IsOf();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Type".equals(jp.getCurrentName())) {
- isof.setType(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- isof.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- } else if ("MaxLength".equals(jp.getCurrentName())) {
- isof.setMaxLength(jp.nextTextValue());
- } else if ("Precision".equals(jp.getCurrentName())) {
- isof.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("Scale".equals(jp.getCurrentName())) {
- isof.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("SRID".equals(jp.getCurrentName())) {
- isof.setSrid(jp.nextTextValue());
- } else {
- isof.setValue(jp.readValueAs(DynExprConstructImpl.class));
- }
- }
- }
-
- return isof;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java
deleted file mode 100644
index be762a9..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElement.java
+++ /dev/null
@@ -1,49 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
-
-@JsonDeserialize(using = LabeledElementDeserializer.class)
-public class LabeledElement extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = 6938971787086282939L;
-
- private String name;
-
- private DynExprConstruct value;
-
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- public DynExprConstruct getValue() {
- return value;
- }
-
- public void setValue(final DynExprConstruct value) {
- this.value = value;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java
deleted file mode 100644
index 60d9c57..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementDeserializer.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-public class LabeledElementDeserializer extends AbstractEdmDeserializer<LabeledElement> {
-
- @Override
- protected LabeledElement doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final LabeledElement element = new LabeledElement();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- element.setName(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- element.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- } else {
- element.setValue(jp.readValueAs(DynExprConstructImpl.class));
- }
- }
- }
-
- return element;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementReference.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementReference.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementReference.java
deleted file mode 100644
index c6f3b35..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/LabeledElementReference.java
+++ /dev/null
@@ -1,25 +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.odata4.client.core.edm.v4.annotation;
-
-public class LabeledElementReference extends AbstractElOrAttrConstruct {
-
- private static final long serialVersionUID = 3649068436729494270L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NavigationPropertyPath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NavigationPropertyPath.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NavigationPropertyPath.java
deleted file mode 100644
index 8105b3e..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NavigationPropertyPath.java
+++ /dev/null
@@ -1,25 +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.odata4.client.core.edm.v4.annotation;
-
-public class NavigationPropertyPath extends AbstractElOrAttrConstruct {
-
- private static final long serialVersionUID = -8066400142504963043L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Null.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Null.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Null.java
deleted file mode 100644
index d6d6bb0..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Null.java
+++ /dev/null
@@ -1,28 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = NullDeserializer.class)
-public class Null extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = -3611384710172781951L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java
deleted file mode 100644
index 8d7e21e..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/NullDeserializer.java
+++ /dev/null
@@ -1,49 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-public class NullDeserializer extends AbstractEdmDeserializer<Null> {
-
- @Override
- protected Null doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final Null _null = new Null();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Annotation".equals(jp.getCurrentName())) {
- _null.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return _null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Path.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Path.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Path.java
deleted file mode 100644
index 8416a36..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Path.java
+++ /dev/null
@@ -1,25 +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.odata4.client.core.edm.v4.annotation;
-
-public class Path extends AbstractElOrAttrConstruct {
-
- private static final long serialVersionUID = -2551058493469292082L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyPath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyPath.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyPath.java
deleted file mode 100644
index 96288e2..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyPath.java
+++ /dev/null
@@ -1,25 +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.odata4.client.core.edm.v4.annotation;
-
-public class PropertyPath extends AbstractElOrAttrConstruct {
-
- private static final long serialVersionUID = 2328584735437885159L;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java
deleted file mode 100644
index 4411682..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValue.java
+++ /dev/null
@@ -1,49 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
-
-@JsonDeserialize(using = PropertyValueDeserializer.class)
-public class PropertyValue extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = 3081968466425707461L;
-
- private String property;
-
- private ExprConstruct value;
-
- public String getProperty() {
- return property;
- }
-
- public void setProperty(final String property) {
- this.property = property;
- }
-
- public ExprConstruct getValue() {
- return value;
- }
-
- public void setValue(final ExprConstruct value) {
- this.value = value;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java
deleted file mode 100644
index fd3dfae..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/PropertyValueDeserializer.java
+++ /dev/null
@@ -1,55 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-public class PropertyValueDeserializer extends AbstractEdmDeserializer<PropertyValue> {
-
- @Override
- protected PropertyValue doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final PropertyValue propValue = new PropertyValue();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Property".equals(jp.getCurrentName())) {
- propValue.setProperty(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- propValue.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- } else if (isAnnotationConstExprConstruct(jp)) {
- propValue.setValue(parseAnnotationConstExprConstruct(jp));
- } else {
- propValue.setValue(jp.readValueAs(DynExprConstructImpl.class));
- }
- }
- }
-
- return propValue;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Record.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Record.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Record.java
deleted file mode 100644
index 2bed70c..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/Record.java
+++ /dev/null
@@ -1,46 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-
-@JsonDeserialize(using = RecordDeserializer.class)
-public class Record extends AnnotatedDynExprConstruct {
-
- private static final long serialVersionUID = -2886526224721870304L;
-
- private String type;
-
- private final List<PropertyValue> propertyValues = new ArrayList<PropertyValue>();
-
- public String getType() {
- return type;
- }
-
- public void setType(final String type) {
- this.type = type;
- }
-
- public List<PropertyValue> getPropertyValues() {
- return propertyValues;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java
deleted file mode 100644
index dbd4567..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/RecordDeserializer.java
+++ /dev/null
@@ -1,53 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
-
-public class RecordDeserializer extends AbstractEdmDeserializer<Record> {
-
- @Override
- protected Record doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final Record record = new Record();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Tyoe".equals(jp.getCurrentName())) {
- record.setType(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- record.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- } else {
- record.getPropertyValues().add(jp.readValueAs(PropertyValue.class));
- }
- }
- }
-
- return record;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java
deleted file mode 100644
index eb32b16..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRef.java
+++ /dev/null
@@ -1,39 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
-
-@JsonDeserialize(using = UrlRefDeserializer.class)
-public class UrlRef extends DynExprConstructImpl {
-
- private static final long serialVersionUID = 3755101394647430897L;
-
- private ExprConstruct value;
-
- public ExprConstruct getValue() {
- return value;
- }
-
- public void setValue(final ExprConstruct value) {
- this.value = value;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRefDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRefDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRefDeserializer.java
deleted file mode 100644
index de91b7c..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/annotation/UrlRefDeserializer.java
+++ /dev/null
@@ -1,50 +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.odata4.client.core.edm.v4.annotation;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class UrlRefDeserializer extends AbstractEdmDeserializer<UrlRef> {
-
- @Override
- protected UrlRef doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final UrlRef urlref = new UrlRef();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if (isAnnotationConstExprConstruct(jp)) {
- urlref.setValue(parseAnnotationConstExprConstruct(jp));
- } else {
- urlref.setValue(jp.readValueAs( DynExprConstructImpl.class));
- }
- }
- }
-
- return urlref;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmType.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmType.java
new file mode 100644
index 0000000..48de560
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractEdmType.java
@@ -0,0 +1,262 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.odata4.client.api.data.EdmSimpleType;
+import org.apache.olingo.odata4.client.api.edm.xml.ComplexType;
+import org.apache.olingo.odata4.client.api.edm.EdmType;
+import org.apache.olingo.odata4.client.api.edm.EdmTypeNotFoundException;
+import org.apache.olingo.odata4.client.api.edm.xml.EntityType;
+import org.apache.olingo.odata4.client.api.edm.xml.EnumType;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
+
+/**
+ * Parse type information from metadata into semantic data.
+ */
+public abstract class AbstractEdmType implements EdmType {
+
+ private final String typeExpression;
+
+ private final String baseType;
+
+ private final String namespaceOrAlias;
+
+ private boolean collection;
+
+ private EdmSimpleType simpleType;
+
+ private EnumType enumType;
+
+ private ComplexType complexType;
+
+ private EntityType entityType;
+
+ /**
+ * Constructor.
+ *
+ * @param typeExpression type expression.
+ */
+ public AbstractEdmType(final String typeExpression) {
+ this(null, typeExpression);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param metadata metadata.
+ * @param typeExpression type expression.
+ */
+ public AbstractEdmType(final XMLMetadata metadata, final String typeExpression) {
+ this.typeExpression = typeExpression;
+
+ final int collectionStartIdx = typeExpression.indexOf("Collection(");
+ final int collectionEndIdx = typeExpression.lastIndexOf(')');
+ if (collectionStartIdx == -1) {
+ baseType = typeExpression;
+ } else {
+ if (collectionEndIdx == -1) {
+ throw new IllegalArgumentException("Malformed type: " + typeExpression);
+ }
+
+ this.collection = true;
+ baseType = typeExpression.substring(collectionStartIdx + 11, collectionEndIdx);
+ }
+
+ final int lastDotIdx = baseType.lastIndexOf('.');
+ if (lastDotIdx == -1) {
+ throw new IllegalArgumentException("Cannot find namespace or alias in " + typeExpression);
+ }
+ namespaceOrAlias = baseType.substring(0, lastDotIdx);
+ final String typeName = baseType.substring(lastDotIdx + 1);
+ if (StringUtils.isBlank(typeName)) {
+ throw new IllegalArgumentException("Null or empty type name in " + typeExpression);
+ }
+
+ if (namespaceOrAlias.equals(EdmSimpleType.namespace())) {
+ this.simpleType = EdmSimpleType.fromValue(EdmSimpleType.namespace() + "." + typeName);
+ } else if (metadata != null) {
+ if (!metadata.isNsOrAlias(namespaceOrAlias)) {
+ throw new IllegalArgumentException("Illegal namespace or alias: " + namespaceOrAlias);
+ }
+ final Schema schema = metadata.getSchema(namespaceOrAlias);
+
+ for (EnumType type : schema.getEnumTypes()) {
+ if (typeName.equals(type.getName())) {
+ this.enumType = type;
+ }
+ }
+ if (this.enumType == null) {
+ for (ComplexType type : schema.getComplexTypes()) {
+ if (typeName.equals(type.getName())) {
+ this.complexType = type;
+ }
+ }
+ if (this.complexType == null) {
+ for (EntityType type : schema.getEntityTypes()) {
+ if (typeName.equals(type.getName())) {
+ this.entityType = type;
+ }
+ }
+ }
+ }
+
+ if (!isSimpleType() && !isEnumType() && !isComplexType() && !isEntityType()) {
+ throw new IllegalArgumentException("Could not parse type information out of " + typeExpression);
+ }
+ }
+ }
+
+ /**
+ * Checks if is a collection.
+ *
+ * @return 'TRUE' if is a collection; 'FALSE' otherwise.
+ */
+ @Override
+ public final boolean isCollection() {
+ return this.collection;
+ }
+
+ /**
+ * Checks if is a simple type.
+ *
+ * @return 'TRUE' if is a simple type; 'FALSE' otherwise.
+ */
+ @Override
+ public final boolean isSimpleType() {
+ return this.simpleType != null;
+ }
+
+ /**
+ * Gets type as a simple type.
+ *
+ * @return simple type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not a simple type.
+ */
+ @Override
+ public final EdmSimpleType getSimpleType() {
+ if (!isSimpleType()) {
+ throw new EdmTypeNotFoundException(EdmSimpleType.class, this.typeExpression);
+ }
+
+ return this.simpleType;
+ }
+
+ /**
+ * Checks if is an enum type.
+ *
+ * @return 'TRUE' if is an enum type; 'FALSE' otherwise.
+ */
+ @Override
+ public final boolean isEnumType() {
+ return this.enumType != null;
+ }
+
+ /**
+ * Gets type as enum type.
+ *
+ * @return enum type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not an enum type.
+ */
+ @Override
+ public EnumType getEnumType() {
+ if (!isEnumType()) {
+ throw new EdmTypeNotFoundException(AbstractEnumType.class, this.typeExpression);
+ }
+
+ return this.enumType;
+ }
+
+ /**
+ * Checks if is a complex type.
+ *
+ * @return 'TRUE' if is a complex type; 'FALSE' otherwise.
+ */
+ @Override
+ public final boolean isComplexType() {
+ return this.complexType != null;
+ }
+
+ /**
+ * Gets type as complex type.
+ *
+ * @return complex type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not a complex type.
+ */
+ @Override
+ public ComplexType getComplexType() {
+ if (!isComplexType()) {
+ throw new EdmTypeNotFoundException(AbstractComplexType.class, this.typeExpression);
+ }
+
+ return this.complexType;
+ }
+
+ /**
+ * Checks if is an entity type.
+ *
+ * @return 'TRUE' if is an entity type; 'FALSE' otherwise.
+ */
+ @Override
+ public final boolean isEntityType() {
+ return this.entityType != null;
+ }
+
+ /**
+ * Gets type as entity type.
+ *
+ * @return entity type. An <tt>EdmTypeNotFoundException</tt> will be raised if it is not an entity type.
+ */
+ @Override
+ public EntityType getEntityType() {
+ if (!isEntityType()) {
+ throw new EdmTypeNotFoundException(AbstractEntityType.class, this.typeExpression);
+ }
+
+ return this.entityType;
+ }
+
+ /**
+ * Gets base type.
+ *
+ * @return base type.
+ */
+ @Override
+ public String getBaseType() {
+ return baseType;
+ }
+
+ /**
+ * Gets type expression.
+ *
+ * @return type expression.
+ */
+ @Override
+ public String getTypeExpression() {
+ return typeExpression;
+ }
+
+ /**
+ * Gets namespace or alias retrieved from the provided type expression.
+ *
+ * @return namespace or alias.
+ */
+ @Override
+ public String getNamespaceOrAlias() {
+ return namespaceOrAlias;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java
index c1b2f95..95c4c81 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractMember.java
@@ -29,7 +29,7 @@ public abstract class AbstractMember extends AbstractEdmItem implements Member {
private String name;
@JsonProperty("Value")
- private Integer value;
+ private String value;
@Override
public String getName() {
@@ -41,11 +41,11 @@ public abstract class AbstractMember extends AbstractEdmItem implements Member {
}
@Override
- public Integer getValue() {
+ public String getValue() {
return value;
}
- public void setValue(final Integer value) {
+ public void setValue(final String value) {
this.value = value;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java
index 66f9dea..89c15db 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractParameter.java
@@ -18,31 +18,25 @@
*/
package org.apache.olingo.odata4.client.core.edm.xml;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigInteger;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.apache.olingo.odata4.client.api.edm.xml.CommonParameter;
+@JsonDeserialize(using = ParameterDeserializer.class)
public abstract class AbstractParameter extends AbstractEdmItem implements CommonParameter {
private static final long serialVersionUID = -4305016554930334342L;
- @JsonProperty(value = "Name", required = true)
private String name;
- @JsonProperty(value = "Type", required = true)
private String type;
- @JsonProperty(value = "Nullable")
private boolean nullable = true;
- @JsonProperty("MaxLength")
- private String maxLength;
+ private Integer maxLength;
- @JsonProperty("Precision")
- private BigInteger precision;
+ private Integer precision;
- @JsonProperty("Scale")
- private BigInteger scale;
+ private Integer scale;
@Override
public String getName() {
@@ -75,32 +69,32 @@ public abstract class AbstractParameter extends AbstractEdmItem implements Commo
}
@Override
- public String getMaxLength() {
+ public Integer getMaxLength() {
return maxLength;
}
@Override
- public void setMaxLength(final String maxLength) {
+ public void setMaxLength(final Integer maxLength) {
this.maxLength = maxLength;
}
@Override
- public BigInteger getPrecision() {
+ public Integer getPrecision() {
return precision;
}
@Override
- public void setPrecision(final BigInteger precision) {
+ public void setPrecision(final Integer precision) {
this.precision = precision;
}
@Override
- public BigInteger getScale() {
+ public Integer getScale() {
return scale;
}
@Override
- public void setScale(final BigInteger scale) {
+ public void setScale(final Integer scale) {
this.scale = scale;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java
index 3f2754a..2535e23 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractProperty.java
@@ -18,53 +18,40 @@
*/
package org.apache.olingo.odata4.client.core.edm.xml;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigInteger;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.apache.olingo.odata4.client.api.edm.xml.CommonProperty;
import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
+@JsonDeserialize(using = PropertyDeserializer.class)
public abstract class AbstractProperty extends AbstractEdmItem implements CommonProperty {
private static final long serialVersionUID = -6004492361142315153L;
- @JsonProperty(value = "Name", required = true)
private String name;
- @JsonProperty(value = "Type", required = true)
private String type;
- @JsonProperty(value = "Nullable")
private boolean nullable = true;
- @JsonProperty(value = "DefaultValue")
private String defaultValue;
- @JsonProperty(value = "MaxLength")
- private String maxLength;
+ private Integer maxLength;
- @JsonProperty(value = "FixedLength")
private boolean fixedLength;
- @JsonProperty(value = "Precision")
- private BigInteger precision;
+ private Integer precision;
- @JsonProperty(value = "Scale")
- private BigInteger scale;
+ private Integer scale;
- @JsonProperty(value = "Unicode")
private boolean unicode = true;
- @JsonProperty(value = "Collation")
private String collation;
- @JsonProperty(value = "SRID")
private String srid;
- @JsonProperty(value = "ConcurrencyMode")
private ConcurrencyMode concurrencyMode;
- @JsonProperty("StoreGeneratedPattern")
private StoreGeneratedPattern storeGeneratedPattern = StoreGeneratedPattern.None;
@Override
@@ -108,12 +95,12 @@ public abstract class AbstractProperty extends AbstractEdmItem implements Common
}
@Override
- public String getMaxLength() {
+ public Integer getMaxLength() {
return maxLength;
}
@Override
- public void setMaxLength(final String maxLength) {
+ public void setMaxLength(final Integer maxLength) {
this.maxLength = maxLength;
}
@@ -128,22 +115,22 @@ public abstract class AbstractProperty extends AbstractEdmItem implements Common
}
@Override
- public BigInteger getPrecision() {
+ public Integer getPrecision() {
return precision;
}
@Override
- public void setPrecision(final BigInteger precision) {
+ public void setPrecision(final Integer precision) {
this.precision = precision;
}
@Override
- public BigInteger getScale() {
+ public Integer getScale() {
return scale;
}
@Override
- public void setScale(final BigInteger scale) {
+ public void setScale(final Integer scale) {
this.scale = scale;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractXMLMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractXMLMetadata.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractXMLMetadata.java
new file mode 100644
index 0000000..e052948
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/AbstractXMLMetadata.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.odata4.client.core.edm.xml;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.odata4.client.api.edm.xml.XMLMetadata;
+import org.apache.olingo.odata4.client.api.edm.xml.Edmx;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+
+/**
+ * Entry point for access information about EDM metadata.
+ */
+public abstract class AbstractXMLMetadata extends AbstractEdmItem implements XMLMetadata {
+
+ private static final long serialVersionUID = -1214173426671503187L;
+
+ protected final Edmx edmx;
+
+ protected final Map<String, Schema> schemaByNsOrAlias;
+
+ public AbstractXMLMetadata(final Edmx edmx) {
+ this.edmx = edmx;
+
+ this.schemaByNsOrAlias = new HashMap<String, Schema>();
+ for (Schema schema : edmx.getDataServices().getSchemas()) {
+ this.schemaByNsOrAlias.put(schema.getNamespace(), schema);
+ if (StringUtils.isNotBlank(schema.getAlias())) {
+ this.schemaByNsOrAlias.put(schema.getAlias(), schema);
+ }
+ }
+ }
+
+ /**
+ * Checks whether the given key is a valid namespace or alias in the EdM metadata document.
+ *
+ * @param key namespace or alias
+ * @return true if key is valid namespace or alias
+ */
+ @Override
+ public boolean isNsOrAlias(final String key) {
+ return this.schemaByNsOrAlias.keySet().contains(key);
+ }
+
+ /**
+ * Returns the Schema at the specified position in the EdM metadata document.
+ *
+ * @param index index of the Schema to return
+ * @return the Schema at the specified position in the EdM metadata document
+ */
+ @Override
+ public Schema getSchema(final int index) {
+ return this.edmx.getDataServices().getSchemas().get(index);
+ }
+
+ /**
+ * Returns the Schema with the specified key (namespace or alias) in the EdM metadata document.
+ *
+ * @param key namespace or alias
+ * @return the Schema with the specified key in the EdM metadata document
+ */
+ @Override
+ public Schema getSchema(final String key) {
+ return this.schemaByNsOrAlias.get(key);
+ }
+
+ /**
+ * Returns all Schema objects defined in the EdM metadata document.
+ *
+ * @return all Schema objects defined in the EdM metadata document
+ */
+ @Override
+ public List<? extends Schema> getSchemas() {
+ return this.edmx.getDataServices().getSchemas();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/ParameterDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/ParameterDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/ParameterDeserializer.java
new file mode 100644
index 0000000..e8bd47a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/ParameterDeserializer.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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.api.edm.xml.v3.ParameterMode;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
+
+public class ParameterDeserializer extends AbstractEdmDeserializer<AbstractParameter> {
+
+ @Override
+ protected AbstractParameter doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AbstractParameter parameter = ODataServiceVersion.V30 == client.getServiceVersion()
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.ParameterImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.ParameterImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ parameter.setName(jp.nextTextValue());
+ } else if ("Type".equals(jp.getCurrentName())) {
+ parameter.setType(jp.nextTextValue());
+ } else if ("Nullable".equals(jp.getCurrentName())) {
+ parameter.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("MaxLength".equals(jp.getCurrentName())) {
+ final String maxLenght = jp.nextTextValue();
+ parameter.setMaxLength(maxLenght.equalsIgnoreCase("max") ? Integer.MAX_VALUE : Integer.valueOf(maxLenght));
+ } else if ("Precision".equals(jp.getCurrentName())) {
+ parameter.setPrecision(Integer.valueOf(jp.nextTextValue()));
+ } else if ("Scale".equals(jp.getCurrentName())) {
+ parameter.setScale(Integer.valueOf(jp.nextTextValue()));
+ } else if ("Mode".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.ParameterImpl) parameter).
+ setMode(ParameterMode.valueOf(jp.nextTextValue()));
+ } else if ("SRID".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.ParameterImpl) parameter).setSrid(jp.nextTextValue());
+ }
+ }
+ }
+
+ return parameter;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyDeserializer.java
new file mode 100644
index 0000000..f45b510
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/PropertyDeserializer.java
@@ -0,0 +1,102 @@
+/*
+ * 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.odata4.client.core.edm.xml;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.commons.api.edm.constants.ConcurrencyMode;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmContentKind;
+import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.odata4.commons.api.edm.constants.StoreGeneratedPattern;
+
+public class PropertyDeserializer extends AbstractEdmDeserializer<AbstractProperty> {
+
+ @Override
+ protected AbstractProperty doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AbstractProperty property = ODataServiceVersion.V30 == client.getServiceVersion()
+ ? new org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl()
+ : new org.apache.olingo.odata4.client.core.edm.xml.v4.PropertyImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ property.setName(jp.nextTextValue());
+ } else if ("Type".equals(jp.getCurrentName())) {
+ property.setType(jp.nextTextValue());
+ } else if ("Nullable".equals(jp.getCurrentName())) {
+ property.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("DefaultValue".equals(jp.getCurrentName())) {
+ property.setDefaultValue(jp.nextTextValue());
+ } else if ("MaxLength".equals(jp.getCurrentName())) {
+ final String maxLenght = jp.nextTextValue();
+ property.setMaxLength(maxLenght.equalsIgnoreCase("max") ? Integer.MAX_VALUE : Integer.valueOf(maxLenght));
+ } else if ("FixedLength".equals(jp.getCurrentName())) {
+ property.setFixedLength(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Precision".equals(jp.getCurrentName())) {
+ property.setPrecision(Integer.valueOf(jp.nextTextValue()));
+ } else if ("Scale".equals(jp.getCurrentName())) {
+ property.setScale(Integer.valueOf(jp.nextTextValue()));
+ } else if ("Unicode".equals(jp.getCurrentName())) {
+ property.setUnicode(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Collation".equals(jp.getCurrentName())) {
+ property.setCollation(jp.nextTextValue());
+ } else if ("SRID".equals(jp.getCurrentName())) {
+ property.setSrid(jp.nextTextValue());
+ } else if ("ConcurrencyMode".equals(jp.getCurrentName())) {
+ property.setConcurrencyMode(ConcurrencyMode.valueOf(jp.nextTextValue()));
+ } else if ("StoreGeneratedPattern".equals(jp.getCurrentName())) {
+ property.setStoreGeneratedPattern(StoreGeneratedPattern.valueOf(jp.nextTextValue()));
+ } else if ("FC_SourcePath".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl) property).
+ setFcSourcePath(jp.nextTextValue());
+ } else if ("FC_TargetPath".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl) property).
+ setFcTargetPath(jp.nextTextValue());
+ } else if ("FC_ContentKind".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl) property).
+ setFcContentKind(EdmContentKind.valueOf(jp.nextTextValue()));
+ } else if ("FC_NsPrefix".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl) property).
+ setFcNSPrefix(jp.nextTextValue());
+ } else if ("FC_NsUri".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl) property).
+ setFcNSURI(jp.nextTextValue());
+ } else if ("FC_KeepInContent".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v3.PropertyImpl) property).
+ setFcKeepInContent(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ ((org.apache.olingo.odata4.client.core.edm.xml.v4.PropertyImpl) property).
+ setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ }
+ }
+ }
+
+ return property;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java
index d0a8559..0912b46 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/ParameterImpl.java
@@ -19,7 +19,6 @@
package org.apache.olingo.odata4.client.core.edm.xml.v3;
import org.apache.olingo.odata4.client.api.edm.xml.v3.ParameterMode;
-import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.olingo.odata4.client.api.edm.xml.v3.Parameter;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractParameter;
@@ -27,7 +26,6 @@ public class ParameterImpl extends AbstractParameter implements Parameter {
private static final long serialVersionUID = 7596724999614891358L;
- @JsonProperty("Mode")
private ParameterMode mode;
@Override
[16/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEnumType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEnumType.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEnumType.java
new file mode 100644
index 0000000..dd89349
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmEnumType.java
@@ -0,0 +1,205 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
+import org.apache.olingo.odata4.commons.api.edm.EdmMember;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveTypeException;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmInt64;
+
+public abstract class AbstractEdmEnumType extends EdmTypeImpl implements EdmEnumType {
+
+ private final boolean isFlags;
+
+ private final String uriPrefix;
+
+ private final String uriSuffix;
+
+ private List<String> memberNames;
+
+ private Map<String, EdmMember> members;
+
+ public AbstractEdmEnumType(final Edm edm, final FullQualifiedName fqn, final boolean isFlags) {
+ super(edm, fqn, EdmTypeKind.ENUM);
+
+ this.isFlags = isFlags;
+ this.uriPrefix = fqn.getFullQualifiedNameAsString() + '\'';
+ this.uriSuffix = "'";
+ }
+
+ protected abstract Collection<? extends EdmMember> getMembers();
+
+ @Override
+ public EdmMember getMember(final String name) {
+ if (members == null) {
+ members = new LinkedHashMap<String, EdmMember>();
+ for (final EdmMember member : getMembers()) {
+ members.put(member.getName(), member);
+ }
+ }
+ return members.get(name);
+ }
+
+ @Override
+ public List<String> getMemberNames() {
+ if (memberNames == null) {
+ memberNames = new ArrayList<String>();
+ for (final EdmMember member : getMembers()) {
+ memberNames.add(member.getName());
+ }
+ }
+ return memberNames;
+ }
+
+ @Override
+ public abstract EdmPrimitiveType getUnderlyingType();
+
+ @Override
+ public boolean isCompatible(final EdmPrimitiveType primitiveType) {
+ return equals(primitiveType);
+ }
+
+ @Override
+ public Class<?> getDefaultType() {
+ return getUnderlyingType().getDefaultType();
+ }
+
+ @Override
+ public boolean validate(final String value, final Boolean isNullable, final Integer maxLength,
+ final Integer precision, final Integer scale, final Boolean isUnicode) {
+
+ try {
+ valueOfString(value, isNullable, maxLength, precision, scale, isUnicode, getDefaultType());
+ return true;
+ } catch (final EdmPrimitiveTypeException e) {
+ return false;
+ }
+ }
+
+ private Long parseEnumValue(final String value) throws EdmPrimitiveTypeException {
+ Long result = null;
+ for (final String memberValue : value.split(",", isFlags ? -1 : 1)) {
+ Long memberValueLong = null;
+ for (final EdmMember member : getMembers()) {
+ if (member.getName().equals(memberValue) || member.getValue().equals(memberValue)) {
+ memberValueLong = Long.decode(member.getValue());
+ }
+ }
+ if (memberValueLong == null) {
+ throw new EdmPrimitiveTypeException(
+ "EdmPrimitiveTypeException.LITERAL_ILLEGAL_CONTENT.addContent(value)");
+ }
+ result = result == null ? memberValueLong : result | memberValueLong;
+ }
+ return result;
+ }
+
+ @Override
+ public <T> T valueOfString(final String value, final Boolean isNullable, final Integer maxLength,
+ final Integer precision, final Integer scale, final Boolean isUnicode, final Class<T> returnType)
+ throws EdmPrimitiveTypeException {
+
+ if (value == null) {
+ if (isNullable != null && !isNullable) {
+ throw new EdmPrimitiveTypeException("EdmPrimitiveTypeException.LITERAL_NULL_NOT_ALLOWED");
+ }
+ return null;
+ }
+
+ try {
+ return EdmInt64.convertNumber(parseEnumValue(value), returnType);
+ } catch (final IllegalArgumentException e) {
+ throw new EdmPrimitiveTypeException(
+ "EdmPrimitiveTypeException.LITERAL_UNCONVERTIBLE_TO_VALUE_TYPE.addContent(value, returnType), e");
+ } catch (final ClassCastException e) {
+ throw new EdmPrimitiveTypeException(
+ "EdmPrimitiveTypeException.VALUE_TYPE_NOT_SUPPORTED.addContent(returnType), e");
+ }
+ }
+
+ protected String constructEnumValue(final long value) throws EdmPrimitiveTypeException {
+ long remaining = value;
+ StringBuilder result = new StringBuilder();
+
+ for (final EdmMember member : getMembers()) {
+ final long memberValue = Long.parseLong(member.getValue());
+ if ((memberValue & remaining) == memberValue) {
+ if (result.length() > 0) {
+ result.append(',');
+ }
+ result.append(member.getName());
+ remaining ^= memberValue;
+ }
+ }
+
+ if (remaining != 0) {
+ throw new EdmPrimitiveTypeException(
+ "EdmPrimitiveTypeException.VALUE_ILLEGAL_CONTENT.addContent(value)");
+ }
+ return result.toString();
+ }
+
+ @Override
+ public String valueToString(final Object value, final Boolean isNullable, final Integer maxLength,
+ final Integer precision, final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException {
+
+ if (value == null) {
+ if (isNullable != null && !isNullable) {
+ throw new EdmPrimitiveTypeException("EdmPrimitiveTypeException.VALUE_NULL_NOT_ALLOWED");
+ }
+ return null;
+ }
+ if (value instanceof Byte || value instanceof Short || value instanceof Integer || value instanceof Long) {
+ return constructEnumValue(((Number) value).longValue());
+ } else {
+ throw new EdmPrimitiveTypeException(
+ "EdmPrimitiveTypeException.VALUE_TYPE_NOT_SUPPORTED.addContent(value.getClass())");
+ }
+ }
+
+ @Override
+ public String toUriLiteral(final String literal) {
+ return literal == null ? null
+ : uriPrefix.isEmpty() && uriSuffix.isEmpty() ? literal : uriPrefix + literal + uriSuffix;
+ }
+
+ @Override
+ public String fromUriLiteral(final String literal) throws EdmPrimitiveTypeException {
+ if (literal == null) {
+ return null;
+ } else if (uriPrefix.isEmpty() && uriSuffix.isEmpty()) {
+ return literal;
+ } else if (literal.length() >= uriPrefix.length() + uriSuffix.length()
+ && literal.startsWith(uriPrefix) && literal.endsWith(uriSuffix)) {
+ return literal.substring(uriPrefix.length(), literal.length() - uriSuffix.length());
+ } else {
+ throw new EdmPrimitiveTypeException("EdmPrimitiveTypeException.LITERAL_ILLEGAL_CONTENT.addContent(literal)");
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmImpl.java
index 29d9b04..34eba4b 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmImpl.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmImpl.java
@@ -65,7 +65,7 @@ public abstract class AbstractEdmImpl implements Edm {
private EdmServiceMetadata serviceMetadata;
private Map<String, String> aliasToNamespaceInfo;
-
+
@Override
public EdmEntityContainer getEntityContainer(final FullQualifiedName namespaceOrAliasFQN) {
final FullQualifiedName fqn = resolvePossibleAlias(namespaceOrAliasFQN);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmKeyPropertyRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmKeyPropertyRef.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmKeyPropertyRef.java
new file mode 100644
index 0000000..157dd73
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmKeyPropertyRef.java
@@ -0,0 +1,80 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmKeyPropertyRef;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmStructuredType;
+
+public abstract class AbstractEdmKeyPropertyRef implements EdmKeyPropertyRef {
+
+ private final EdmEntityType edmEntityType;
+
+ private EdmProperty property;
+
+ public AbstractEdmKeyPropertyRef(final EdmEntityType edmEntityType) {
+ this.edmEntityType = edmEntityType;
+ }
+
+ @Override
+ public abstract String getKeyPropertyName();
+
+ @Override
+ public abstract String getAlias();
+
+ @Override
+ public abstract String getPath();
+
+ @Override
+ public EdmProperty getProperty() {
+ if (property == null) {
+ if (getAlias() == null) {
+ property = edmEntityType.getStructuralProperty(getKeyPropertyName());
+ if (property == null) {
+ throw new EdmException("Invalid key property ref specified. Can´t find property with name: "
+ + getKeyPropertyName());
+ }
+ } else {
+ if (getPath() == null || getPath().isEmpty()) {
+ throw new EdmException("Alias but no path specified for propertyRef");
+ }
+ final String[] splitPath = getPath().split("/");
+ EdmStructuredType structType = edmEntityType;
+ for (int i = 0; i < splitPath.length - 1; i++) {
+ final EdmProperty _property = structType.getStructuralProperty(splitPath[i]);
+ if (_property == null) {
+ throw new EdmException("Invalid property ref specified. Can´t find property with name: " + splitPath[i]
+ + " at type: " + structType.getNamespace() + "." + structType.getName());
+ }
+ structType = (EdmStructuredType) _property.getType();
+ }
+ property = structType.getStructuralProperty(splitPath[splitPath.length - 1]);
+ if (property == null) {
+ throw new EdmException("Invalid property ref specified. Can´t find property with name: "
+ + splitPath[splitPath.length - 1] + " at type: " + structType.getNamespace() + "."
+ + structType.getName());
+ }
+ }
+ }
+
+ return property;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmNavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmNavigationProperty.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmNavigationProperty.java
new file mode 100644
index 0000000..3140ef7
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmNavigationProperty.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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmStructuredType;
+import org.apache.olingo.odata4.commons.api.edm.EdmType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+
+public abstract class AbstractEdmNavigationProperty extends EdmElementImpl implements EdmNavigationProperty {
+
+ private EdmEntityType typeImpl;
+
+ private EdmNavigationProperty partnerNavigationProperty;
+
+ public AbstractEdmNavigationProperty(final Edm edm, final String name) {
+ super(edm, name);
+ }
+
+ protected abstract FullQualifiedName getTypeFQN();
+
+ @Override
+ public EdmType getType() {
+ if (typeImpl == null) {
+ typeImpl = edm.getEntityType(getTypeFQN());
+ if (typeImpl == null) {
+ throw new EdmException("Cannot find type with name: " + getTypeFQN());
+ }
+ }
+ return typeImpl;
+ }
+
+ protected abstract String internatGetPartner();
+
+ @Override
+ public EdmNavigationProperty getPartner() {
+ if (partnerNavigationProperty == null) {
+ String partner = internatGetPartner();
+ if (partner != null) {
+ EdmStructuredType type = (EdmStructuredType) getType();
+ EdmNavigationProperty property = null;
+ final String[] split = partner.split("/");
+ for (String element : split) {
+ property = type.getNavigationProperty(element);
+ if (property == null) {
+ throw new EdmException("Cannot find property with name: " + element + " at type " + type.getName());
+ }
+ type = (EdmStructuredType) property.getType();
+ }
+ partnerNavigationProperty = property;
+ }
+ }
+ return partnerNavigationProperty;
+ }
+
+ public abstract String getReferencingPropertyName(String referencedPropertyName);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperation.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperation.java
new file mode 100644
index 0000000..933714f
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperation.java
@@ -0,0 +1,113 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmBindingTarget;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmOperation;
+import org.apache.olingo.odata4.commons.api.edm.EdmParameter;
+import org.apache.olingo.odata4.commons.api.edm.EdmReturnType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public abstract class AbstractEdmOperation extends EdmTypeImpl implements EdmOperation {
+
+ private final Map<String, EdmParameter> parameters = new LinkedHashMap<String, EdmParameter>();
+
+ private String entitySetPath;
+
+ private boolean isBound;
+
+ private EdmReturnType returnType;
+
+ private List<String> parameterNames;
+
+ protected AbstractEdmOperation(final Edm edm, final FullQualifiedName fqn, final EdmTypeKind kind) {
+ super(edm, fqn, kind);
+ }
+
+ protected void setParameters(final List<EdmParameter> _parameters) {
+ for (EdmParameter parameter : _parameters) {
+ parameters.put(parameter.getName(), parameter);
+ }
+ }
+
+ protected void setEntitySetPath(final String entitySetPath) {
+ this.entitySetPath = entitySetPath;
+ }
+
+ protected void setIsBound(final boolean isBound) {
+ this.isBound = isBound;
+ }
+
+ protected void setReturnType(final EdmReturnType returnType) {
+ this.returnType = returnType;
+ }
+
+ @Override
+ public EdmParameter getParameter(final String name) {
+ return parameters.get(name);
+ }
+
+ @Override
+ public List<String> getParameterNames() {
+ if (parameterNames == null) {
+ parameterNames = new ArrayList<String>(parameters.size());
+ for (String parameterName : parameters.keySet()) {
+ parameterNames.add(parameterName);
+ }
+ }
+ return parameterNames;
+ }
+
+ @Override
+ public EdmEntitySet getReturnedEntitySet(final EdmEntitySet bindingParameterEntitySet) {
+ EdmEntitySet returnedEntitySet = null;
+ if (bindingParameterEntitySet != null && entitySetPath != null) {
+ final EdmBindingTarget relatedBindingTarget = bindingParameterEntitySet.
+ getRelatedBindingTarget(entitySetPath);
+ if (relatedBindingTarget == null) {
+ throw new EdmException("Cannot find entity set with path: " + entitySetPath);
+ }
+ if (relatedBindingTarget instanceof EdmEntitySet) {
+ returnedEntitySet = (EdmEntitySet) relatedBindingTarget;
+ } else {
+ throw new EdmException("BindingTarget with name: " + relatedBindingTarget.getName() + " must be an entity set");
+ }
+ }
+ return returnedEntitySet;
+ }
+
+ @Override
+ public EdmReturnType getReturnType() {
+ return returnType;
+ }
+
+ @Override
+ public boolean isBound() {
+ return isBound;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperationImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperationImport.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperationImport.java
new file mode 100644
index 0000000..07bfb7c
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmOperationImport.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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmOperationImport;
+import org.apache.olingo.odata4.commons.api.edm.Target;
+
+public abstract class AbstractEdmOperationImport extends EdmNamedImpl implements EdmOperationImport {
+
+ protected final EdmEntityContainer container;
+
+ private final Target entitySet;
+
+ private EdmEntitySet returnedEntitySet;
+
+ public AbstractEdmOperationImport(final Edm edm, final EdmEntityContainer container, final String name,
+ final Target entitySet) {
+
+ super(edm, name);
+ this.container = container;
+ this.entitySet = entitySet;
+ }
+
+ @Override
+ public EdmEntitySet getReturnedEntitySet() {
+ if (entitySet != null && returnedEntitySet == null) {
+ EdmEntityContainer entityContainer = edm.getEntityContainer(entitySet.getEntityContainer());
+ if (entityContainer == null) {
+ throw new EdmException("Can´t find entity container with name: " + entitySet.getEntityContainer());
+ }
+ returnedEntitySet = entityContainer.getEntitySet(entitySet.getTargetName());
+ if (returnedEntitySet == null) {
+ throw new EdmException("Can´t find entity set with name: " + entitySet.getTargetName());
+ }
+ }
+ return returnedEntitySet;
+ }
+
+ @Override
+ public EdmEntityContainer getEntityContainer() {
+ return container;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmParameter.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmParameter.java
new file mode 100644
index 0000000..e4adb41
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmParameter.java
@@ -0,0 +1,87 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmMapping;
+import org.apache.olingo.odata4.commons.api.edm.EdmParameter;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.EdmType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+
+public abstract class AbstractEdmParameter extends EdmElementImpl implements EdmParameter {
+
+ private final FullQualifiedName paramType;
+
+ private EdmType typeImpl;
+
+ public AbstractEdmParameter(final Edm edm, final String name, final FullQualifiedName paramType) {
+ super(edm, name);
+ this.paramType = paramType;
+ }
+
+ @Override
+ public EdmType getType() {
+ if (typeImpl == null) {
+ if (EdmPrimitiveType.EDM_NAMESPACE.equals(paramType.getNamespace())) {
+ try {
+ typeImpl = EdmPrimitiveTypeKind.valueOf(paramType.getName()).getEdmPrimitiveTypeInstance();
+ } catch (IllegalArgumentException e) {
+ throw new EdmException("Cannot find type with name: " + paramType, e);
+ }
+ } else {
+ typeImpl = edm.getComplexType(paramType);
+ if (typeImpl == null) {
+ typeImpl = edm.getEntityType(paramType);
+ if (typeImpl == null) {
+ typeImpl = edm.getEnumType(paramType);
+ if (typeImpl == null) {
+ typeImpl = edm.getTypeDefinition(paramType);
+ if (typeImpl == null) {
+ throw new EdmException("Cannot find type with name: " + paramType);
+ }
+ }
+ }
+ }
+ }
+ }
+ return typeImpl;
+ }
+
+ @Override
+ public abstract boolean isCollection();
+
+ @Override
+ public abstract EdmMapping getMapping();
+
+ @Override
+ public abstract Boolean isNullable();
+
+ @Override
+ public abstract Integer getMaxLength();
+
+ @Override
+ public abstract Integer getPrecision();
+
+ @Override
+ public abstract Integer getScale();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmProperty.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmProperty.java
new file mode 100644
index 0000000..ba28f6c
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmProperty.java
@@ -0,0 +1,70 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+
+public abstract class AbstractEdmProperty extends EdmElementImpl implements EdmProperty {
+
+ private EdmType propertyType;
+
+ public AbstractEdmProperty(final Edm edm, final String name) {
+ super(edm, name);
+ }
+
+ protected abstract FullQualifiedName getTypeFQN();
+
+ @Override
+ public boolean isPrimitive() {
+ return EdmPrimitiveType.EDM_NAMESPACE.equals(getTypeFQN().getNamespace());
+ }
+
+ @Override
+ public EdmType getType() {
+ if (propertyType == null) {
+ final FullQualifiedName typeName = getTypeFQN();
+ if (isPrimitive()) {
+ try {
+ propertyType = EdmPrimitiveTypeKind.valueOf(typeName.getName()).getEdmPrimitiveTypeInstance();
+ } catch (IllegalArgumentException e) {
+ throw new EdmException("Cannot find type with name: " + typeName, e);
+ }
+ } else {
+ propertyType = edm.getComplexType(typeName);
+ if (propertyType == null) {
+ propertyType = edm.getEnumType(typeName);
+ if (propertyType == null) {
+ propertyType = edm.getTypeDefinition(typeName);
+ if (propertyType == null) {
+ throw new EdmException("Cannot find type with name: " + typeName);
+ }
+ }
+ }
+ }
+ }
+
+ return propertyType;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmReturnType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmReturnType.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmReturnType.java
new file mode 100644
index 0000000..7f2fb39
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmReturnType.java
@@ -0,0 +1,85 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.EdmReturnType;
+import org.apache.olingo.odata4.commons.api.edm.EdmType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+
+public abstract class AbstractEdmReturnType implements EdmReturnType {
+
+ private final Edm edm;
+
+ private final FullQualifiedName typeName;
+
+ private EdmType typeImpl;
+
+ public AbstractEdmReturnType(final Edm edm, final FullQualifiedName typeName) {
+ this.edm = edm;
+ this.typeName = typeName;
+ }
+
+ @Override
+ public EdmType getType() {
+ if (typeImpl == null) {
+ if (EdmPrimitiveType.EDM_NAMESPACE.equals(typeName.getNamespace())) {
+ try {
+ typeImpl = EdmPrimitiveTypeKind.valueOf(typeName.getName()).getEdmPrimitiveTypeInstance();
+ } catch (IllegalArgumentException e) {
+ throw new EdmException("Cannot find type with name: " + typeName, e);
+ }
+ } else {
+ typeImpl = edm.getComplexType(typeName);
+ if (typeImpl == null) {
+ typeImpl = edm.getEntityType(typeName);
+ if (typeImpl == null) {
+ typeImpl = edm.getEnumType(typeName);
+ if (typeImpl == null) {
+ typeImpl = edm.getTypeDefinition(typeName);
+ if (typeImpl == null) {
+ throw new EdmException("Cant find type with name: " + typeName);
+ }
+ }
+ }
+ }
+ }
+ }
+ return typeImpl;
+ }
+
+ @Override
+ public abstract Boolean isNullable();
+
+ @Override
+ public abstract Integer getMaxLength();
+
+ @Override
+ public abstract Integer getPrecision();
+
+ @Override
+ public abstract Integer getScale();
+
+ @Override
+ public abstract boolean isCollection();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmStructuredType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmStructuredType.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmStructuredType.java
new file mode 100644
index 0000000..2a3df7c
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmStructuredType.java
@@ -0,0 +1,128 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmElement;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmStructuredType;
+import org.apache.olingo.odata4.commons.api.edm.EdmType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public abstract class AbstractEdmStructuredType extends EdmTypeImpl implements EdmStructuredType {
+
+ protected EdmStructuredType baseType;
+
+ private List<String> propertyNames;
+
+ private List<String> navigationPropertyNames;
+
+ public AbstractEdmStructuredType(final Edm edm, final FullQualifiedName fqn, final EdmTypeKind kind,
+ final FullQualifiedName baseTypeName) {
+
+ super(edm, fqn, kind);
+ }
+
+ protected abstract EdmStructuredType buildBaseType(FullQualifiedName baseTypeName);
+
+ protected abstract Map<String, EdmProperty> getProperties();
+
+ protected abstract Map<String, EdmNavigationProperty> getNavigationProperties();
+
+ @Override
+ public List<String> getPropertyNames() {
+ if (propertyNames == null) {
+ propertyNames = new ArrayList<String>();
+ if (baseType != null) {
+ propertyNames.addAll(baseType.getPropertyNames());
+ }
+ propertyNames.addAll(getProperties().keySet());
+ }
+ return propertyNames;
+ }
+
+ @Override
+ public List<String> getNavigationPropertyNames() {
+ if (navigationPropertyNames == null) {
+ navigationPropertyNames = new ArrayList<String>();
+ if (baseType != null) {
+ navigationPropertyNames.addAll(baseType.getNavigationPropertyNames());
+ }
+ navigationPropertyNames.addAll(getNavigationProperties().keySet());
+ }
+ return navigationPropertyNames;
+ }
+
+ @Override
+ public EdmElement getProperty(final String name) {
+ EdmElement property = getStructuralProperty(name);
+ if (property == null) {
+ property = getNavigationProperty(name);
+ }
+ return property;
+ }
+
+ @Override
+ public EdmProperty getStructuralProperty(final String name) {
+ EdmProperty property = null;
+ if (baseType != null) {
+ property = baseType.getStructuralProperty(name);
+ }
+ if (property == null) {
+ property = getProperties().get(name);
+ }
+ return property;
+ }
+
+ @Override
+ public EdmNavigationProperty getNavigationProperty(final String name) {
+ EdmNavigationProperty property = null;
+ if (baseType != null) {
+ property = baseType.getNavigationProperty(name);
+ }
+ if (property == null) {
+ property = getNavigationProperties().get(name);
+ }
+ return property;
+ }
+
+ @Override
+ public boolean compatibleTo(final EdmType targetType) {
+ EdmStructuredType sourceType = this;
+ if (targetType == null) {
+ throw new EdmException("Target type must not be null");
+ }
+ while (!sourceType.getName().equals(targetType.getName())
+ || !sourceType.getNamespace().equals(targetType.getNamespace())) {
+
+ sourceType = sourceType.getBaseType();
+ if (sourceType == null) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmTypeDefinition.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmTypeDefinition.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmTypeDefinition.java
new file mode 100644
index 0000000..6a4c03a
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/AbstractEdmTypeDefinition.java
@@ -0,0 +1,107 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveTypeException;
+import org.apache.olingo.odata4.commons.api.edm.EdmTypeDefinition;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public abstract class AbstractEdmTypeDefinition extends EdmNamedImpl implements EdmTypeDefinition {
+
+ private final String namespace;
+
+ public AbstractEdmTypeDefinition(final Edm edm, final FullQualifiedName typeDefinitionName) {
+ super(edm, typeDefinitionName.getName());
+ this.namespace = typeDefinitionName.getNamespace();
+ }
+
+ @Override
+ public abstract EdmPrimitiveType getUnderlyingType();
+
+ @Override
+ public boolean isCompatible(final EdmPrimitiveType primitiveType) {
+ return getUnderlyingType().isCompatible(primitiveType);
+ }
+
+ @Override
+ public Class<?> getDefaultType() {
+ return getUnderlyingType().getDefaultType();
+ }
+
+ @Override
+ public boolean validate(final String value, final Boolean isNullable, final Integer maxLength,
+ final Integer precision, final Integer scale,
+ final Boolean isUnicode) {
+
+ return getUnderlyingType().validate(value, isNullable, maxLength, precision, scale, isUnicode);
+ }
+
+ @Override
+ public <T> T valueOfString(final String value, final Boolean isNullable, final Integer maxLength,
+ final Integer precision, final Integer scale,
+ final Boolean isUnicode, final Class<T> returnType) throws EdmPrimitiveTypeException {
+
+ return getUnderlyingType().
+ valueOfString(value, isNullable, maxLength, precision, scale, isUnicode, returnType);
+ }
+
+ @Override
+ public String valueToString(final Object value, final Boolean isNullable, final Integer maxLength,
+ final Integer precision, final Integer scale,
+ final Boolean isUnicode) throws EdmPrimitiveTypeException {
+
+ return getUnderlyingType().valueToString(value, isNullable, maxLength, precision, scale, isUnicode);
+ }
+
+ @Override
+ public String toUriLiteral(final String literal) {
+ return getUnderlyingType().toUriLiteral(literal);
+ }
+
+ @Override
+ public String fromUriLiteral(final String literal) throws EdmPrimitiveTypeException {
+ return getUnderlyingType().fromUriLiteral(literal);
+ }
+
+ @Override
+ public String getNamespace() {
+ return namespace;
+ }
+
+ @Override
+ public EdmTypeKind getKind() {
+ return EdmTypeKind.DEFINITION;
+ }
+
+ @Override
+ public abstract Integer getMaxLength();
+
+ @Override
+ public abstract Integer getPrecision();
+
+ @Override
+ public abstract Integer getScale();
+
+ @Override
+ public abstract Boolean isUnicode();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmActionImportInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmActionImportInfoImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmActionImportInfoImpl.java
new file mode 100644
index 0000000..4e60a7f
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmActionImportInfoImpl.java
@@ -0,0 +1,45 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.net.URI;
+import org.apache.olingo.odata4.commons.api.edm.EdmActionImportInfo;
+
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+
+public class EdmActionImportInfoImpl extends EdmOperationImportInfoImpl implements EdmActionImportInfo {
+
+ private String actionImportName;
+
+ public EdmActionImportInfoImpl(final String entityContainerName, final String actionImportName) {
+ super(entityContainerName);
+ this.actionImportName = actionImportName;
+ }
+
+ @Override
+ public String getActionImportName() {
+ return actionImportName;
+ }
+
+ @Override
+ public URI getActionImportUri() {
+ throw new EdmException("Not yet implemented");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmElementImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmElementImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmElementImpl.java
new file mode 100644
index 0000000..d931853
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmElementImpl.java
@@ -0,0 +1,29 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmElement;
+
+public abstract class EdmElementImpl extends EdmNamedImpl implements EdmElement {
+
+ public EdmElementImpl(final Edm edm, final String name) {
+ super(edm, name);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmEntitySetInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmEntitySetInfoImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmEntitySetInfoImpl.java
new file mode 100644
index 0000000..768960a
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmEntitySetInfoImpl.java
@@ -0,0 +1,52 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.net.URI;
+
+import org.apache.olingo.odata4.commons.api.edm.EdmEntitySetInfo;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+
+public class EdmEntitySetInfoImpl implements EdmEntitySetInfo {
+
+ private final String entityContainerName;
+
+ private final String entitySetName;
+
+ public EdmEntitySetInfoImpl(final String entityContainerName, final String entitySetName) {
+ this.entityContainerName = entityContainerName;
+ this.entitySetName = entitySetName;
+ }
+
+ @Override
+ public String getEntityContainerName() {
+ return entityContainerName;
+ }
+
+ @Override
+ public String getEntitySetName() {
+ return entitySetName;
+ }
+
+ @Override
+ public URI getEntitySetUri() {
+ throw new EdmException("Not yet implemented");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmFunctionImportInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmFunctionImportInfoImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmFunctionImportInfoImpl.java
new file mode 100644
index 0000000..7facfe1
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmFunctionImportInfoImpl.java
@@ -0,0 +1,45 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.net.URI;
+
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImportInfo;
+
+public class EdmFunctionImportInfoImpl extends EdmOperationImportInfoImpl implements EdmFunctionImportInfo {
+
+ private String functionImportName;
+
+ public EdmFunctionImportInfoImpl(final String entityContainerName, final String functionImportName) {
+ super(entityContainerName);
+ this.functionImportName = functionImportName;
+ }
+
+ @Override
+ public String getFunctionImportName() {
+ return functionImportName;
+ }
+
+ @Override
+ public URI getFunctionImportUri() {
+ throw new EdmException("Not yet implemented");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmMemberImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmMemberImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmMemberImpl.java
new file mode 100644
index 0000000..7e6c998
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmMemberImpl.java
@@ -0,0 +1,38 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmMember;
+
+public class EdmMemberImpl extends EdmNamedImpl implements EdmMember {
+
+ private final String value;
+
+ public EdmMemberImpl(final Edm edm, final String name, final String value) {
+ super(edm, name);
+ this.value = value;
+ }
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmNamedImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmNamedImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmNamedImpl.java
new file mode 100644
index 0000000..5f0ac2c
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmNamedImpl.java
@@ -0,0 +1,40 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmNamed;
+
+public abstract class EdmNamedImpl implements EdmNamed {
+
+ protected final Edm edm;
+
+ private final String name;
+
+ public EdmNamedImpl(final Edm edm, final String name) {
+ this.edm = edm;
+ this.name = name;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmOperationImportInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmOperationImportInfoImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmOperationImportInfoImpl.java
new file mode 100644
index 0000000..334669b
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmOperationImportInfoImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.EdmOperationImportInfo;
+
+public abstract class EdmOperationImportInfoImpl implements EdmOperationImportInfo {
+
+ protected String entityContainerName;
+
+ public EdmOperationImportInfoImpl(final String entityContainerName) {
+ this.entityContainerName = entityContainerName;
+ }
+
+ @Override
+ public String getEntityContainerName() {
+ return this.entityContainerName;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmSingletonInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmSingletonInfoImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmSingletonInfoImpl.java
new file mode 100644
index 0000000..6cb8a26
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmSingletonInfoImpl.java
@@ -0,0 +1,52 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.net.URI;
+
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.EdmSingletonInfo;
+
+public class EdmSingletonInfoImpl implements EdmSingletonInfo {
+
+ private final String entityContainerName;
+
+ private final String singletonName;
+
+ public EdmSingletonInfoImpl(final String entityContainerName, final String singletonName) {
+ this.entityContainerName = entityContainerName;
+ this.singletonName = singletonName;
+ }
+
+ @Override
+ public String getEntityContainerName() {
+ return entityContainerName;
+ }
+
+ @Override
+ public String getSingletonName() {
+ return singletonName;
+ }
+
+ @Override
+ public URI getEntitySetUri() {
+ throw new EdmException("Not yet implemented");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmStructuredTypeHelper.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmStructuredTypeHelper.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmStructuredTypeHelper.java
new file mode 100644
index 0000000..8b732aa
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmStructuredTypeHelper.java
@@ -0,0 +1,30 @@
+/*
+ * 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.odata4.commons.core.edm;
+
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+
+public interface EdmStructuredTypeHelper {
+
+ Map<String, EdmProperty> getProperties();
+
+ Map<String, EdmNavigationProperty> getNavigationProperties();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmTypeImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmTypeImpl.java
new file mode 100644
index 0000000..c2f635a
--- /dev/null
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/EdmTypeImpl.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.odata4.commons.core.edm;
+
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+
+public class EdmTypeImpl extends EdmNamedImpl implements EdmType {
+
+ protected final FullQualifiedName fqn;
+
+ protected final EdmTypeKind kind;
+
+ public EdmTypeImpl(final Edm edm, final FullQualifiedName fqn, final EdmTypeKind kind) {
+ super(edm, fqn.getName());
+ this.fqn = fqn;
+ this.kind = kind;
+ }
+
+ @Override
+ public String getNamespace() {
+ return fqn.getNamespace();
+ }
+
+ @Override
+ public EdmTypeKind getKind() {
+ return kind;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/primitivetype/EdmPrimitiveTypeKind.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/primitivetype/EdmPrimitiveTypeKind.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/primitivetype/EdmPrimitiveTypeKind.java
index 88f4379..2b0b08f 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/primitivetype/EdmPrimitiveTypeKind.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/primitivetype/EdmPrimitiveTypeKind.java
@@ -79,4 +79,20 @@ public enum EdmPrimitiveTypeKind {
throw new RuntimeException("Wrong type:" + this);
}
}
+
+ /**
+ * Gets <tt>EdmPrimitiveTypeKind</tt> from a full string (e.g. 'Edm.Int32').
+ *
+ * @param value string value type.
+ * @return <tt>EdmPrimitiveTypeKind</tt> object.
+ */
+ public static EdmPrimitiveTypeKind fromString(final String value) {
+ final String noNsValue = value.substring(4);
+ for (EdmPrimitiveTypeKind edmSimpleType : EdmPrimitiveTypeKind.values()) {
+ if (edmSimpleType.name().equals(noNsValue)) {
+ return edmSimpleType;
+ }
+ }
+ throw new IllegalArgumentException(value);
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ActionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ActionImport.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ActionImport.java
index c9dd8c1..9311094 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ActionImport.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ActionImport.java
@@ -19,6 +19,7 @@
package org.apache.olingo.odata4.server.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.Target;
public class ActionImport extends OperationImport {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ComplexType.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ComplexType.java
index 6e37a87..4857b37 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ComplexType.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/ComplexType.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-public class ComplexType extends StructuralType {
+public class ComplexType extends StructuredType {
@Override
public ComplexType setName(final String name) {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/EntityType.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/EntityType.java
index 2265cff..dec7584 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/EntityType.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/EntityType.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-public class EntityType extends StructuralType {
+public class EntityType extends StructuredType {
private List<PropertyRef> key;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/FunctionImport.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/FunctionImport.java
index b403bd1..6b82bbe 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/FunctionImport.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/FunctionImport.java
@@ -19,6 +19,7 @@
package org.apache.olingo.odata4.server.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.Target;
public class FunctionImport extends OperationImport {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/NavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/NavigationPropertyBinding.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/NavigationPropertyBinding.java
index 2980a20..0e82a3c 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/NavigationPropertyBinding.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/NavigationPropertyBinding.java
@@ -18,6 +18,8 @@
*/
package org.apache.olingo.odata4.server.api.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Target;
+
public class NavigationPropertyBinding {
private String path;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/OperationImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/OperationImport.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/OperationImport.java
index e8850df..bd845bd 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/OperationImport.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/OperationImport.java
@@ -18,9 +18,12 @@
*/
package org.apache.olingo.odata4.server.api.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Target;
+
public abstract class OperationImport {
protected String name;
+
protected Target entitySet;
// Annotations?
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuralType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuralType.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuralType.java
deleted file mode 100644
index 1d48b3b..0000000
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuralType.java
+++ /dev/null
@@ -1,93 +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.odata4.server.api.edm.provider;
-
-import java.util.List;
-
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-
-public abstract class StructuralType {
-
- protected String name;
-
- protected boolean isOpenType;
-
- protected FullQualifiedName baseType;
-
- protected boolean isAbstract;
-
- protected List<Property> properties;
-
- protected List<NavigationProperty> navigationProperties;
-
- // What about mapping and annotations?
- public String getName() {
- return name;
- }
-
- public StructuralType setName(final String name) {
- this.name = name;
- return this;
- }
-
- public boolean isOpenType() {
- return isOpenType;
- }
-
- public StructuralType setOpenType(final boolean isOpenType) {
- this.isOpenType = isOpenType;
- return this;
- }
-
- public FullQualifiedName getBaseType() {
- return baseType;
- }
-
- public StructuralType setBaseType(final FullQualifiedName baseType) {
- this.baseType = baseType;
- return this;
- }
-
- public boolean isAbstract() {
- return isAbstract;
- }
-
- public StructuralType setAbstract(final boolean isAbstract) {
- this.isAbstract = isAbstract;
- return this;
- }
-
- public List<Property> getProperties() {
- return properties;
- }
-
- public StructuralType setProperties(final List<Property> properties) {
- this.properties = properties;
- return this;
- }
-
- public List<NavigationProperty> getNavigationProperties() {
- return navigationProperties;
- }
-
- public StructuralType setNavigationProperties(final List<NavigationProperty> navigationProperties) {
- this.navigationProperties = navigationProperties;
- return this;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuredType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuredType.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuredType.java
new file mode 100644
index 0000000..f91e55e
--- /dev/null
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/StructuredType.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.odata4.server.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+
+public abstract class StructuredType {
+
+ protected String name;
+
+ protected boolean isOpenType;
+
+ protected FullQualifiedName baseType;
+
+ protected boolean isAbstract;
+
+ protected List<Property> properties;
+
+ protected List<NavigationProperty> navigationProperties;
+
+ // What about mapping and annotations?
+ public String getName() {
+ return name;
+ }
+
+ public StructuredType setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public boolean isOpenType() {
+ return isOpenType;
+ }
+
+ public StructuredType setOpenType(final boolean isOpenType) {
+ this.isOpenType = isOpenType;
+ return this;
+ }
+
+ public FullQualifiedName getBaseType() {
+ return baseType;
+ }
+
+ public StructuredType setBaseType(final FullQualifiedName baseType) {
+ this.baseType = baseType;
+ return this;
+ }
+
+ public boolean isAbstract() {
+ return isAbstract;
+ }
+
+ public StructuredType setAbstract(final boolean isAbstract) {
+ this.isAbstract = isAbstract;
+ return this;
+ }
+
+ public List<Property> getProperties() {
+ return properties;
+ }
+
+ public StructuredType setProperties(final List<Property> properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ public List<NavigationProperty> getNavigationProperties() {
+ return navigationProperties;
+ }
+
+ public StructuredType setNavigationProperties(final List<NavigationProperty> navigationProperties) {
+ this.navigationProperties = navigationProperties;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/Target.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/Target.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/Target.java
deleted file mode 100644
index 57c400d..0000000
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/edm/provider/Target.java
+++ /dev/null
@@ -1,47 +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.odata4.server.api.edm.provider;
-
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-
-public class Target {
-
- private String targetName;
-
- private FullQualifiedName entityContainer;
-
- public String getTargetName() {
- return targetName;
- }
-
- public Target setTargetName(final String targetPathName) {
- targetName = targetPathName;
- return this;
- }
-
- public FullQualifiedName getEntityContainer() {
- return entityContainer;
- }
-
- public Target setEntityContainer(final FullQualifiedName entityContainer) {
- this.entityContainer = entityContainer;
- return this;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImpl.java
index e669350..6f5d6fd 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmAction;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
@@ -25,7 +26,11 @@ import org.apache.olingo.odata4.server.api.edm.provider.Action;
public class EdmActionImpl extends EdmOperationImpl implements EdmAction {
- public EdmActionImpl(final EdmProviderImpl edm, final FullQualifiedName name, final Action action) {
+ public static EdmActionImpl getInstance(final Edm edm, final FullQualifiedName name, final Action action) {
+ return EdmOperationImpl.getInstance(new EdmActionImpl(edm, name, action));
+ }
+
+ private EdmActionImpl(final Edm edm, final FullQualifiedName name, final Action action) {
super(edm, name, action, EdmTypeKind.ACTION);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImpl.java
index 34aca6d..691842d 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmActionImportImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmAction;
import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
@@ -27,9 +28,10 @@ public class EdmActionImportImpl extends EdmOperationImportImpl implements EdmAc
private final ActionImport actionImport;
- public EdmActionImportImpl(final EdmProviderImpl edm, final String name, final EdmEntityContainer container,
- final ActionImport actionImport) {
- super(edm, name, container, actionImport);
+ public EdmActionImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final ActionImport actionImport) {
+
+ super(edm, container, name, actionImport);
this.actionImport = actionImport;
}
[12/22] git commit: White noise: formatting
Posted by il...@apache.org.
White noise: formatting
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/04855436
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/04855436
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/04855436
Branch: refs/heads/olingo169
Commit: 04855436611f2aa511da8766537a769ce9a9c381
Parents: cdb520e
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Feb 28 09:51:19 2014 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Feb 28 09:51:19 2014 +0100
----------------------------------------------------------------------
.../src/test/resources/minimalEntity.json | 35 +-
.../olingo/odata4/client/core/v3/metadata.xml | 701 ++++++++++++++++++-
2 files changed, 720 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/04855436/odata4-lib/odata4-client-core/src/test/resources/minimalEntity.json
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/test/resources/minimalEntity.json b/odata4-lib/odata4-client-core/src/test/resources/minimalEntity.json
index abd9b9e..a6bd671 100644
--- a/odata4-lib/odata4-client-core/src/test/resources/minimalEntity.json
+++ b/odata4-lib/odata4-client-core/src/test/resources/minimalEntity.json
@@ -1,16 +1,21 @@
{
-"odata.context": "http://host/service/$metadata#Customers/$entity", "odata.id": "Customers('ALFKI')",
-"odata.etag": "W/\"MjAxMy0wNS0yN1QxMTo1OFo=\"",
-"odata.editLink": "Customers('ALFKI')", "Orders@odata.navigationLink": "Customers('ALFKI')/Orders", "Orders@odata.associationLink": "Customers('ALFKI')/Orders/$ref", "ID": "ALFKI",
-"CompanyName": "Alfreds Futterkiste",
-"ContactName": "Maria Anders",
-"ContactTitle": "Sales Representative",
-"Phone": "030-0074321",
-"Fax": "030-0076545",
-"Address": {
-"Street": "Obere Str. 57",
-"City": "Berlin",
-"Region": null,
-"PostalCode": "D-12209",
-"Country@odata.navigationLink": "Customers('ALFKI')/Address/Country", "Country@odata.associationLink":"Customers('ALFKI')/Address/Country/$ref",
-} }
\ No newline at end of file
+ "odata.context": "http://host/service/$metadata#Customers/$entity", "odata.id": "Customers('ALFKI')",
+ "odata.etag": "W/\"MjAxMy0wNS0yN1QxMTo1OFo=\"",
+ "odata.editLink": "Customers('ALFKI')",
+ "Orders@odata.navigationLink": "Customers('ALFKI')/Orders",
+ "Orders@odata.associationLink": "Customers('ALFKI')/Orders/$ref",
+ "ID": "ALFKI",
+ "CompanyName": "Alfreds Futterkiste",
+ "ContactName": "Maria Anders",
+ "ContactTitle": "Sales Representative",
+ "Phone": "030-0074321",
+ "Fax": "030-0076545",
+ "Address": {
+ "Street": "Obere Str. 57",
+ "City": "Berlin",
+ "Region": null,
+ "PostalCode": "D-12209",
+ "Country@odata.navigationLink": "Customers('ALFKI')/Address/Country",
+ "Country@odata.associationLink": "Customers('ALFKI')/Address/Country/$ref"
+ }
+}
[15/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmBindingTargetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmBindingTargetImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmBindingTargetImpl.java
index cd92170..be8b35b 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmBindingTargetImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmBindingTargetImpl.java
@@ -18,51 +18,55 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import java.util.Iterator;
import java.util.List;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmBindingTarget;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmBindingTarget;
import org.apache.olingo.odata4.server.api.edm.provider.BindingTarget;
import org.apache.olingo.odata4.server.api.edm.provider.NavigationPropertyBinding;
-import org.apache.olingo.odata4.server.api.edm.provider.Target;
+import org.apache.olingo.odata4.commons.api.edm.Target;
-public abstract class EdmBindingTargetImpl extends EdmNamedImpl implements EdmBindingTarget {
+public abstract class EdmBindingTargetImpl extends AbstractEdmBindingTarget {
- private BindingTarget target;
- private EdmEntityContainer container;
+ private final BindingTarget target;
- public EdmBindingTargetImpl(final EdmProviderImpl edm, final EdmEntityContainer container,
- final BindingTarget target) {
- super(edm, target.getName());
- this.container = container;
+ public EdmBindingTargetImpl(final Edm edm, final EdmEntityContainer container, final BindingTarget target) {
+ super(edm, container, target.getName(), target.getType());
this.target = target;
}
@Override
public EdmBindingTarget getRelatedBindingTarget(final String path) {
EdmBindingTarget bindingTarget = null;
- List<NavigationPropertyBinding> navigationPropertyBindings = target.getNavigationPropertyBindings();
+
+ final List<NavigationPropertyBinding> navigationPropertyBindings = target.getNavigationPropertyBindings();
if (navigationPropertyBindings != null) {
- for (NavigationPropertyBinding binding : navigationPropertyBindings) {
+ boolean found = false;
+ for (final Iterator<NavigationPropertyBinding> itor = navigationPropertyBindings.iterator();
+ itor.hasNext() && !found;) {
+
+ final NavigationPropertyBinding binding = itor.next();
if (binding.getPath().equals(path)) {
- Target providerTarget = binding.getTarget();
- EdmEntityContainer entityContainer = edm.getEntityContainer(providerTarget.getEntityContainer());
+ final Target providerTarget = binding.getTarget();
+ final EdmEntityContainer entityContainer = edm.getEntityContainer(providerTarget.getEntityContainer());
if (entityContainer == null) {
throw new EdmException("Cant find entity container with name: " + providerTarget.getEntityContainer());
}
- String targetName = providerTarget.getTargetName();
+ final String targetName = providerTarget.getTargetName();
bindingTarget = entityContainer.getEntitySet(targetName);
if (bindingTarget == null) {
bindingTarget = entityContainer.getSingleton(targetName);
- if (bindingTarget != null) {
- break;
- } else {
+ if (bindingTarget == null) {
throw new EdmException("Cant find target with name: " + targetName);
}
+
+ found = true;
} else {
- break;
+ found = true;
}
}
}
@@ -70,19 +74,4 @@ public abstract class EdmBindingTargetImpl extends EdmNamedImpl implements EdmBi
return bindingTarget;
}
-
- @Override
- public EdmEntityContainer getEntityContainer() {
- return container;
- }
-
- @Override
- public EdmEntityType getEntityType() {
- EdmEntityType type = edm.getEntityType(target.getType());
- if (type == null) {
- throw new EdmException("Can´t find entity type : " + target.getType() + "for entity set: " + target.getName());
- }
- return type;
- }
-
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImpl.java
index 33e4a25..e409d09 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmComplexTypeImpl.java
@@ -18,34 +18,41 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
-import org.apache.olingo.odata4.commons.api.edm.EdmComplexType;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmStructuralType;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmComplexType;
+import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
import org.apache.olingo.odata4.server.api.edm.provider.ComplexType;
-public class EdmComplexTypeImpl extends EdmStructuralTypeImpl implements EdmComplexType {
+public class EdmComplexTypeImpl extends AbstractEdmComplexType {
- public EdmComplexTypeImpl(final EdmProviderImpl edm, final FullQualifiedName name, final ComplexType complexType) {
- super(edm, name, complexType, EdmTypeKind.COMPLEX);
+ private final EdmStructuredTypeHelper helper;
+
+ public static EdmComplexTypeImpl getInstance(
+ final Edm edm, final FullQualifiedName name, final ComplexType complexType) {
+
+ final EdmComplexTypeImpl instance = new EdmComplexTypeImpl(edm, name, complexType);
+ instance.baseType = instance.buildBaseType(complexType.getBaseType());
+
+ return instance;
+ }
+
+ private EdmComplexTypeImpl(final Edm edm, final FullQualifiedName name, final ComplexType complexType) {
+ super(edm, name, complexType.getBaseType());
+ this.helper = new EdmStructuredTypeHelperImpl(edm, complexType);
}
@Override
- public EdmComplexType getBaseType() {
- return (EdmComplexType) baseType;
+ protected Map<String, EdmProperty> getProperties() {
+ return helper.getProperties();
}
@Override
- protected EdmStructuralType buildBaseType(final FullQualifiedName baseTypeName) {
- EdmComplexType baseType = null;
- if (baseTypeName != null) {
- baseType = edm.getComplexType(baseTypeName);
- if (baseType == null) {
- throw new EdmException("Can't find base type with name: " + baseTypeName + " for complex type: " + getName());
- }
- }
- return baseType;
+ protected Map<String, EdmNavigationProperty> getNavigationProperties() {
+ return helper.getNavigationProperties();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmElementImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmElementImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmElementImpl.java
deleted file mode 100644
index c0d5277..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmElementImpl.java
+++ /dev/null
@@ -1,28 +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.odata4.server.core.edm.provider;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmElement;
-
-public abstract class EdmElementImpl extends EdmNamedImpl implements EdmElement {
-
- public EdmElementImpl(final EdmProviderImpl edm, final String name) {
- super(edm, name);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityContainerImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityContainerImpl.java
index 2e2b8ff..9bc32fc 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityContainerImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityContainerImpl.java
@@ -18,17 +18,14 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.olingo.odata4.commons.api.ODataException;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEntityContainer;
import org.apache.olingo.odata4.server.api.edm.provider.ActionImport;
import org.apache.olingo.odata4.server.api.edm.provider.EdmProvider;
import org.apache.olingo.odata4.server.api.edm.provider.EntityContainerInfo;
@@ -36,100 +33,78 @@ import org.apache.olingo.odata4.server.api.edm.provider.EntitySet;
import org.apache.olingo.odata4.server.api.edm.provider.FunctionImport;
import org.apache.olingo.odata4.server.api.edm.provider.Singleton;
-public class EdmEntityContainerImpl extends EdmNamedImpl implements EdmEntityContainer {
+public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
- private final FullQualifiedName entityContainerName;
private final EdmProvider provider;
- private final Map<String, EdmSingleton> singletons = new HashMap<String, EdmSingleton>();
- private final Map<String, EdmEntitySet> entitySets = new HashMap<String, EdmEntitySet>();
- private final Map<String, EdmActionImport> actionImports = new HashMap<String, EdmActionImport>();
- private final Map<String, EdmFunctionImport> functionImports = new HashMap<String, EdmFunctionImport>();
-
- public EdmEntityContainerImpl(final EdmProviderImpl edm, final EdmProvider provider,
- final EntityContainerInfo entityContainerInfo) {
- super(edm, entityContainerInfo.getContainerName().getName());
+
+ public EdmEntityContainerImpl(final Edm edm, final EdmProvider provider,
+ final EntityContainerInfo entityContainerInfo) {
+
+ super(edm, entityContainerInfo.getContainerName());
this.provider = provider;
- entityContainerName = entityContainerInfo.getContainerName();
}
@Override
- public String getNamespace() {
- return entityContainerName.getNamespace();
- }
+ protected EdmSingleton createSingleton(final String singletonName) {
+ EdmSingleton singleton = null;
- @Override
- public EdmSingleton getSingleton(final String singletonName) {
- EdmSingleton singleton = singletons.get(singletonName);
- if (singleton == null) {
- try {
- Singleton providerSingleton = provider.getSingleton(entityContainerName, singletonName);
- if (providerSingleton != null) {
- singleton = new EdmSingletonImpl(edm, this, providerSingleton);
- if (singleton != null) {
- singletons.put(singletonName, singleton);
- }
- }
- } catch (ODataException e) {
- throw new EdmException(e);
+ try {
+ final Singleton providerSingleton = provider.getSingleton(entityContainerName, singletonName);
+ if (providerSingleton != null) {
+ singleton = new EdmSingletonImpl(edm, this, providerSingleton);
}
+ } catch (ODataException e) {
+ throw new EdmException(e);
}
+
return singleton;
}
@Override
- public EdmEntitySet getEntitySet(final String entitySetName) {
- EdmEntitySet entitySet = entitySets.get(entitySetName);
- if (entitySet == null) {
- try {
- EntitySet providerEntitySet = provider.getEntitySet(entityContainerName, entitySetName);
- if (providerEntitySet != null) {
- entitySet = new EdmEntitySetImpl(edm, this, providerEntitySet);
- if (entitySet != null) {
- entitySets.put(entitySetName, entitySet);
- }
- }
- } catch (ODataException e) {
- throw new EdmException(e);
+ protected EdmEntitySet createEntitySet(final String entitySetName) {
+ EdmEntitySet entitySet = null;
+
+ try {
+ final EntitySet providerEntitySet = provider.getEntitySet(entityContainerName, entitySetName);
+ if (providerEntitySet != null) {
+ entitySet = new EdmEntitySetImpl(edm, this, providerEntitySet);
}
+ } catch (ODataException e) {
+ throw new EdmException(e);
}
+
return entitySet;
}
@Override
- public EdmActionImport getActionImport(final String actionImportName) {
- EdmActionImport actionImport = actionImports.get(actionImportName);
- if (actionImport == null) {
- try {
- ActionImport providerImport = provider.getActionImport(entityContainerName, actionImportName);
- if (providerImport != null) {
- actionImport = new EdmActionImportImpl(edm, actionImportName, this, providerImport);
- if (actionImport != null) {
- actionImports.put(actionImportName, actionImport);
- }
- }
- } catch (ODataException e) {
- throw new EdmException(e);
+ protected EdmActionImport createActionImport(final String actionImportName) {
+ EdmActionImport actionImport = null;
+
+ try {
+ final ActionImport providerImport = provider.getActionImport(entityContainerName, actionImportName);
+ if (providerImport != null) {
+ actionImport = new EdmActionImportImpl(edm, this, actionImportName, providerImport);
}
+ } catch (ODataException e) {
+ throw new EdmException(e);
}
+
return actionImport;
}
@Override
- public EdmFunctionImport getFunctionImport(final String functionImportName) {
- EdmFunctionImport functionImport = functionImports.get(functionImportName);
- if (functionImport == null) {
- try {
- FunctionImport providerImport = provider.getFunctionImport(entityContainerName, functionImportName);
- if (providerImport != null) {
- functionImport = new EdmFunctionImportImpl(edm, functionImportName, this, providerImport);
- if (functionImport != null) {
- functionImports.put(functionImportName, functionImport);
- }
- }
- } catch (ODataException e) {
- throw new EdmException(e);
+ protected EdmFunctionImport createFunctionImport(final String functionImportName) {
+ EdmFunctionImport functionImport = null;
+
+ try {
+ final FunctionImport providerImport = provider.getFunctionImport(entityContainerName, functionImportName);
+ if (providerImport != null) {
+ functionImport = new EdmFunctionImportImpl(edm, this, functionImportName, providerImport);
}
+ } catch (ODataException e) {
+ throw new EdmException(e);
}
+
return functionImport;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImpl.java
index d724a5d..7305b1e 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetImpl.java
@@ -18,13 +18,14 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
import org.apache.olingo.odata4.server.api.edm.provider.EntitySet;
public class EdmEntitySetImpl extends EdmBindingTargetImpl implements EdmEntitySet {
- public EdmEntitySetImpl(final EdmProviderImpl edm, final EdmEntityContainer container, final EntitySet entitySet) {
+ public EdmEntitySetImpl(final Edm edm, final EdmEntityContainer container, final EntitySet entitySet) {
super(edm, container, entitySet);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImpl.java
deleted file mode 100644
index 0d167b7..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntitySetInfoImpl.java
+++ /dev/null
@@ -1,53 +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.odata4.server.core.edm.provider;
-
-import java.net.URI;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmEntitySetInfo;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.odata4.server.api.edm.provider.EntitySet;
-
-public class EdmEntitySetInfoImpl implements EdmEntitySetInfo {
-
- private final EntityContainer entityContainer;
- private final EntitySet set;
-
- public EdmEntitySetInfoImpl(final EntityContainer entityContainer, final EntitySet set) {
- this.entityContainer = entityContainer;
- this.set = set;
- }
-
- @Override
- public String getEntityContainerName() {
- return entityContainer.getName();
- }
-
- @Override
- public String getEntitySetName() {
- return set.getName();
- }
-
- @Override
- public URI getEntitySetUri() {
- throw new EdmException("Not yet implemented");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImpl.java
index 557dd01..41b8ea9 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEntityTypeImpl.java
@@ -19,101 +19,69 @@
package org.apache.olingo.odata4.server.core.edm.provider;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.EdmKeyPropertyRef;
-import org.apache.olingo.odata4.commons.api.edm.EdmStructuralType;
+import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEntityType;
+import org.apache.olingo.odata4.commons.core.edm.EdmStructuredTypeHelper;
import org.apache.olingo.odata4.server.api.edm.provider.EntityType;
import org.apache.olingo.odata4.server.api.edm.provider.PropertyRef;
-public class EdmEntityTypeImpl extends EdmStructuralTypeImpl implements EdmEntityType {
+public class EdmEntityTypeImpl extends AbstractEdmEntityType {
- private EntityType entityType;
- private final List<String> keyPredicateNames = new ArrayList<String>();
- private final HashMap<String, EdmKeyPropertyRef> keyPropertyRefs = new HashMap<String, EdmKeyPropertyRef>();
- private final EdmEntityType entityBaseType;
- private ArrayList<EdmKeyPropertyRef> keyPropertyRefsList;
+ private final EdmStructuredTypeHelper helper;
- public EdmEntityTypeImpl(final EdmProviderImpl edm, final FullQualifiedName name, final EntityType entityType) {
- super(edm, name, entityType, EdmTypeKind.ENTITY);
- this.entityType = entityType;
- if (baseType == null) {
- entityBaseType = null;
- List<PropertyRef> key = entityType.getKey();
+ private final EntityType entityType;
+
+ public static EdmEntityTypeImpl getInstance(final Edm edm, final FullQualifiedName name,
+ final EntityType entityType) {
+
+ final EdmEntityTypeImpl instance = new EdmEntityTypeImpl(edm, name, entityType);
+ instance.baseType = instance.buildBaseType(entityType.getBaseType());
+
+ if (instance.baseType == null) {
+ instance.entityBaseType = null;
+
+ final List<PropertyRef> key = entityType.getKey();
if (key == null && !entityType.isAbstract()) {
throw new EdmException("Non-Abstract entity types must define a key.");
}
if (key != null) {
+ final List<EdmKeyPropertyRef> edmKey = new ArrayList<EdmKeyPropertyRef>();
for (PropertyRef ref : key) {
- EdmKeyPropertyRef edmKeyRef = new EdmKeyPropertyRefImpl(this, ref);
- if (ref.getAlias() != null) {
- keyPredicateNames.add(ref.getAlias());
- keyPropertyRefs.put(ref.getAlias(), edmKeyRef);
- } else {
- keyPredicateNames.add(ref.getPropertyName());
- keyPropertyRefs.put(ref.getPropertyName(), edmKeyRef);
- }
+ edmKey.add(new EdmKeyPropertyRefImpl(instance, ref));
}
+ instance.setEdmKeyPropertyRef(edmKey);
}
} else {
- entityBaseType = (EdmEntityType) baseType;
+ instance.entityBaseType = (EdmEntityType) instance.baseType;
}
+ return instance;
}
- @Override
- public boolean hasStream() {
- return entityType.hasStream();
- }
-
- @Override
- public EdmEntityType getBaseType() {
- return entityBaseType;
- }
-
- @Override
- public List<String> getKeyPredicateNames() {
- if (keyPredicateNames.isEmpty() && baseType != null) {
- return entityBaseType.getKeyPredicateNames();
- }
- return keyPredicateNames;
- }
+ private EdmEntityTypeImpl(final Edm edm, final FullQualifiedName name, final EntityType entityType) {
+ super(edm, name, entityType.getBaseType(), entityType.hasStream());
- @Override
- public List<EdmKeyPropertyRef> getKeyPropertyRefs() {
- if (keyPropertyRefsList == null) {
- keyPropertyRefsList = new ArrayList<EdmKeyPropertyRef>(keyPropertyRefs.values());
- }
- if (keyPropertyRefsList.isEmpty() && entityBaseType != null) {
- return entityBaseType.getKeyPropertyRefs();
- }
- return keyPropertyRefsList;
+ this.helper = new EdmStructuredTypeHelperImpl(edm, entityType);
+ this.entityType = entityType;
}
@Override
- public EdmKeyPropertyRef getKeyPropertyRef(final String keyPredicateName) {
- EdmKeyPropertyRef edmKeyPropertyRef = keyPropertyRefs.get(keyPredicateName);
- if (edmKeyPropertyRef == null && entityBaseType != null) {
- return entityBaseType.getKeyPropertyRef(keyPredicateName);
- }
- return edmKeyPropertyRef;
+ protected Map<String, EdmProperty> getProperties() {
+ return helper.getProperties();
}
@Override
- protected EdmStructuralType buildBaseType(final FullQualifiedName baseTypeName) {
- EdmEntityType baseType = null;
- if (baseTypeName != null) {
- baseType = edm.getEntityType(baseTypeName);
- if (baseType == null) {
- throw new EdmException("Cannot find base type with name: " + baseTypeName + " for entity type: " + getName());
- }
- }
- return baseType;
+ protected Map<String, EdmNavigationProperty> getNavigationProperties() {
+ return helper.getNavigationProperties();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumImpl.java
deleted file mode 100644
index 5de9cf2..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumImpl.java
+++ /dev/null
@@ -1,228 +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.odata4.server.core.edm.provider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
-import org.apache.olingo.odata4.commons.api.edm.EdmMember;
-import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmInt64;
-import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
-import org.apache.olingo.odata4.server.api.edm.provider.EnumType;
-
-public class EdmEnumImpl extends EdmNamedImpl implements EdmEnumType {
-
- private final FullQualifiedName enumName;
- private final EdmPrimitiveType edmPrimitiveTypeInstance;
- private final EnumType enumType;
- private final String uriPrefix;
- private final String uriSuffix;
- private List<String> memberNames;
-
- public EdmEnumImpl(final EdmProviderImpl edm, final FullQualifiedName enumName, final EnumType enumType) {
- super(edm, enumName.getName());
- this.enumName = enumName;
- this.enumType = enumType;
- uriPrefix = enumName.getFullQualifiedNameAsString() + '\'';
- uriSuffix = "'";
- FullQualifiedName underlyingTypeName = enumType.getUnderlyingType();
- if (underlyingTypeName == null) {
- edmPrimitiveTypeInstance = EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance();
- } else {
- edmPrimitiveTypeInstance =
- EdmPrimitiveTypeKind.valueOf(underlyingTypeName.getName()).getEdmPrimitiveTypeInstance();
- // TODO: Should we validate that the underlying type is of byte, sbyte, in16, int32 or int64?
- }
-
- }
-
- @Override
- public boolean isCompatible(final EdmPrimitiveType primitiveType) {
- return equals(primitiveType);
- }
-
- @Override
- public Class<?> getDefaultType() {
- return edmPrimitiveTypeInstance.getDefaultType();
- }
-
- @Override
- public boolean validate(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode) {
- try {
- valueOfString(value, isNullable, maxLength, precision, scale, isUnicode, getDefaultType());
- return true;
- } catch (final EdmPrimitiveTypeException e) {
- return false;
- }
- }
-
- @Override
- public <T> T valueOfString(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode, final Class<T> returnType) throws EdmPrimitiveTypeException {
- if (value == null) {
- if (isNullable != null && !isNullable) {
- throw new EdmPrimitiveTypeException("EdmPrimitiveTypeException.LITERAL_NULL_NOT_ALLOWED");
- }
- return null;
- }
- return internalValueOfString(value, isNullable, maxLength, precision, scale, isUnicode, returnType);
- }
-
- @Override
- public String valueToString(final Object value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode) throws EdmPrimitiveTypeException {
- if (value == null) {
- if (isNullable != null && !isNullable) {
- throw new EdmPrimitiveTypeException("EdmPrimitiveTypeException.VALUE_NULL_NOT_ALLOWED");
- }
- return null;
- }
- return internalValueToString(value, isNullable, maxLength, precision, scale, isUnicode);
- }
-
- @Override
- public String toUriLiteral(final String literal) {
- return literal == null ? null :
- uriPrefix.isEmpty() && uriSuffix.isEmpty() ? literal : uriPrefix + literal + uriSuffix;
- }
-
- @Override
- public String fromUriLiteral(final String literal) throws EdmPrimitiveTypeException {
- if (literal == null) {
- return null;
- } else if (uriPrefix.isEmpty() && uriSuffix.isEmpty()) {
- return literal;
- } else if (literal.length() >= uriPrefix.length() + uriSuffix.length()
- && literal.startsWith(uriPrefix) && literal.endsWith(uriSuffix)) {
- return literal.substring(uriPrefix.length(), literal.length() - uriSuffix.length());
- } else {
- throw new EdmPrimitiveTypeException("EdmPrimitiveTypeException.LITERAL_ILLEGAL_CONTENT.addContent(literal)");
- }
- }
-
- @Override
- public String getNamespace() {
- return enumName.getNamespace();
- }
-
- @Override
- public EdmTypeKind getKind() {
- return EdmTypeKind.ENUM;
- }
-
- @Override
- public EdmMember getMember(final String name) {
- for (EdmMember member : enumType.getMembers()) {
- if (member.getName().equals(name)) {
- return member;
- }
- }
- return null;
- }
-
- @Override
- public List<String> getMemberNames() {
- if (memberNames == null) {
- memberNames = new ArrayList<String>();
- for (final EdmMember member : enumType.getMembers()) {
- memberNames.add(member.getName());
- }
- }
- return memberNames;
- }
-
- @Override
- public EdmPrimitiveType getUnderlyingType() {
- return edmPrimitiveTypeInstance;
- }
-
- private <T> T internalValueOfString(final String value,
- final Boolean isNullable, final Integer maxLength, final Integer precision,
- final Integer scale, final Boolean isUnicode, final Class<T> returnType) throws EdmPrimitiveTypeException {
- try {
- return EdmInt64.convertNumber(parseEnumValue(value), returnType);
- } catch (final IllegalArgumentException e) {
- throw new EdmPrimitiveTypeException(
- "EdmPrimitiveTypeException.LITERAL_UNCONVERTIBLE_TO_VALUE_TYPE.addContent(value, returnType), e");
- } catch (final ClassCastException e) {
- throw new EdmPrimitiveTypeException(
- "EdmPrimitiveTypeException.VALUE_TYPE_NOT_SUPPORTED.addContent(returnType), e");
- }
- }
-
- private Long parseEnumValue(final String value) throws EdmPrimitiveTypeException {
- Long result = null;
- for (final String memberValue : value.split(",", enumType.isFlags() ? -1 : 1)) {
- Long memberValueLong = null;
- for (final EdmMember member : enumType.getMembers()) {
- if (member.getName().equals(memberValue) || member.getValue().equals(memberValue)) {
- memberValueLong = Long.decode(member.getValue());
- }
- }
- if (memberValueLong == null) {
- throw new EdmPrimitiveTypeException(
- "EdmPrimitiveTypeException.LITERAL_ILLEGAL_CONTENT.addContent(value)");
- }
- result = result == null ? memberValueLong : result | memberValueLong;
- }
- return result;
- }
-
- protected String internalValueToString(final Object value,
- final Boolean isNullable, final Integer maxLength, final Integer precision,
- final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException {
- if (value instanceof Byte || value instanceof Short || value instanceof Integer || value instanceof Long) {
- return constructEnumValue(((Number) value).longValue());
- } else {
- throw new EdmPrimitiveTypeException(
- "EdmPrimitiveTypeException.VALUE_TYPE_NOT_SUPPORTED.addContent(value.getClass())");
- }
- }
-
- protected String constructEnumValue(final long value) throws EdmPrimitiveTypeException {
- long remaining = value;
- StringBuilder result = new StringBuilder();
-
- for (final EdmMember member : enumType.getMembers()) {
- final long memberValue = Long.parseLong(member.getValue());
- if ((memberValue & remaining) == memberValue) {
- if (result.length() > 0) {
- result.append(',');
- }
- result.append(member.getName());
- remaining ^= memberValue;
- }
- }
-
- if (remaining != 0) {
- throw new EdmPrimitiveTypeException(
- "EdmPrimitiveTypeException.VALUE_ILLEGAL_CONTENT.addContent(value)");
- }
- return result.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTypeImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTypeImpl.java
new file mode 100644
index 0000000..4e88b49
--- /dev/null
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmEnumTypeImpl.java
@@ -0,0 +1,61 @@
+/*
+ * 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.odata4.server.core.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.odata4.commons.api.edm.EdmEnumType;
+import org.apache.olingo.odata4.commons.api.edm.EdmMember;
+import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmEnumType;
+import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.odata4.server.api.edm.provider.EnumType;
+
+public class EdmEnumTypeImpl extends AbstractEdmEnumType implements EdmEnumType {
+
+ private final EdmPrimitiveType underlyingType;
+
+ private final EnumType enumType;
+
+ public EdmEnumTypeImpl(final EdmProviderImpl edm, final FullQualifiedName enumName, final EnumType enumType) {
+ super(edm, enumName, enumType.isFlags());
+
+ if (enumType.getUnderlyingType() == null) {
+ this.underlyingType = EdmPrimitiveTypeKind.Int32.getEdmPrimitiveTypeInstance();
+ } else {
+ this.underlyingType = EdmPrimitiveTypeKind.valueOf(
+ enumType.getUnderlyingType().getName()).getEdmPrimitiveTypeInstance();
+ // TODO: Should we validate that the underlying type is of byte, sbyte, in16, int32 or int64?
+ }
+
+ this.enumType = enumType;
+ }
+
+ @Override
+ public EdmPrimitiveType getUnderlyingType() {
+ return underlyingType;
+ }
+
+ @Override
+ protected List<? extends EdmMember> getMembers() {
+ return enumType.getMembers();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImpl.java
index 61f513a..f2e3cf2 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImpl.java
@@ -18,6 +18,7 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
import org.apache.olingo.odata4.commons.api.edm.EdmReturnType;
@@ -27,9 +28,13 @@ import org.apache.olingo.odata4.server.api.edm.provider.Function;
public class EdmFunctionImpl extends EdmOperationImpl implements EdmFunction {
- private Function function;
+ private final Function function;
- public EdmFunctionImpl(final EdmProviderImpl edm, final FullQualifiedName name, final Function function) {
+ public static EdmFunctionImpl getInstance(final Edm edm, final FullQualifiedName name, final Function function) {
+ return EdmOperationImpl.getInstance(new EdmFunctionImpl(edm, name, function));
+ }
+
+ private EdmFunctionImpl(final Edm edm, final FullQualifiedName name, final Function function) {
super(edm, name, function, EdmTypeKind.FUNCTION);
this.function = function;
}
@@ -41,7 +46,7 @@ public class EdmFunctionImpl extends EdmOperationImpl implements EdmFunction {
@Override
public EdmReturnType getReturnType() {
- EdmReturnType returnType = super.getReturnType();
+ final EdmReturnType returnType = super.getReturnType();
if (returnType == null) {
throw new EdmException("ReturnType for a function must not be null");
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImpl.java
index 487ae51..f4e06f1 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportImpl.java
@@ -19,6 +19,7 @@
package org.apache.olingo.odata4.server.core.edm.provider;
import java.util.List;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
@@ -29,9 +30,10 @@ public class EdmFunctionImportImpl extends EdmOperationImportImpl implements Edm
private final FunctionImport functionImport;
- public EdmFunctionImportImpl(final EdmProviderImpl edm, final String name, final EdmEntityContainer container,
- final FunctionImport functionImport) {
- super(edm, name, container, functionImport);
+ public EdmFunctionImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final FunctionImport functionImport) {
+
+ super(edm, container, name, functionImport);
this.functionImport = functionImport;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImpl.java
deleted file mode 100644
index 025d919..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmFunctionImportInfoImpl.java
+++ /dev/null
@@ -1,53 +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.odata4.server.core.edm.provider;
-
-import java.net.URI;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImportInfo;
-import org.apache.olingo.odata4.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.odata4.server.api.edm.provider.FunctionImport;
-
-public class EdmFunctionImportInfoImpl implements EdmFunctionImportInfo {
-
- private EntityContainer entityContainer;
- private FunctionImport functionImport;
-
- public EdmFunctionImportInfoImpl(final EntityContainer entityContainer, final FunctionImport functionImport) {
- this.entityContainer = entityContainer;
- this.functionImport = functionImport;
- }
-
- @Override
- public String getEntityContainerName() {
- return entityContainer.getName();
- }
-
- @Override
- public String getFunctionImportName() {
- return functionImport.getName();
- }
-
- @Override
- public URI getFunctionImportUri() {
- throw new EdmException("Not yet implemented");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImpl.java
index 6bff7e3..06351ac 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmKeyPropertyRefImpl.java
@@ -19,20 +19,15 @@
package org.apache.olingo.odata4.server.core.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmKeyPropertyRef;
-import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
-import org.apache.olingo.odata4.commons.api.edm.EdmStructuralType;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmKeyPropertyRef;
import org.apache.olingo.odata4.server.api.edm.provider.PropertyRef;
-public class EdmKeyPropertyRefImpl implements EdmKeyPropertyRef {
+public class EdmKeyPropertyRefImpl extends AbstractEdmKeyPropertyRef {
- private PropertyRef ref;
- private EdmEntityType edmEntityType;
- private EdmProperty property;
+ private final PropertyRef ref;
public EdmKeyPropertyRefImpl(final EdmEntityType edmEntityType, final PropertyRef ref) {
- this.edmEntityType = edmEntityType;
+ super(edmEntityType);
this.ref = ref;
}
@@ -50,40 +45,4 @@ public class EdmKeyPropertyRefImpl implements EdmKeyPropertyRef {
public String getPath() {
return ref.getPath();
}
-
- @Override
- public EdmProperty getProperty() {
- if (property == null) {
- if (ref.getAlias() == null) {
- property = (EdmProperty) edmEntityType.getProperty(ref.getPropertyName());
- if (property == null) {
- throw new EdmException("Invalid key property ref specified. Can´t find property with name: "
- + ref.getPropertyName());
- }
- } else {
- if (ref.getPath() == null || ref.getPath().isEmpty()) {
- throw new EdmException("Alias but no path specified for propertyRef");
- }
- String[] splitPath = ref.getPath().split("/");
- EdmStructuralType structType = edmEntityType;
- for (int i = 0; i < splitPath.length - 1; i++) {
- EdmProperty property = (EdmProperty) structType.getProperty(splitPath[i]);
- if (property == null) {
- throw new EdmException("Invalid property ref specified. Can´t find property with name: "
- + splitPath[i] + " at type: " + structType.getNamespace() + "." + structType.getName());
- }
- structType = (EdmStructuralType) property.getType();
- }
- property = (EdmProperty) structType.getProperty(splitPath[splitPath.length - 1]);
- if (property == null) {
- throw new EdmException("Invalid property ref specified. Can´t find property with name: "
- + splitPath[splitPath.length - 1] + " at type: " + structType.getNamespace() + "."
- + structType.getName());
- }
- }
- }
-
- return property;
- }
-
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImpl.java
deleted file mode 100644
index b42e39b..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmMemberImpl.java
+++ /dev/null
@@ -1,38 +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.odata4.server.core.edm.provider;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmMember;
-import org.apache.olingo.odata4.server.api.edm.provider.EnumMember;
-
-public class EdmMemberImpl extends EdmNamedImpl implements EdmMember {
-
- private final EnumMember member;
-
- public EdmMemberImpl(final EdmProviderImpl edm, final EnumMember member) {
- super(edm, member.getName());
- this.member = member;
- }
-
- @Override
- public String getValue() {
- return member.getValue();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImpl.java
deleted file mode 100644
index 2526e07..0000000
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNamedImpl.java
+++ /dev/null
@@ -1,39 +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.odata4.server.core.edm.provider;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmNamed;
-
-public abstract class EdmNamedImpl implements EdmNamed {
-
- private String name;
- protected EdmProviderImpl edm;
-
- // TODO: ValidateName?
- public EdmNamedImpl(final EdmProviderImpl edm, final String name) {
- this.edm = edm;
- this.name = name;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNavigationPropertyImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNavigationPropertyImpl.java
index c452d8e..3399467 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNavigationPropertyImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmNavigationPropertyImpl.java
@@ -20,35 +20,24 @@ package org.apache.olingo.odata4.server.core.edm.provider;
import java.util.List;
-import org.apache.olingo.odata4.commons.api.edm.EdmElement;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
-import org.apache.olingo.odata4.commons.api.edm.EdmStructuralType;
-import org.apache.olingo.odata4.commons.api.edm.EdmType;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmNavigationProperty;
import org.apache.olingo.odata4.server.api.edm.provider.NavigationProperty;
import org.apache.olingo.odata4.server.api.edm.provider.ReferentialConstraint;
-public class EdmNavigationPropertyImpl extends EdmElementImpl implements EdmNavigationProperty {
+public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
private final NavigationProperty navigationProperty;
- private EdmEntityType typeImpl;
- private EdmNavigationProperty partnerNavigationProperty;
- public EdmNavigationPropertyImpl(final EdmProviderImpl edm, final NavigationProperty navigationProperty) {
+ public EdmNavigationPropertyImpl(final Edm edm, final NavigationProperty navigationProperty) {
super(edm, navigationProperty.getName());
this.navigationProperty = navigationProperty;
}
@Override
- public EdmType getType() {
- if (typeImpl == null) {
- typeImpl = edm.getEntityType(navigationProperty.getType());
- if (typeImpl == null) {
- throw new EdmException("Cannot find type with name: " + navigationProperty.getType());
- }
- }
- return typeImpl;
+ protected FullQualifiedName getTypeFQN() {
+ return navigationProperty.getType();
}
@Override
@@ -62,29 +51,13 @@ public class EdmNavigationPropertyImpl extends EdmElementImpl implements EdmNavi
}
@Override
- public EdmNavigationProperty getPartner() {
- if (partnerNavigationProperty == null) {
- String partner = navigationProperty.getPartner();
- if (partner != null) {
- EdmStructuralType type = (EdmStructuralType) getType();
- EdmElement property = null;
- String[] split = partner.split("/");
- for (String element : split) {
- property = type.getProperty(element);
- if (property == null) {
- throw new EdmException("Cannot find property with name: " + element + " at type " + type.getName());
- }
- type = (EdmStructuralType) property.getType();
- }
- partnerNavigationProperty = (EdmNavigationProperty) property;
- }
- }
- return partnerNavigationProperty;
+ protected String internatGetPartner() {
+ return navigationProperty.getPartner();
}
@Override
public String getReferencingPropertyName(final String referencedPropertyName) {
- List<ReferentialConstraint> referentialConstraints = navigationProperty.getReferentialConstraints();
+ final List<ReferentialConstraint> referentialConstraints = navigationProperty.getReferentialConstraints();
if (referentialConstraints != null) {
for (ReferentialConstraint constraint : referentialConstraints) {
if (constraint.getReferencedProperty().equals(referencedPropertyName)) {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImpl.java
index 4806682..73f440b 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImpl.java
@@ -19,92 +19,49 @@
package org.apache.olingo.odata4.server.core.edm.provider;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import org.apache.olingo.odata4.commons.api.edm.EdmBindingTarget;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmOperation;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmParameter;
-import org.apache.olingo.odata4.commons.api.edm.EdmReturnType;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmOperation;
import org.apache.olingo.odata4.server.api.edm.provider.EntitySetPath;
import org.apache.olingo.odata4.server.api.edm.provider.Operation;
import org.apache.olingo.odata4.server.api.edm.provider.Parameter;
-public class EdmOperationImpl extends EdmTypeImpl implements EdmOperation {
+public abstract class EdmOperationImpl extends AbstractEdmOperation {
- private final Map<String, EdmParameter> parameters = new HashMap<String, EdmParameter>();
- private final Operation operation;
- private EdmReturnType returnType;
- private List<String> parameterNames;
+ protected final Operation operation;
- public EdmOperationImpl(final EdmProviderImpl edm, final FullQualifiedName name, final Operation operation,
- final EdmTypeKind kind) {
- super(edm, name, kind);
- this.operation = operation;
- List<Parameter> providerParameters = operation.getParameters();
+ protected static <T extends EdmOperationImpl> T getInstance(final T instance) {
+ final List<Parameter> providerParameters = instance.operation.getParameters();
if (providerParameters != null) {
+ final List<EdmParameter> _parameters = new ArrayList<EdmParameter>(providerParameters.size());
for (Parameter parameter : providerParameters) {
- parameters.put(parameter.getName(), new EdmParameterImpl(edm, parameter));
+ _parameters.add(new EdmParameterImpl(instance.edm, parameter));
}
+ instance.setParameters(_parameters);
}
- }
-
- @Override
- public EdmParameter getParameter(final String name) {
- return parameters.get(name);
- }
- @Override
- public List<String> getParameterNames() {
- if (parameterNames == null) {
- parameterNames = new ArrayList<String>();
- List<Parameter> providerParameters = operation.getParameters();
- if (providerParameters != null) {
- for (Parameter parameter : providerParameters) {
- parameterNames.add(parameter.getName());
- }
- }
+ final EntitySetPath entitySetPath = instance.operation.getEntitySetPath();
+ if (entitySetPath != null && entitySetPath.getPath() != null) {
+ instance.setEntitySetPath(entitySetPath.getPath());
}
- return parameterNames;
- }
- @Override
- public EdmEntitySet getReturnedEntitySet(final EdmEntitySet bindingParameterEntitySet) {
- EntitySetPath entitySetPath = operation.getEntitySetPath();
- EdmEntitySet returnedEntitySet = null;
- if (bindingParameterEntitySet != null && entitySetPath != null && entitySetPath.getBindingParameter() != null
- && entitySetPath.getPath() != null) {
- EdmBindingTarget relatedBindingTarget =
- bindingParameterEntitySet.getRelatedBindingTarget(entitySetPath.getPath());
- if (relatedBindingTarget == null) {
- throw new EdmException("Cannot find entity set with path: " + entitySetPath.getPath());
- }
- if (relatedBindingTarget instanceof EdmEntitySet) {
- returnedEntitySet = (EdmEntitySet) relatedBindingTarget;
- } else {
- throw new EdmException("BindingTarget with name: " + relatedBindingTarget.getName() + " must be an entity set");
- }
+ instance.setIsBound(instance.operation.isBound());
+ if (instance.operation.getReturnType() != null) {
+ instance.setReturnType(new EdmReturnTypeImpl(instance.edm, instance.operation.getReturnType()));
}
- return returnedEntitySet;
- }
- @Override
- public EdmReturnType getReturnType() {
- if (returnType == null && operation.getReturnType() != null) {
- returnType = new EdmReturnTypeImpl(edm, operation.getReturnType());
- }
- return returnType;
+ return instance;
}
- @Override
- public boolean isBound() {
- return operation.isBound();
- }
+ protected EdmOperationImpl(final Edm edm, final FullQualifiedName name, final Operation operation,
+ final EdmTypeKind kind) {
+ super(edm, name, kind);
+ this.operation = operation;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImportImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImportImpl.java
index 41159ce..51ea5f7 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImportImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmOperationImportImpl.java
@@ -18,45 +18,16 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmOperationImport;
import org.apache.olingo.odata4.server.api.edm.provider.OperationImport;
-import org.apache.olingo.odata4.server.api.edm.provider.Target;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmOperationImport;
-public abstract class EdmOperationImportImpl extends EdmNamedImpl implements EdmOperationImport {
+public abstract class EdmOperationImportImpl extends AbstractEdmOperationImport {
- private final OperationImport operationImport;
- private final EdmEntityContainer container;
- private EdmEntitySet returnedEntitySet;
+ public EdmOperationImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
+ final OperationImport operationImport) {
- public EdmOperationImportImpl(final EdmProviderImpl edm, final String name, final EdmEntityContainer container,
- final OperationImport operationImport) {
- super(edm, name);
- this.container = container;
- this.operationImport = operationImport;
+ super(edm, container, name, operationImport.getEntitySet());
}
-
- @Override
- public EdmEntitySet getReturnedEntitySet() {
- Target target = operationImport.getEntitySet();
- if (target != null && returnedEntitySet == null) {
- EdmEntityContainer entityContainer = edm.getEntityContainer(target.getEntityContainer());
- if (entityContainer == null) {
- throw new EdmException("Can´t find entity container with name: " + target.getEntityContainer());
- }
- returnedEntitySet = entityContainer.getEntitySet(target.getTargetName());
- if (returnedEntitySet == null) {
- throw new EdmException("Can´t find entity set with name: " + target.getTargetName());
- }
- }
- return returnedEntitySet;
- }
-
- @Override
- public EdmEntityContainer getEntityContainer() {
- return container;
- }
-
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmParameterImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmParameterImpl.java
index 3ae417b..47679f6 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmParameterImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmParameterImpl.java
@@ -18,55 +18,21 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmMapping;
-import org.apache.olingo.odata4.commons.api.edm.EdmParameter;
-import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.odata4.commons.api.edm.EdmType;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmParameter;
import org.apache.olingo.odata4.server.api.edm.provider.Parameter;
-public class EdmParameterImpl extends EdmElementImpl implements EdmParameter {
+public class EdmParameterImpl extends AbstractEdmParameter {
private final Parameter parameter;
- private EdmType typeImpl;
- public EdmParameterImpl(final EdmProviderImpl edm, final Parameter parameter) {
- super(edm, parameter.getName());
+ public EdmParameterImpl(final Edm edm, final Parameter parameter) {
+ super(edm, parameter.getName(), parameter.getType());
this.parameter = parameter;
}
@Override
- public EdmType getType() {
- if (typeImpl == null) {
- FullQualifiedName typeName = parameter.getType();
- if (EdmPrimitiveType.EDM_NAMESPACE.equals(typeName.getNamespace())) {
- try {
- typeImpl = EdmPrimitiveTypeKind.valueOf(typeName.getName()).getEdmPrimitiveTypeInstance();
- } catch (IllegalArgumentException e) {
- throw new EdmException("Cannot find type with name: " + typeName, e);
- }
- } else {
- typeImpl = edm.getComplexType(typeName);
- if (typeImpl == null) {
- typeImpl = edm.getEntityType(typeName);
- if (typeImpl == null) {
- typeImpl = edm.getEnumType(typeName);
- if (typeImpl == null) {
- typeImpl = edm.getTypeDefinition(typeName);
- if (typeImpl == null) {
- throw new EdmException("Cannot find type with name: " + typeName);
- }
- }
- }
- }
- }
- }
- return typeImpl;
- }
-
- @Override
public boolean isCollection() {
return parameter.isCollection();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmPropertyImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmPropertyImpl.java
index 4882a29..46381fd 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmPropertyImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmPropertyImpl.java
@@ -18,52 +18,25 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
import org.apache.olingo.odata4.commons.api.edm.EdmMapping;
-import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
-import org.apache.olingo.odata4.commons.api.edm.EdmType;
import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmProperty;
import org.apache.olingo.odata4.server.api.edm.provider.Property;
-public class EdmPropertyImpl extends EdmElementImpl implements EdmProperty {
+public class EdmPropertyImpl extends AbstractEdmProperty implements EdmProperty {
private final Property property;
- private final boolean isPrimitive;
- private EdmType propertyType;
- public EdmPropertyImpl(final EdmProviderImpl edm, final Property property) {
+ public EdmPropertyImpl(final Edm edm, final Property property) {
super(edm, property.getName());
this.property = property;
- isPrimitive = EdmPrimitiveType.EDM_NAMESPACE.equals(property.getType().getNamespace());
}
@Override
- public EdmType getType() {
- if (propertyType == null) {
- FullQualifiedName typeName = property.getType();
- if (isPrimitive) {
- try {
- propertyType = EdmPrimitiveTypeKind.valueOf(typeName.getName()).getEdmPrimitiveTypeInstance();
- } catch (IllegalArgumentException e) {
- throw new EdmException("Cannot find type with name: " + typeName, e);
- }
- } else {
- propertyType = edm.getComplexType(typeName);
- if (propertyType == null) {
- propertyType = edm.getEnumType(typeName);
- if (propertyType == null) {
- propertyType = edm.getTypeDefinition(typeName);
- if (propertyType == null) {
- throw new EdmException("Cannot find type with name: " + typeName);
- }
- }
- }
- }
- }
-
- return propertyType;
+ protected FullQualifiedName getTypeFQN() {
+ return property.getType();
}
@Override
@@ -82,11 +55,6 @@ public class EdmPropertyImpl extends EdmElementImpl implements EdmProperty {
}
@Override
- public boolean isPrimitive() {
- return isPrimitive;
- }
-
- @Override
public Boolean isNullable() {
return property.getNullable();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmProviderImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmProviderImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmProviderImpl.java
index 49a14fc..f2ded8c 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmProviderImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmProviderImpl.java
@@ -50,7 +50,9 @@ import org.apache.olingo.odata4.server.api.edm.provider.TypeDefinition;
public class EdmProviderImpl extends AbstractEdmImpl {
private final EdmProvider provider;
+
private final Map<FullQualifiedName, List<Action>> actionsMap = new HashMap<FullQualifiedName, List<Action>>();
+
private final Map<FullQualifiedName, List<Function>> functionsMap = new HashMap<FullQualifiedName, List<Function>>();
public EdmProviderImpl(final EdmProvider provider) {
@@ -76,7 +78,7 @@ public class EdmProviderImpl extends AbstractEdmImpl {
try {
EnumType enumType = provider.getEnumType(enumName);
if (enumType != null) {
- return new EdmEnumImpl(this, enumName, enumType);
+ return new EdmEnumTypeImpl(this, enumName, enumType);
}
return null;
} catch (ODataException e) {
@@ -102,7 +104,7 @@ public class EdmProviderImpl extends AbstractEdmImpl {
try {
EntityType entityType = provider.getEntityType(entityTypeName);
if (entityType != null) {
- return new EdmEntityTypeImpl(this, entityTypeName, entityType);
+ return EdmEntityTypeImpl.getInstance(this, entityTypeName, entityType);
}
return null;
} catch (ODataException e) {
@@ -113,9 +115,9 @@ public class EdmProviderImpl extends AbstractEdmImpl {
@Override
public EdmComplexType createComplexType(final FullQualifiedName complexTypeName) {
try {
- ComplexType complexType = provider.getComplexType(complexTypeName);
+ final ComplexType complexType = provider.getComplexType(complexTypeName);
if (complexType != null) {
- return new EdmComplexTypeImpl(this, complexTypeName, complexType);
+ return EdmComplexTypeImpl.getInstance(this, complexTypeName, complexType);
}
return null;
} catch (ODataException e) {
@@ -125,32 +127,32 @@ public class EdmProviderImpl extends AbstractEdmImpl {
@Override
public EdmAction createBoundAction(final FullQualifiedName actionName,
- final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection) {
+ final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection) {
+
try {
List<Action> actions = actionsMap.get(actionName);
if (actions == null) {
actions = provider.getActions(actionName);
- if (actions != null) {
- actionsMap.put(actionName, actions);
- } else {
+ if (actions == null) {
return null;
+ } else {
+ actionsMap.put(actionName, actions);
}
}
- EdmActionImpl actionImpl = null;
// Search for bound action where binding parameter matches
for (Action action : actions) {
- if (action.isBound() == true) {
- List<Parameter> parameters = action.getParameters();
- Parameter parameter = parameters.get(0);
+ if (action.isBound()) {
+ final List<Parameter> parameters = action.getParameters();
+ final Parameter parameter = parameters.get(0);
if (bindingParameterTypeName.equals(parameter.getType())
- && isBindingParameterCollection.booleanValue() == parameter.isCollection()) {
- actionImpl = new EdmActionImpl(this, actionName, action);
- break;
+ && isBindingParameterCollection.booleanValue() == parameter.isCollection()) {
+
+ return EdmActionImpl.getInstance(this, actionName, action);
}
}
}
- return actionImpl;
+ return null;
} catch (ODataException e) {
throw new EdmException(e);
}
@@ -158,46 +160,43 @@ public class EdmProviderImpl extends AbstractEdmImpl {
@Override
public EdmFunction createBoundFunction(final FullQualifiedName functionName,
- final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection,
- final List<String> parameterNames) {
+ final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection,
+ final List<String> parameterNames) {
+
try {
List<Function> functions = functionsMap.get(functionName);
if (functions == null) {
functions = provider.getFunctions(functionName);
- if (functions != null) {
- functionsMap.put(functionName, functions);
- } else {
+ if (functions == null) {
return null;
+ } else {
+ functionsMap.put(functionName, functions);
}
}
- List<String> parameterNamesCopy = parameterNames;
- if (parameterNamesCopy == null) {
- parameterNamesCopy = Collections.emptyList();
- }
- EdmFunctionImpl functionImpl = null;
+ final List<String> parameterNamesCopy = parameterNames == null? Collections.<String>emptyList(): parameterNames;
for (Function function : functions) {
- if (function.isBound() == true) {
+ if (function.isBound()) {
List<Parameter> providerParameters = function.getParameters();
if (providerParameters == null || providerParameters.size() == 0) {
throw new EdmException("No parameter specified for bound function: " + functionName);
}
- Parameter bindingParameter = providerParameters.get(0);
+ final Parameter bindingParameter = providerParameters.get(0);
if (bindingParameterTypeName.equals(bindingParameter.getType())
- && isBindingParameterCollection.booleanValue() == bindingParameter.isCollection()) {
+ && isBindingParameterCollection.booleanValue() == bindingParameter.isCollection()) {
+
if (parameterNamesCopy.size() == providerParameters.size() - 1) {
- List<String> providerParameterNames = new ArrayList<String>();
+ final List<String> providerParameterNames = new ArrayList<String>();
for (int i = 1; i < providerParameters.size(); i++) {
providerParameterNames.add(providerParameters.get(i).getName());
}
if (parameterNamesCopy.containsAll(providerParameterNames)) {
- functionImpl = new EdmFunctionImpl(this, functionName, function);
- break;
+ return EdmFunctionImpl.getInstance(this, functionName, function);
}
}
}
}
}
- return functionImpl;
+ return null;
} catch (ODataException e) {
throw new EdmException(e);
}
@@ -210,9 +209,9 @@ public class EdmProviderImpl extends AbstractEdmImpl {
@Override
protected Map<String, String> createAliasToNamespaceInfo() {
- Map<String, String> aliasToNamespaceInfos = new HashMap<String, String>();
+ final Map<String, String> aliasToNamespaceInfos = new HashMap<String, String>();
try {
- List<AliasInfo> aliasInfos = provider.getAliasInfos();
+ final List<AliasInfo> aliasInfos = provider.getAliasInfos();
if (aliasInfos != null) {
for (AliasInfo info : aliasInfos) {
aliasToNamespaceInfos.put(info.getAlias(), info.getNamespace());
@@ -230,21 +229,19 @@ public class EdmProviderImpl extends AbstractEdmImpl {
List<Action> actions = actionsMap.get(actionName);
if (actions == null) {
actions = provider.getActions(actionName);
- if (actions != null) {
- actionsMap.put(actionName, actions);
- } else {
+ if (actions == null) {
return null;
+ } else {
+ actionsMap.put(actionName, actions);
}
}
- EdmActionImpl actionImpl = null;
// Search for first unbound action
for (Action action : actions) {
- if (action.isBound() == false) {
- actionImpl = new EdmActionImpl(this, actionName, action);
- break;
+ if (!action.isBound()) {
+ return EdmActionImpl.getInstance(this, actionName, action);
}
}
- return actionImpl;
+ return null;
} catch (ODataException e) {
throw new EdmException(e);
}
@@ -262,13 +259,9 @@ public class EdmProviderImpl extends AbstractEdmImpl {
return null;
}
}
- List<String> parameterNamesCopy = parameterNames;
- if (parameterNamesCopy == null) {
- parameterNamesCopy = Collections.emptyList();
- }
- EdmFunctionImpl functionImpl = null;
+ final List<String> parameterNamesCopy = parameterNames == null? Collections.<String>emptyList(): parameterNames;
for (Function function : functions) {
- if (function.isBound() == false) {
+ if (!function.isBound()) {
List<Parameter> providerParameters = function.getParameters();
if (providerParameters == null) {
providerParameters = Collections.emptyList();
@@ -280,13 +273,12 @@ public class EdmProviderImpl extends AbstractEdmImpl {
}
if (parameterNamesCopy.containsAll(functionParameterNames)) {
- functionImpl = new EdmFunctionImpl(this, functionName, function);
- break;
+ return EdmFunctionImpl.getInstance(this, functionName, function);
}
}
}
}
- return functionImpl;
+ return null;
} catch (ODataException e) {
throw new EdmException(e);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmReturnTypeImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmReturnTypeImpl.java
index e94d8a0..19700af 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmReturnTypeImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/edm/provider/EdmReturnTypeImpl.java
@@ -18,56 +18,20 @@
*/
package org.apache.olingo.odata4.server.core.edm.provider;
-import org.apache.olingo.odata4.commons.api.edm.EdmException;
-import org.apache.olingo.odata4.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.odata4.commons.api.edm.EdmReturnType;
-import org.apache.olingo.odata4.commons.api.edm.EdmType;
-import org.apache.olingo.odata4.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.odata4.commons.core.edm.AbstractEdmImpl;
-import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
+import org.apache.olingo.odata4.commons.api.edm.Edm;
+import org.apache.olingo.odata4.commons.core.edm.AbstractEdmReturnType;
import org.apache.olingo.odata4.server.api.edm.provider.ReturnType;
-public class EdmReturnTypeImpl implements EdmReturnType {
+public class EdmReturnTypeImpl extends AbstractEdmReturnType {
- private final AbstractEdmImpl edm;
private final ReturnType returnType;
- private EdmType typeImpl;
- public EdmReturnTypeImpl(final AbstractEdmImpl edm, final ReturnType returnType) {
- this.edm = edm;
+ public EdmReturnTypeImpl(final Edm edm, final ReturnType returnType) {
+ super(edm, returnType.getType());
this.returnType = returnType;
}
@Override
- public EdmType getType() {
- if (typeImpl == null) {
- FullQualifiedName typeName = returnType.getType();
- if (EdmPrimitiveType.EDM_NAMESPACE.equals(typeName.getNamespace())) {
- try {
- typeImpl = EdmPrimitiveTypeKind.valueOf(typeName.getName()).getEdmPrimitiveTypeInstance();
- } catch (IllegalArgumentException e) {
- throw new EdmException("Cannot find type with name: " + typeName, e);
- }
- } else {
- typeImpl = edm.getComplexType(typeName);
- if (typeImpl == null) {
- typeImpl = edm.getEntityType(typeName);
- if (typeImpl == null) {
- typeImpl = edm.getEnumType(typeName);
- if (typeImpl == null) {
- typeImpl = edm.getTypeDefinition(typeName);
- if (typeImpl == null) {
- throw new EdmException("Cant find type with name: " + typeName);
- }
- }
- }
- }
- }
- }
- return typeImpl;
- }
-
- @Override
public boolean isCollection() {
return returnType.isCollection();
}
[13/22] git commit: Upgrading Jackson and SLF4J
Posted by il...@apache.org.
Upgrading Jackson and SLF4J
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/a8c0e9ea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/a8c0e9ea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/a8c0e9ea
Branch: refs/heads/olingo169
Commit: a8c0e9ea84c428bb7f70d6378aea77b74b3ffae2
Parents: 0485543
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Mar 5 15:47:18 2014 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed Mar 5 15:47:18 2014 +0100
----------------------------------------------------------------------
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/a8c0e9ea/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 5a1e0a2..b458284 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,11 +67,11 @@
<commons.lang3.version>3.2.1</commons.lang3.version>
<hc.client.version>4.2.6</hc.client.version>
- <jackson.version>2.3.1</jackson.version>
+ <jackson.version>2.3.2</jackson.version>
<antlr.version>4.1</antlr.version>
- <sl4j.version>1.7.5</sl4j.version>
+ <sl4j.version>1.7.6</sl4j.version>
</properties>
<dependencyManagement>
[19/22] [OLINGO-186] client-side implementation of commons Edm
interfaces completed: some refactoring on server-side performed to extract
common abstract implementation
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java
index b4bf986..8c52101 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/PropertyImpl.java
@@ -18,7 +18,6 @@
*/
package org.apache.olingo.odata4.client.core.edm.xml.v3;
-import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.olingo.odata4.client.api.edm.xml.v3.Property;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractProperty;
import org.apache.olingo.odata4.commons.api.edm.constants.EdmContentKind;
@@ -27,68 +26,74 @@ public class PropertyImpl extends AbstractProperty implements Property {
private static final long serialVersionUID = 6224524803474652100L;
- @JsonProperty("FC_SourcePath")
private String fcSourcePath;
- @JsonProperty("FC_TargetPath")
private String fcTargetPath;
- @JsonProperty("FC_ContentKind")
private EdmContentKind fcContentKind = EdmContentKind.text;
- @JsonProperty("FC_NsPrefix")
private String fcNSPrefix;
- @JsonProperty("FC_NsUri")
private String fcNSURI;
- @JsonProperty("FC_KeepInContent")
private boolean fcKeepInContent = true;
+ @Override
public String getFcSourcePath() {
return fcSourcePath;
}
+ @Override
public void setFcSourcePath(final String fcSourcePath) {
this.fcSourcePath = fcSourcePath;
}
+ @Override
public String getFcTargetPath() {
return fcTargetPath;
}
+ @Override
public void setFcTargetPath(final String fcTargetPath) {
this.fcTargetPath = fcTargetPath;
}
+ @Override
public EdmContentKind getFcContentKind() {
return fcContentKind;
}
+ @Override
public void setFcContentKind(final EdmContentKind fcContentKind) {
this.fcContentKind = fcContentKind;
}
+ @Override
public String getFcNSPrefix() {
return fcNSPrefix;
}
+ @Override
public void setFcNSPrefix(final String fcNSPrefix) {
this.fcNSPrefix = fcNSPrefix;
}
+ @Override
public String getFcNSURI() {
return fcNSURI;
}
+ @Override
public void setFcNSURI(final String fcNSURI) {
this.fcNSURI = fcNSURI;
}
+ @Override
public boolean isFcKeepInContent() {
return fcKeepInContent;
}
+ @Override
public void setFcKeepInContent(final boolean fcKeepInContent) {
this.fcKeepInContent = fcKeepInContent;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/XMLMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/XMLMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/XMLMetadataImpl.java
new file mode 100644
index 0000000..b5399ce
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v3/XMLMetadataImpl.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.odata4.client.core.edm.xml.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractXMLMetadata;
+
+public class XMLMetadataImpl extends AbstractXMLMetadata {
+
+ private static final long serialVersionUID = -7765327879691528010L;
+
+ public XMLMetadataImpl(final EdmxImpl edmx) {
+ super(edmx);
+ }
+
+ @Override
+ public SchemaImpl getSchema(final int index) {
+ return (SchemaImpl) super.getSchema(index);
+ }
+
+ @Override
+ public SchemaImpl getSchema(final String key) {
+ return (SchemaImpl) super.getSchema(key);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public List<SchemaImpl> getSchemas() {
+ return (List<SchemaImpl>) super.getSchemas();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java
index b449bdf..6a4332a 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java
@@ -24,7 +24,7 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.DynExprConstructImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.DynExprConstructImpl;
public class AnnotationDeserializer extends AbstractEdmDeserializer<AnnotationImpl> {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java
index 47bc2ad..d21f846 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java
@@ -23,8 +23,8 @@ import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ConstExprConstruct;
import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.ConstExprConstructImpl;
-import org.apache.olingo.odata4.client.core.edm.v4.annotation.DynExprConstructImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.ConstExprConstructImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.annotation.DynExprConstructImpl;
@JsonDeserialize(using = AnnotationDeserializer.class)
public class AnnotationImpl extends AbstractEdmItem implements Annotation {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java
index 40bab7c..93a04b9 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java
@@ -59,10 +59,12 @@ public class EntityContainerImpl extends AbstractEntityContainer implements Anno
return entitySets;
}
+ @Override
public List<SingletonImpl> getSingletons() {
return singletons;
}
+ @Override
public SingletonImpl getSingleton(final String name) {
return getOneByName(name, getSingletons());
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java
index b0451f5..8160193 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
import org.apache.olingo.odata4.client.api.edm.xml.v4.EntitySet;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationPropertyBinding;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntitySet;
public class EntitySetImpl extends AbstractEntitySet implements EntitySet {
@@ -32,8 +33,7 @@ public class EntitySetImpl extends AbstractEntitySet implements EntitySet {
private AnnotationImpl annotation;
- private final List<NavigationPropertyBindingImpl> navigationPropertyBindings
- = new ArrayList<NavigationPropertyBindingImpl>();
+ private final List<NavigationPropertyBinding> navigationPropertyBindings = new ArrayList<NavigationPropertyBinding>();
@Override
public boolean isIncludeInServiceDocument() {
@@ -46,7 +46,7 @@ public class EntitySetImpl extends AbstractEntitySet implements EntitySet {
}
@Override
- public List<NavigationPropertyBindingImpl> getNavigationPropertyBindings() {
+ public List<NavigationPropertyBinding> getNavigationPropertyBindings() {
return navigationPropertyBindings;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java
index cf54d9e..ed731c3 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java
@@ -18,7 +18,6 @@
*/
package org.apache.olingo.odata4.client.core.edm.xml.v4;
-import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.olingo.odata4.client.api.edm.xml.v4.Parameter;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractParameter;
@@ -26,7 +25,6 @@ public class ParameterImpl extends AbstractParameter implements Parameter {
private static final long serialVersionUID = -1067642515116697747L;
- @JsonProperty(value = "SRID")
private String srid;
@Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java
index ae2e4d1..0655061 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java
@@ -19,7 +19,6 @@
package org.apache.olingo.odata4.client.core.edm.xml.v4;
import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
import org.apache.olingo.odata4.client.api.edm.xml.v4.Property;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractProperty;
@@ -28,7 +27,6 @@ public class PropertyImpl extends AbstractProperty implements Property {
private static final long serialVersionUID = -5541908235094985412L;
- @JsonProperty("Annotation")
private AnnotationImpl annotation;
@Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeDeserializer.java
new file mode 100644
index 0000000..d3e426f
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeDeserializer.java
@@ -0,0 +1,60 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class ReturnTypeDeserializer extends AbstractEdmDeserializer<ReturnTypeImpl> {
+
+ @Override
+ protected ReturnTypeImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final ReturnTypeImpl returnType = new ReturnTypeImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Type".equals(jp.getCurrentName())) {
+ returnType.setType(jp.nextTextValue());
+ } else if ("Nullable".equals(jp.getCurrentName())) {
+ returnType.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("MaxLength".equals(jp.getCurrentName())) {
+ final String maxLenght = jp.nextTextValue();
+ returnType.setMaxLength(maxLenght.equalsIgnoreCase("max") ? Integer.MAX_VALUE : Integer.valueOf(maxLenght));
+ } else if ("Precision".equals(jp.getCurrentName())) {
+ returnType.setPrecision(Integer.valueOf(jp.nextTextValue()));
+ } else if ("Scale".equals(jp.getCurrentName())) {
+ returnType.setScale(Integer.valueOf(jp.nextTextValue()));
+ } else if ("SRID".equals(jp.getCurrentName())) {
+ returnType.setSrid(jp.nextTextValue());
+ }
+ }
+ }
+
+ return returnType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java
index 6fcf691..02eb54a 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java
@@ -18,31 +18,25 @@
*/
package org.apache.olingo.odata4.client.core.edm.xml.v4;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigInteger;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import org.apache.olingo.odata4.client.api.edm.xml.v4.ReturnType;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+@JsonDeserialize(using = ReturnTypeDeserializer.class)
public class ReturnTypeImpl extends AbstractEdmItem implements ReturnType {
private static final long serialVersionUID = -5888231162358116515L;
- @JsonProperty(value = "Type")
private String type;
- @JsonProperty(value = "Nullable")
private boolean nullable = true;
- @JsonProperty(value = "MaxLength")
- private String maxLength;
+ private Integer maxLength;
- @JsonProperty(value = "Precision")
- private BigInteger precision;
+ private Integer precision;
- @JsonProperty(value = "Scale")
- private BigInteger scale;
+ private Integer scale;
- @JsonProperty(value = "SRID")
private String srid;
@Override
@@ -66,32 +60,32 @@ public class ReturnTypeImpl extends AbstractEdmItem implements ReturnType {
}
@Override
- public String getMaxLength() {
+ public Integer getMaxLength() {
return maxLength;
}
@Override
- public void setMaxLength(final String maxLength) {
+ public void setMaxLength(final Integer maxLength) {
this.maxLength = maxLength;
}
@Override
- public BigInteger getPrecision() {
+ public Integer getPrecision() {
return precision;
}
@Override
- public void setPrecision(final BigInteger precision) {
+ public void setPrecision(final Integer precision) {
this.precision = precision;
}
@Override
- public BigInteger getScale() {
+ public Integer getScale() {
return scale;
}
@Override
- public void setScale(final BigInteger scale) {
+ public void setScale(final Integer scale) {
this.scale = scale;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java
index d37e9fb..3987d3c 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java
@@ -92,6 +92,10 @@ public class SchemaImpl extends AbstractSchema implements Schema, AnnotatedEdmIt
return terms;
}
+ public TypeDefinitionImpl getTypeDefinition(final String name) {
+ return getOneByName(name, getTypeDefinitions());
+ }
+
public List<TypeDefinitionImpl> getTypeDefinitions() {
return typeDefinitions;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java
index 06385db..77b7889 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonDeserializer.java
@@ -39,7 +39,7 @@ public class SingletonDeserializer extends AbstractEdmDeserializer<SingletonImpl
if ("Name".equals(jp.getCurrentName())) {
singleton.setName(jp.nextTextValue());
} else if ("Type".equals(jp.getCurrentName())) {
- singleton.setType(jp.nextTextValue());
+ singleton.setEntityType(jp.nextTextValue());
} else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
jp.nextToken();
singleton.getNavigationPropertyBindings().add(
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java
index 09044bc..21f2fb6 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SingletonImpl.java
@@ -21,6 +21,7 @@ package org.apache.olingo.odata4.client.core.edm.xml.v4;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.ArrayList;
import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationPropertyBinding;
import org.apache.olingo.odata4.client.api.edm.xml.v4.Singleton;
@JsonDeserialize(using = SingletonDeserializer.class)
@@ -30,10 +31,9 @@ public class SingletonImpl extends AbstractAnnotatedEdmItem implements Singleton
private String name;
- private String type;
+ private String entityType;
- private final List<NavigationPropertyBindingImpl> navigationPropertyBindings
- = new ArrayList<NavigationPropertyBindingImpl>();
+ private final List<NavigationPropertyBinding> navigationPropertyBindings = new ArrayList<NavigationPropertyBinding>();
@Override
public String getName() {
@@ -46,17 +46,17 @@ public class SingletonImpl extends AbstractAnnotatedEdmItem implements Singleton
}
@Override
- public String getType() {
- return type;
+ public String getEntityType() {
+ return entityType;
}
@Override
- public void setType(final String type) {
- this.type = type;
+ public void setEntityType(final String entityType) {
+ this.entityType = entityType;
}
@Override
- public List<NavigationPropertyBindingImpl> getNavigationPropertyBindings() {
+ public List<NavigationPropertyBinding> getNavigationPropertyBindings() {
return navigationPropertyBindings;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java
index 36b4cbe..07d2589 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionDeserializer.java
@@ -23,7 +23,6 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import java.io.IOException;
-import java.math.BigInteger;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
@@ -43,18 +42,18 @@ public class TypeDefinitionDeserializer extends AbstractEdmDeserializer<TypeDefi
} else if ("UnderlyingType".equals(jp.getCurrentName())) {
typeDefinition.setUnderlyingType(jp.nextTextValue());
} else if ("MaxLength".equals(jp.getCurrentName())) {
- typeDefinition.setMaxLength(jp.nextTextValue());
+ typeDefinition.setMaxLength(jp.nextIntValue(0));
} else if ("Unicode".equals(jp.getCurrentName())) {
typeDefinition.setUnicode(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("Precision".equals(jp.getCurrentName())) {
- typeDefinition.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
+ typeDefinition.setPrecision(jp.nextIntValue(0));
} else if ("Scale".equals(jp.getCurrentName())) {
- typeDefinition.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
+ typeDefinition.setScale(jp.nextIntValue(0));
} else if ("SRID".equals(jp.getCurrentName())) {
typeDefinition.setSrid(jp.nextTextValue());
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- typeDefinition.getAnnotations().add(jp.readValueAs( AnnotationImpl.class));
+ typeDefinition.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java
index 061a4a6..cbccf9e 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/TypeDefinitionImpl.java
@@ -18,12 +18,13 @@
*/
package org.apache.olingo.odata4.client.core.edm.xml.v4;
-import java.math.BigInteger;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.odata4.client.api.edm.xml.v4.TypeDefinition;
import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+@JsonDeserialize(using = TypeDefinitionDeserializer.class)
public class TypeDefinitionImpl extends AbstractEdmItem implements TypeDefinition {
private static final long serialVersionUID = -5888231162358116515L;
@@ -32,11 +33,11 @@ public class TypeDefinitionImpl extends AbstractEdmItem implements TypeDefinitio
private String underlyingType;
- private String maxLength;
+ private Integer maxLength;
- private BigInteger precision;
+ private Integer precision;
- private BigInteger scale;
+ private Integer scale;
private boolean unicode = true;
@@ -65,32 +66,32 @@ public class TypeDefinitionImpl extends AbstractEdmItem implements TypeDefinitio
}
@Override
- public String getMaxLength() {
+ public Integer getMaxLength() {
return maxLength;
}
@Override
- public void setMaxLength(final String maxLength) {
+ public void setMaxLength(final Integer maxLength) {
this.maxLength = maxLength;
}
@Override
- public BigInteger getPrecision() {
+ public Integer getPrecision() {
return precision;
}
@Override
- public void setPrecision(final BigInteger precision) {
+ public void setPrecision(final Integer precision) {
this.precision = precision;
}
@Override
- public BigInteger getScale() {
+ public Integer getScale() {
return scale;
}
@Override
- public void setScale(final BigInteger scale) {
+ public void setScale(final Integer scale) {
this.scale = scale;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/XMLMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/XMLMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/XMLMetadataImpl.java
new file mode 100644
index 0000000..98c8914
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/XMLMetadataImpl.java
@@ -0,0 +1,51 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractXMLMetadata;
+
+public class XMLMetadataImpl extends AbstractXMLMetadata {
+
+ private static final long serialVersionUID = -7765327879691528010L;
+
+ public XMLMetadataImpl(final EdmxImpl edmx) {
+ super(edmx);
+ }
+
+ @Override
+ public SchemaImpl getSchema(final int index) {
+ return (SchemaImpl) super.getSchema(index);
+ }
+
+ @Override
+ public SchemaImpl getSchema(final String key) {
+ return (SchemaImpl) super.getSchema(key);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public List<SchemaImpl> getSchemas() {
+ return (List<SchemaImpl>) super.getSchemas();
+ }
+
+ public List<ReferenceImpl> getReferences() {
+ return ((EdmxImpl) this.edmx).getReferences();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AbstractElOrAttrConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AbstractElOrAttrConstruct.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AbstractElOrAttrConstruct.java
new file mode 100644
index 0000000..fe871b3
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AbstractElOrAttrConstruct.java
@@ -0,0 +1,37 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+/**
+ * Groups dynamic expressions that may be provided using element notation or attribute notation.
+ */
+abstract class AbstractElOrAttrConstruct extends DynExprConstructImpl {
+
+ private static final long serialVersionUID = 5503275111425750339L;
+
+ private String value;
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(final String value) {
+ this.value = value;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotatedDynExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotatedDynExprConstruct.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotatedDynExprConstruct.java
new file mode 100644
index 0000000..4fe94f9
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotatedDynExprConstruct.java
@@ -0,0 +1,40 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+abstract class AnnotatedDynExprConstruct extends DynExprConstructImpl implements AnnotatedEdmItem {
+
+ private static final long serialVersionUID = -8117155475397749038L;
+
+ private AnnotationImpl annotation;
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotationPath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotationPath.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotationPath.java
new file mode 100644
index 0000000..b6a4c7d
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/AnnotationPath.java
@@ -0,0 +1,25 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+public class AnnotationPath extends AbstractElOrAttrConstruct {
+
+ private static final long serialVersionUID = 6198019768659098819L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Apply.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Apply.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Apply.java
new file mode 100644
index 0000000..362fbc2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Apply.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
+
+@JsonDeserialize(using = ApplyDeserializer.class)
+public class Apply extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = 6198019768659098819L;
+
+ public static final String CANONICAL_FUNCTION_CONCAT = "odata.concat";
+
+ public static final String CANONICAL_FUNCTION_FILLURITEMPLATE = "odata.fillUriTemplate";
+
+ public static final String CANONICAL_FUNCTION_URIENCODE = "odata.uriEncode";
+
+ private String function;
+
+ private final List<ExprConstruct> parameters = new ArrayList<ExprConstruct>();
+
+ public String getFunction() {
+ return function;
+ }
+
+ public void setFunction(final String function) {
+ this.function = function;
+ }
+
+ public List<ExprConstruct> getParameters() {
+ return parameters;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ApplyDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ApplyDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ApplyDeserializer.java
new file mode 100644
index 0000000..56378dc
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ApplyDeserializer.java
@@ -0,0 +1,55 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+public class ApplyDeserializer extends AbstractEdmDeserializer<Apply> {
+
+ @Override
+ protected Apply doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final Apply apply = new Apply();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Function".equals(jp.getCurrentName())) {
+ apply.setFunction(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ apply.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ } else if (isAnnotationConstExprConstruct(jp)) {
+ apply.getParameters().add(parseAnnotationConstExprConstruct(jp));
+ } else {
+ apply.getParameters().add(jp.readValueAs(DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return apply;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Cast.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Cast.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Cast.java
new file mode 100644
index 0000000..b3e3127
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Cast.java
@@ -0,0 +1,90 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.math.BigInteger;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+
+@JsonDeserialize(using = CastDeserializer.class)
+public class Cast extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = -7836626668653004926L;
+
+ private String type;
+
+ private String maxLength;
+
+ private BigInteger precision;
+
+ private BigInteger scale;
+
+ private String srid;
+
+ private DynExprConstruct value;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ public String getMaxLength() {
+ return maxLength;
+ }
+
+ public void setMaxLength(final String maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ public BigInteger getPrecision() {
+ return precision;
+ }
+
+ public void setPrecision(final BigInteger precision) {
+ this.precision = precision;
+ }
+
+ public BigInteger getScale() {
+ return scale;
+ }
+
+ public void setScale(final BigInteger scale) {
+ this.scale = scale;
+ }
+
+ public String getSrid() {
+ return srid;
+ }
+
+ public void setSrid(final String srid) {
+ this.srid = srid;
+ }
+
+ public DynExprConstruct getValue() {
+ return value;
+ }
+
+ public void setValue(final DynExprConstruct value) {
+ this.value = value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CastDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CastDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CastDeserializer.java
new file mode 100644
index 0000000..4430bc0
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CastDeserializer.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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import java.math.BigInteger;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+public class CastDeserializer extends AbstractEdmDeserializer<Cast> {
+
+ @Override
+ protected Cast doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final Cast cast = new Cast();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Type".equals(jp.getCurrentName())) {
+ cast.setType(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ cast.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ } else if ("MaxLength".equals(jp.getCurrentName())) {
+ cast.setMaxLength(jp.nextTextValue());
+ } else if ("Precision".equals(jp.getCurrentName())) {
+ cast.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("Scale".equals(jp.getCurrentName())) {
+ cast.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("SRID".equals(jp.getCurrentName())) {
+ cast.setSrid(jp.nextTextValue());
+ } else {
+ cast.setValue(jp.readValueAs(DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return cast;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Collection.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Collection.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Collection.java
new file mode 100644
index 0000000..3583a5c
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/Collection.java
@@ -0,0 +1,37 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
+
+@JsonDeserialize(using = CollectionDeserializer.class)
+public class Collection extends DynExprConstructImpl {
+
+ private static final long serialVersionUID = -4975881520695477686L;
+
+ private final List<ExprConstruct> items = new ArrayList<ExprConstruct>();
+
+ public List<ExprConstruct> getItems() {
+ return items;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CollectionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CollectionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CollectionDeserializer.java
new file mode 100644
index 0000000..20b0f56
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/CollectionDeserializer.java
@@ -0,0 +1,50 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class CollectionDeserializer extends AbstractEdmDeserializer<Collection> {
+
+ @Override
+ protected Collection doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final Collection collection = new Collection();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if (isAnnotationConstExprConstruct(jp)) {
+ collection.getItems().add(parseAnnotationConstExprConstruct(jp));
+ } else {
+ collection.getItems().add(jp.readValueAs( DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return collection;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ConstExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ConstExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ConstExprConstructImpl.java
new file mode 100644
index 0000000..d701d06
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ConstExprConstructImpl.java
@@ -0,0 +1,51 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ConstExprConstruct;
+
+public class ConstExprConstructImpl extends ExprConstructImpl implements ConstExprConstruct {
+
+ private static final long serialVersionUID = 2250072064504668969L;
+
+ private Type type;
+
+ private String value;
+
+ @Override
+ public Type getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final Type type) {
+ this.type = type;
+ }
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public void setValue(final String value) {
+ this.value = value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructDeserializer.java
new file mode 100644
index 0000000..e881c39
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructDeserializer.java
@@ -0,0 +1,145 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonLocation;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.ClassUtils;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class DynExprConstructDeserializer extends AbstractEdmDeserializer<DynExprConstructImpl> {
+
+ private static final String[] EL_OR_ATTR = { AnnotationPath.class.getSimpleName(), Path.class.getSimpleName() };
+
+ private static final String APPLY = Apply.class.getSimpleName();
+
+ private static final String CAST = Cast.class.getSimpleName();
+
+ private static final String COLLECTION = Collection.class.getSimpleName();
+
+ private static final String IF = If.class.getSimpleName();
+
+ private static final String IS_OF = IsOf.class.getSimpleName();
+
+ private static final String LABELED_ELEMENT = LabeledElement.class.getSimpleName();
+
+ private static final String NULL = Null.class.getSimpleName();
+
+ private static final String RECORD = Record.class.getSimpleName();
+
+ private static final String URL_REF = UrlRef.class.getSimpleName();
+
+ private AbstractElOrAttrConstruct getElOrAttrInstance(final String simpleClassName) throws JsonParseException {
+ try {
+ @SuppressWarnings("unchecked")
+ Class<? extends AbstractElOrAttrConstruct> elOrAttrClass =
+ (Class<? extends AbstractElOrAttrConstruct>) ClassUtils.getClass(
+ getClass().getPackage().getName() + "." + simpleClassName);
+ return elOrAttrClass.newInstance();
+ } catch (Exception e) {
+ throw new JsonParseException("Could not instantiate " + simpleClassName, JsonLocation.NA, e);
+ }
+ }
+
+ private ExprConstructImpl parseConstOrEnumExprConstruct(final JsonParser jp) throws IOException {
+ ExprConstructImpl result;
+ if (isAnnotationConstExprConstruct(jp)) {
+ result = parseAnnotationConstExprConstruct(jp);
+ } else {
+ result = jp.readValueAs( DynExprConstructImpl.class);
+ }
+ jp.nextToken();
+
+ return result;
+ }
+
+ @Override
+ protected DynExprConstructImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ DynExprConstructImpl construct = null;
+
+ if (DynExprSingleParamOp.Type.fromString(jp.getCurrentName()) != null) {
+ final DynExprSingleParamOp dynExprSingleParamOp = new DynExprSingleParamOp();
+ dynExprSingleParamOp.setType(DynExprSingleParamOp.Type.fromString(jp.getCurrentName()));
+
+ jp.nextToken();
+ jp.nextToken();
+ dynExprSingleParamOp.setExpression(jp.readValueAs( DynExprConstructImpl.class));
+
+ construct = dynExprSingleParamOp;
+ } else if (DynExprDoubleParamOp.Type.fromString(jp.getCurrentName()) != null) {
+ final DynExprDoubleParamOp dynExprDoubleParamOp = new DynExprDoubleParamOp();
+ dynExprDoubleParamOp.setType(DynExprDoubleParamOp.Type.fromString(jp.getCurrentName()));
+
+ jp.nextToken();
+ jp.nextToken();
+ dynExprDoubleParamOp.setLeft(jp.readValueAs( DynExprConstructImpl.class));
+ dynExprDoubleParamOp.setRight(jp.readValueAs( DynExprConstructImpl.class));
+
+ construct = dynExprDoubleParamOp;
+ } else if (ArrayUtils.contains(EL_OR_ATTR, jp.getCurrentName())) {
+ final AbstractElOrAttrConstruct elOrAttr = getElOrAttrInstance(jp.getCurrentName());
+ elOrAttr.setValue(jp.nextTextValue());
+
+ construct = elOrAttr;
+ } else if (APPLY.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( Apply.class);
+ } else if (CAST.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( Cast.class);
+ } else if (COLLECTION.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( Collection.class);
+ } else if (IF.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ jp.nextToken();
+
+ final If _if = new If();
+ _if.setGuard(parseConstOrEnumExprConstruct(jp));
+ _if.setThen(parseConstOrEnumExprConstruct(jp));
+ _if.setElse(parseConstOrEnumExprConstruct(jp));
+
+ construct = _if;
+ } else if (IS_OF.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( IsOf.class);
+ } else if (LABELED_ELEMENT.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( LabeledElement.class);
+ } else if (NULL.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( Null.class);
+ } else if (RECORD.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( Record.class);
+ } else if (URL_REF.equals(jp.getCurrentName())) {
+ jp.nextToken();
+ construct = jp.readValueAs( UrlRef.class);
+ }
+
+ return construct;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructImpl.java
new file mode 100644
index 0000000..862b322
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprConstructImpl.java
@@ -0,0 +1,29 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+
+@JsonDeserialize(using = DynExprConstructDeserializer.class)
+public abstract class DynExprConstructImpl extends ExprConstructImpl implements DynExprConstruct {
+
+ private static final long serialVersionUID = -642012862023177349L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprDoubleParamOp.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprDoubleParamOp.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprDoubleParamOp.java
new file mode 100644
index 0000000..6fd83d3
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprDoubleParamOp.java
@@ -0,0 +1,73 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+
+public class DynExprDoubleParamOp extends DynExprConstructImpl {
+
+ private static final long serialVersionUID = -7974475975925167731L;
+
+ public static enum Type {
+
+ And,
+ Or;
+
+ public static Type fromString(final String value) {
+ Type result = null;
+ for (Type type : values()) {
+ if (value.equals(type.name())) {
+ result = type;
+ }
+ }
+ return result;
+ }
+ }
+
+ private Type type;
+
+ private DynExprConstruct left;
+
+ private DynExprConstruct right;
+
+ public Type getType() {
+ return type;
+ }
+
+ public void setType(final Type type) {
+ this.type = type;
+ }
+
+ public DynExprConstruct getLeft() {
+ return left;
+ }
+
+ public void setLeft(final DynExprConstruct left) {
+ this.left = left;
+ }
+
+ public DynExprConstruct getRight() {
+ return right;
+ }
+
+ public void setRight(final DynExprConstruct right) {
+ this.right = right;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprSingleParamOp.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprSingleParamOp.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprSingleParamOp.java
new file mode 100644
index 0000000..7fc34e2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/DynExprSingleParamOp.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.odata4.client.core.edm.xml.v4.annotation;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+
+public class DynExprSingleParamOp extends DynExprConstructImpl {
+
+ private static final long serialVersionUID = -7974475975925167731L;
+
+ public static enum Type {
+
+ Not,
+ Eq,
+ Ne,
+ Gt,
+ Ge,
+ Lt,
+ Le;
+
+ public static Type fromString(final String value) {
+ Type result = null;
+ for (Type type : values()) {
+ if (value.equals(type.name())) {
+ result = type;
+ }
+ }
+ return result;
+ }
+
+ }
+
+ private Type type;
+
+ private DynExprConstruct expression;
+
+ public Type getType() {
+ return type;
+ }
+
+ public void setType(final Type type) {
+ this.type = type;
+ }
+
+ public DynExprConstruct getExpression() {
+ return expression;
+ }
+
+ public void setExpression(final DynExprConstruct expression) {
+ this.expression = expression;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ExprConstructImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ExprConstructImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ExprConstructImpl.java
new file mode 100644
index 0000000..960c730
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/ExprConstructImpl.java
@@ -0,0 +1,28 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public abstract class ExprConstructImpl extends AbstractEdmItem implements ExprConstruct {
+
+ private static final long serialVersionUID = 7108626008005050492L;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/If.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/If.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/If.java
new file mode 100644
index 0000000..e6ea91d
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/If.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.odata4.client.core.edm.xml.v4.annotation;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ExprConstruct;
+
+public class If extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = 6752952406406218936L;
+
+ private ExprConstruct guard;
+
+ private ExprConstruct _then;
+
+ private ExprConstruct _else;
+
+ public ExprConstruct getGuard() {
+ return guard;
+ }
+
+ public void setGuard(final ExprConstruct guard) {
+ this.guard = guard;
+ }
+
+ public ExprConstruct getThen() {
+ return _then;
+ }
+
+ public void setThen(final ExprConstruct _then) {
+ this._then = _then;
+ }
+
+ public ExprConstruct getElse() {
+ return _else;
+ }
+
+ public void setElse(final ExprConstruct _else) {
+ this._else = _else;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOf.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOf.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOf.java
new file mode 100644
index 0000000..d327964
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOf.java
@@ -0,0 +1,90 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.math.BigInteger;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+
+@JsonDeserialize(using = IsOfDeserializer.class)
+public class IsOf extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = 6958304670385303776L;
+
+ private String type;
+
+ private String maxLength;
+
+ private BigInteger precision;
+
+ private BigInteger scale;
+
+ private String srid;
+
+ private DynExprConstruct value;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ public String getMaxLength() {
+ return maxLength;
+ }
+
+ public void setMaxLength(final String maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ public BigInteger getPrecision() {
+ return precision;
+ }
+
+ public void setPrecision(final BigInteger precision) {
+ this.precision = precision;
+ }
+
+ public BigInteger getScale() {
+ return scale;
+ }
+
+ public void setScale(final BigInteger scale) {
+ this.scale = scale;
+ }
+
+ public String getSrid() {
+ return srid;
+ }
+
+ public void setSrid(final String srid) {
+ this.srid = srid;
+ }
+
+ public DynExprConstruct getValue() {
+ return value;
+ }
+
+ public void setValue(final DynExprConstruct value) {
+ this.value = value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOfDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOfDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOfDeserializer.java
new file mode 100644
index 0000000..283997e
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/IsOfDeserializer.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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import java.math.BigInteger;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+public class IsOfDeserializer extends AbstractEdmDeserializer<IsOf> {
+
+ @Override
+ protected IsOf doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final IsOf isof = new IsOf();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Type".equals(jp.getCurrentName())) {
+ isof.setType(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ isof.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ } else if ("MaxLength".equals(jp.getCurrentName())) {
+ isof.setMaxLength(jp.nextTextValue());
+ } else if ("Precision".equals(jp.getCurrentName())) {
+ isof.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("Scale".equals(jp.getCurrentName())) {
+ isof.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
+ } else if ("SRID".equals(jp.getCurrentName())) {
+ isof.setSrid(jp.nextTextValue());
+ } else {
+ isof.setValue(jp.readValueAs(DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return isof;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElement.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElement.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElement.java
new file mode 100644
index 0000000..15321d2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElement.java
@@ -0,0 +1,49 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+
+@JsonDeserialize(using = LabeledElementDeserializer.class)
+public class LabeledElement extends AnnotatedDynExprConstruct {
+
+ private static final long serialVersionUID = 6938971787086282939L;
+
+ private String name;
+
+ private DynExprConstruct value;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ public DynExprConstruct getValue() {
+ return value;
+ }
+
+ public void setValue(final DynExprConstruct value) {
+ this.value = value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/bae3d847/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementDeserializer.java
new file mode 100644
index 0000000..440b08b
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/annotation/LabeledElementDeserializer.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4.annotation;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.AnnotationImpl;
+
+public class LabeledElementDeserializer extends AbstractEdmDeserializer<LabeledElement> {
+
+ @Override
+ protected LabeledElement doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final LabeledElement element = new LabeledElement();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ element.setName(jp.nextTextValue());
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ element.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ } else {
+ element.setValue(jp.readValueAs(DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return element;
+ }
+
+}
[02/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImpl.java
new file mode 100644
index 0000000..d92ab8e
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImpl.java
@@ -0,0 +1,92 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Action;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ReturnType;
+
+@JsonDeserialize(using = ActionDeserializer.class)
+public class ActionImpl extends AbstractAnnotatedEdmItem implements Action {
+
+ private static final long serialVersionUID = -99977447455438193L;
+
+ private String name;
+
+ private boolean bound = false;
+
+ private String entitySetPath;
+
+ private final List<ParameterImpl> parameters = new ArrayList<ParameterImpl>();
+
+ private ReturnTypeImpl returnType;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public boolean isBound() {
+ return bound;
+ }
+
+ @Override
+ public void setBound(final boolean bound) {
+ this.bound = bound;
+ }
+
+ @Override
+ public String getEntitySetPath() {
+ return entitySetPath;
+ }
+
+ @Override
+ public void setEntitySetPath(final String entitySetPath) {
+ this.entitySetPath = entitySetPath;
+ }
+
+ @Override
+ public ParameterImpl getParameter(final String name) {
+ return getOneByName(name, getParameters());
+ }
+
+ @Override
+ public List<ParameterImpl> getParameters() {
+ return parameters;
+ }
+
+ @Override
+ public ReturnTypeImpl getReturnType() {
+ return returnType;
+ }
+
+ @Override
+ public void setReturnType(final ReturnType returnType) {
+ this.returnType = (ReturnTypeImpl) returnType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImportImpl.java
new file mode 100644
index 0000000..63284ac
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ActionImportImpl.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ActionImport;
+
+public class ActionImportImpl extends AbstractAnnotatedEdmItem implements ActionImport {
+
+ private static final long serialVersionUID = -866422101558426421L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty(value = "Action", required = true)
+ private String action;
+
+ @JsonProperty(value = "EntitySet")
+ private String entitySet;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getAction() {
+ return action;
+ }
+
+ @Override
+ public void setAction(final String action) {
+ this.action = action;
+ }
+
+ @Override
+ public String getEntitySet() {
+ return entitySet;
+ }
+
+ @Override
+ public void setEntitySet(final String entitySet) {
+ this.entitySet = entitySet;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.java
new file mode 100644
index 0000000..b449bdf
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationDeserializer.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+import org.apache.olingo.odata4.client.core.edm.v4.annotation.DynExprConstructImpl;
+
+public class AnnotationDeserializer extends AbstractEdmDeserializer<AnnotationImpl> {
+
+ @Override
+ protected AnnotationImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ 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 (isAnnotationConstExprConstruct(jp)) {
+ // Constant Expressions
+ annotation.setConstExpr(parseAnnotationConstExprConstruct(jp));
+ } else {
+ // Dynamic Expressions
+ annotation.setDynExpr(jp.readValueAs( DynExprConstructImpl.class));
+ }
+ }
+ }
+
+ return annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java
new file mode 100644
index 0000000..47bc2ad
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationImpl.java
@@ -0,0 +1,82 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ConstExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+import org.apache.olingo.odata4.client.core.edm.v4.annotation.ConstExprConstructImpl;
+import org.apache.olingo.odata4.client.core.edm.v4.annotation.DynExprConstructImpl;
+
+@JsonDeserialize(using = AnnotationDeserializer.class)
+public class AnnotationImpl extends AbstractEdmItem implements Annotation {
+
+ private static final long serialVersionUID = -5600031479702563436L;
+
+ private String term;
+
+ private String qualifier;
+
+ private ConstExprConstructImpl constExpr;
+
+ private DynExprConstructImpl dynExpr;
+
+ @Override
+ public String getTerm() {
+ return term;
+ }
+
+ @Override
+ public void setTerm(final String term) {
+ this.term = term;
+ }
+
+ @Override
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ @Override
+ public void setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ }
+
+ @Override
+ public ConstExprConstructImpl getConstExpr() {
+ return constExpr;
+ }
+
+ @Override
+ public void setConstExpr(final ConstExprConstruct constExpr) {
+ this.constExpr = (ConstExprConstructImpl) constExpr;
+ }
+
+ @Override
+ public DynExprConstructImpl getDynExpr() {
+ return dynExpr;
+ }
+
+ @Override
+ public void setDynExpr(final DynExprConstruct dynExpr) {
+ this.dynExpr = (DynExprConstructImpl) dynExpr;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsDeserializer.java
new file mode 100644
index 0000000..80e07ad
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsDeserializer.java
@@ -0,0 +1,53 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class AnnotationsDeserializer extends AbstractEdmDeserializer<AnnotationsImpl> {
+
+ @Override
+ protected AnnotationsImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final AnnotationsImpl annotations = new AnnotationsImpl();
+
+ for (; 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/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsImpl.java
new file mode 100644
index 0000000..cfd961d
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/AnnotationsImpl.java
@@ -0,0 +1,49 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotations;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractAnnotations;
+
+@JsonDeserialize(using = AnnotationsDeserializer.class)
+public class AnnotationsImpl extends AbstractAnnotations implements Annotations {
+
+ private static final long serialVersionUID = 3877353656301805410L;
+
+ private final List<AnnotationImpl> annotations = new ArrayList<AnnotationImpl>();
+
+ @Override
+ public List<AnnotationImpl> getAnnotations() {
+ return annotations;
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation(final String term) {
+ AnnotationImpl result = null;
+ for (AnnotationImpl annotation : getAnnotations()) {
+ if (term.equals(annotation.getTerm())) {
+ result = annotation;
+ }
+ }
+ return result;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ComplexTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ComplexTypeImpl.java
new file mode 100644
index 0000000..4d4812b
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ComplexTypeImpl.java
@@ -0,0 +1,103 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ComplexType;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractComplexType;
+
+public class ComplexTypeImpl extends AbstractComplexType implements ComplexType {
+
+ private static final long serialVersionUID = -1251230308269425962L;
+
+ private boolean abstractEntityType = false;
+
+ private String baseType;
+
+ private boolean openType = false;
+
+ private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
+
+ private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
+
+ private AnnotationImpl annotation;
+
+ @Override
+ public boolean isAbstractEntityType() {
+ return abstractEntityType;
+ }
+
+ @Override
+ public void setAbstractEntityType(final boolean abstractEntityType) {
+ this.abstractEntityType = abstractEntityType;
+ }
+
+ @Override
+ public String getBaseType() {
+ return baseType;
+ }
+
+ @Override
+ public void setBaseType(final String baseType) {
+ this.baseType = baseType;
+ }
+
+ @Override
+ public boolean isOpenType() {
+ return openType;
+ }
+
+ @Override
+ public void setOpenType(final boolean openType) {
+ this.openType = openType;
+ }
+
+ @Override
+ public PropertyImpl getProperty(final String name) {
+ return (PropertyImpl) super.getProperty(name);
+ }
+
+ @Override
+ public List<PropertyImpl> getProperties() {
+ return properties;
+ }
+
+ @Override
+ public NavigationPropertyImpl getNavigationProperty(String name) {
+ return (NavigationPropertyImpl) super.getNavigationProperty(name);
+ }
+
+ @Override
+ public List<NavigationPropertyImpl> getNavigationProperties() {
+ return navigationProperties;
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/DataServicesImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/DataServicesImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/DataServicesImpl.java
new file mode 100644
index 0000000..9a62677
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/DataServicesImpl.java
@@ -0,0 +1,36 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractDataServices;
+
+public class DataServicesImpl extends AbstractDataServices {
+
+ private static final long serialVersionUID = -7954360771258897632L;
+
+ private final List<SchemaImpl> schemas = new ArrayList<SchemaImpl>();
+
+ @Override
+ public List<SchemaImpl> getSchemas() {
+ return schemas;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EdmxImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EdmxImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EdmxImpl.java
new file mode 100644
index 0000000..f23f05f
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EdmxImpl.java
@@ -0,0 +1,42 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Edmx;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmx;
+
+public class EdmxImpl extends AbstractEdmx implements Edmx {
+
+ private static final long serialVersionUID = -8031883176876401375L;
+
+ private final List<ReferenceImpl> references = new ArrayList<ReferenceImpl>();
+
+ @Override
+ public DataServicesImpl getDataServices() {
+ return (DataServicesImpl) super.getDataServices();
+ }
+
+ @Override
+ public List<ReferenceImpl> getReferences() {
+ return references;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java
new file mode 100644
index 0000000..40bab7c
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityContainerImpl.java
@@ -0,0 +1,123 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntityContainer;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityContainer;
+
+public class EntityContainerImpl extends AbstractEntityContainer implements AnnotatedEdmItem, EntityContainer {
+
+ private static final long serialVersionUID = 2526002525927260320L;
+
+ private final List<EntitySetImpl> entitySets = new ArrayList<EntitySetImpl>();
+
+ private final List<SingletonImpl> singletons = new ArrayList<SingletonImpl>();
+
+ private final List<ActionImportImpl> actionImports = new ArrayList<ActionImportImpl>();
+
+ private final List<FunctionImportImpl> functionImports = new ArrayList<FunctionImportImpl>();
+
+ private AnnotationImpl annotation;
+
+ @Override
+ public void setDefaultEntityContainer(final boolean defaultEntityContainer) {
+ // no action: a single entity container MUST be available as per OData 4.0
+ }
+
+ @Override
+ public boolean isDefaultEntityContainer() {
+ return true;
+ }
+
+ @Override
+ public EntitySetImpl getEntitySet(final String name) {
+ return (EntitySetImpl) super.getEntitySet(name);
+ }
+
+ @Override
+ public List<EntitySetImpl> getEntitySets() {
+ return entitySets;
+ }
+
+ public List<SingletonImpl> getSingletons() {
+ return singletons;
+ }
+
+ public SingletonImpl getSingleton(final String name) {
+ return getOneByName(name, getSingletons());
+ }
+
+ @Override
+ public FunctionImportImpl getFunctionImport(final String name) {
+ return (FunctionImportImpl) super.getFunctionImport(name);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public List<FunctionImportImpl> getFunctionImports(final String name) {
+ return (List<FunctionImportImpl>) super.getFunctionImports(name);
+ }
+
+ /**
+ * Gets the first action import with given name.
+ *
+ * @param name name.
+ * @return action import.
+ */
+ @Override
+ public ActionImportImpl getActionImport(final String name) {
+ return getOneByName(name, getActionImports());
+ }
+
+ /**
+ * Gets all action imports with given name.
+ *
+ * @param name name.
+ * @return action imports.
+ */
+ @Override
+ public List<ActionImportImpl> getActionImports(final String name) {
+ return getAllByName(name, getActionImports());
+ }
+
+ @Override
+ public List<ActionImportImpl> getActionImports() {
+ return actionImports;
+ }
+
+ @Override
+ public List<FunctionImportImpl> getFunctionImports() {
+ return functionImports;
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.java
new file mode 100644
index 0000000..b0451f5
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntitySetImpl.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.odata4.client.core.edm.xml.v4;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntitySet;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntitySet;
+
+public class EntitySetImpl extends AbstractEntitySet implements EntitySet {
+
+ private static final long serialVersionUID = 5570833733884884012L;
+
+ private boolean includeInServiceDocument = true;
+
+ private AnnotationImpl annotation;
+
+ private final List<NavigationPropertyBindingImpl> navigationPropertyBindings
+ = new ArrayList<NavigationPropertyBindingImpl>();
+
+ @Override
+ public boolean isIncludeInServiceDocument() {
+ return includeInServiceDocument;
+ }
+
+ @Override
+ public void setIncludeInServiceDocument(final boolean includeInServiceDocument) {
+ this.includeInServiceDocument = includeInServiceDocument;
+ }
+
+ @Override
+ public List<NavigationPropertyBindingImpl> getNavigationPropertyBindings() {
+ return navigationPropertyBindings;
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityTypeImpl.java
new file mode 100644
index 0000000..d82b1a2
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EntityTypeImpl.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.odata4.client.core.edm.xml.v4;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.EntityType;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEntityType;
+
+public class EntityTypeImpl extends AbstractEntityType implements EntityType {
+
+ private static final long serialVersionUID = 8727765036150269547L;
+
+ private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
+
+ private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
+
+ private AnnotationImpl annotation;
+
+ @Override
+ public PropertyImpl getProperty(final String name) {
+ return (PropertyImpl) super.getProperty(name);
+ }
+
+ @Override
+ public List<PropertyImpl> getProperties() {
+ return properties;
+ }
+
+ @Override
+ public NavigationPropertyImpl getNavigationProperty(final String name) {
+ return (NavigationPropertyImpl) super.getNavigationProperty(name);
+ }
+
+ @Override
+ public List<NavigationPropertyImpl> getNavigationProperties() {
+ return navigationProperties;
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EnumTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EnumTypeImpl.java
new file mode 100644
index 0000000..b7867dc
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/EnumTypeImpl.java
@@ -0,0 +1,60 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEnumType;
+
+public class EnumTypeImpl extends AbstractEnumType implements AnnotatedEdmItem {
+
+ private static final long serialVersionUID = -3329664331877556957L;
+
+ private AnnotationImpl annotation;
+
+ private final List<MemberImpl> members = new ArrayList<MemberImpl>();
+
+ @Override
+ public List<MemberImpl> getMembers() {
+ return members;
+ }
+
+ @Override
+ public MemberImpl getMember(final String name) {
+ return (MemberImpl) super.getMember(name);
+ }
+
+ @Override
+ public MemberImpl getMember(final Integer value) {
+ return (MemberImpl) super.getMember(value);
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionDeserializer.java
new file mode 100644
index 0000000..f8c6b8a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionDeserializer.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class FunctionDeserializer extends AbstractEdmDeserializer<FunctionImpl> {
+
+ @Override
+ protected FunctionImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final FunctionImpl functionImpl = new FunctionImpl();
+
+ 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(ParameterImpl.class));
+ } else if ("ReturnType".equals(jp.getCurrentName())) {
+ functionImpl.setReturnType(parseReturnType(jp, "Function"));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ functionImpl.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ }
+ }
+ }
+
+ return functionImpl;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImpl.java
new file mode 100644
index 0000000..f355eba
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImpl.java
@@ -0,0 +1,41 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Function;
+
+@JsonDeserialize(using = FunctionDeserializer.class)
+public class FunctionImpl extends ActionImpl implements Function {
+
+ private static final long serialVersionUID = -5888231162358116515L;
+
+ private boolean composable = false;
+
+ @Override
+ public boolean isComposable() {
+ return composable;
+ }
+
+ @Override
+ public void setComposable(final boolean composable) {
+ this.composable = composable;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImportImpl.java
new file mode 100644
index 0000000..f933664
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/FunctionImportImpl.java
@@ -0,0 +1,96 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.FunctionImport;
+
+public class FunctionImportImpl implements FunctionImport {
+
+ private static final long serialVersionUID = 3023813358471000019L;
+
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty(value = "Function", required = true)
+ private String function;
+
+ @JsonProperty(value = "EntitySet")
+ private String entitySet;
+
+ @JsonProperty(value = "IncludeInServiceDocument")
+ private boolean includeInServiceDocument = false;
+
+ @JsonProperty(value = "Annotation")
+ private AnnotationImpl annotation;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getFunction() {
+ return function;
+ }
+
+ @Override
+ public void setFunction(final String function) {
+ this.function = function;
+ }
+
+ @Override
+ public String getEntitySet() {
+ return entitySet;
+ }
+
+ @Override
+ public void setEntitySet(final String entitySet) {
+ this.entitySet = entitySet;
+ }
+
+ @Override
+ public boolean isIncludeInServiceDocument() {
+ return includeInServiceDocument;
+ }
+
+ @Override
+ public void setIncludeInServiceDocument(final boolean includeInServiceDocument) {
+ this.includeInServiceDocument = includeInServiceDocument;
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @JsonIgnore
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeAnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeAnnotationsImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeAnnotationsImpl.java
new file mode 100644
index 0000000..1dd0e30
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeAnnotationsImpl.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.IncludeAnnotations;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class IncludeAnnotationsImpl extends AbstractEdmItem implements IncludeAnnotations {
+
+ private static final long serialVersionUID = -5600031479702563436L;
+
+ @JsonProperty(value = "TermNamespace", required = true)
+ private String termNamespace;
+
+ @JsonProperty(value = "Qualifier")
+ private String qualifier;
+
+ @JsonProperty(value = "TargetNamespace")
+ private String targeyNamespace;
+
+ @Override
+ public String getTermNamespace() {
+ return termNamespace;
+ }
+
+ @Override
+ public void setTermNamespace(final String termNamespace) {
+ this.termNamespace = termNamespace;
+ }
+
+ @Override
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ @Override
+ public void setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ }
+
+ @Override
+ public String getTargeyNamespace() {
+ return targeyNamespace;
+ }
+
+ @Override
+ public void setTargeyNamespace(final String targeyNamespace) {
+ this.targeyNamespace = targeyNamespace;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeImpl.java
new file mode 100644
index 0000000..487edc6
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/IncludeImpl.java
@@ -0,0 +1,55 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Include;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class IncludeImpl extends AbstractEdmItem implements Include {
+
+ private static final long serialVersionUID = -5600031479702563436L;
+
+ @JsonProperty(value = "Namespace", required = true)
+ private String namespace;
+
+ @JsonProperty(value = "Alias")
+ private String alias;
+
+ @Override
+ public String getNamespace() {
+ return namespace;
+ }
+
+ @Override
+ public void setNamespace(final String namespace) {
+ this.namespace = namespace;
+ }
+
+ @Override
+ public String getAlias() {
+ return alias;
+ }
+
+ @Override
+ public void setAlias(final String alias) {
+ this.alias = alias;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/MemberImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/MemberImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/MemberImpl.java
new file mode 100644
index 0000000..baed5fd
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/MemberImpl.java
@@ -0,0 +1,45 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractMember;
+
+public class MemberImpl extends AbstractMember implements AnnotatedEdmItem {
+
+ private static final long serialVersionUID = -344920557183058824L;
+
+ @JsonProperty("Annotation")
+ private AnnotationImpl annotation;
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @JsonIgnore
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyBindingImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyBindingImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyBindingImpl.java
new file mode 100644
index 0000000..536dee3
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyBindingImpl.java
@@ -0,0 +1,55 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationPropertyBinding;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class NavigationPropertyBindingImpl extends AbstractEdmItem implements NavigationPropertyBinding {
+
+ private static final long serialVersionUID = -6026065326479176817L;
+
+ @JsonProperty(value = "Path", required = true)
+ private String path;
+
+ @JsonProperty(value = "Target", required = true)
+ private String target;
+
+ @Override
+ public String getPath() {
+ return path;
+ }
+
+ @Override
+ public void setPath(final String path) {
+ this.path = path;
+ }
+
+ @Override
+ public String getTarget() {
+ return target;
+ }
+
+ @Override
+ public void setTarget(final String target) {
+ this.target = target;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyDeserializer.java
new file mode 100644
index 0000000..89c942b
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyDeserializer.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.odata4.client.core.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.core.edm.xml.OnDeleteImpl;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class NavigationPropertyDeserializer extends AbstractEdmDeserializer<NavigationPropertyImpl> {
+
+ @Override
+ protected NavigationPropertyImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final NavigationPropertyImpl property = new NavigationPropertyImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Name".equals(jp.getCurrentName())) {
+ property.setName(jp.nextTextValue());
+ } else if ("Type".equals(jp.getCurrentName())) {
+ property.setType(jp.nextTextValue());
+ } else if ("Nullable".equals(jp.getCurrentName())) {
+ property.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("Partner".equals(jp.getCurrentName())) {
+ property.setPartner(jp.nextTextValue());
+ } else if ("ContainsTarget".equals(jp.getCurrentName())) {
+ property.setContainsTarget(BooleanUtils.toBoolean(jp.nextTextValue()));
+ } else if ("ReferentialConstraint".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ property.getReferentialConstraints().add(jp.readValueAs(ReferentialConstraintImpl.class));
+ } else if ("OnDelete".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ property.setOnDelete(jp.readValueAs(OnDeleteImpl.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ property.setAnnotation(jp.readValueAs(AnnotationImpl.class));
+ }
+ }
+ }
+
+ return property;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyImpl.java
new file mode 100644
index 0000000..d600d82
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/NavigationPropertyImpl.java
@@ -0,0 +1,114 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.core.edm.xml.OnDeleteImpl;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.NavigationProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.OnDelete;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractNavigationProperty;
+
+@JsonDeserialize(using = NavigationPropertyDeserializer.class)
+public class NavigationPropertyImpl extends AbstractNavigationProperty implements NavigationProperty {
+
+ private static final long serialVersionUID = -2889417442815563307L;
+
+ private String type;
+
+ private boolean nullable = true;
+
+ private String partner;
+
+ private boolean containsTarget = false;
+
+ private final List<ReferentialConstraintImpl> referentialConstraints = new ArrayList<ReferentialConstraintImpl>();
+
+ private OnDeleteImpl onDelete;
+
+ private AnnotationImpl annotation;
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ @Override
+ public void setNullable(final boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public String getPartner() {
+ return partner;
+ }
+
+ @Override
+ public void setPartner(final String partner) {
+ this.partner = partner;
+ }
+
+ @Override
+ public boolean isContainsTarget() {
+ return containsTarget;
+ }
+
+ @Override
+ public void setContainsTarget(final boolean containsTarget) {
+ this.containsTarget = containsTarget;
+ }
+
+ @Override
+ public List<ReferentialConstraintImpl> getReferentialConstraints() {
+ return referentialConstraints;
+ }
+
+ @Override
+ public OnDeleteImpl getOnDelete() {
+ return onDelete;
+ }
+
+ @Override
+ public void setOnDelete(final OnDelete onDelete) {
+ this.onDelete = (OnDeleteImpl) onDelete;
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java
new file mode 100644
index 0000000..cf54d9e
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ParameterImpl.java
@@ -0,0 +1,42 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Parameter;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractParameter;
+
+public class ParameterImpl extends AbstractParameter implements Parameter {
+
+ private static final long serialVersionUID = -1067642515116697747L;
+
+ @JsonProperty(value = "SRID")
+ private String srid;
+
+ @Override
+ public String getSrid() {
+ return srid;
+ }
+
+ @Override
+ public void setSrid(final String srid) {
+ this.srid = srid;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java
new file mode 100644
index 0000000..ae2e4d1
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/PropertyImpl.java
@@ -0,0 +1,44 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Property;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractProperty;
+
+public class PropertyImpl extends AbstractProperty implements Property {
+
+ private static final long serialVersionUID = -5541908235094985412L;
+
+ @JsonProperty("Annotation")
+ private AnnotationImpl annotation;
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @JsonIgnore
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceDeserializer.java
new file mode 100644
index 0000000..60c225a
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceDeserializer.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import java.io.IOException;
+import java.net.URI;
+import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
+
+public class ReferenceDeserializer extends AbstractEdmDeserializer<ReferenceImpl> {
+
+ @Override
+ protected ReferenceImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
+
+ final ReferenceImpl reference = new ReferenceImpl();
+
+ for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
+ final JsonToken token = jp.getCurrentToken();
+ if (token == JsonToken.FIELD_NAME) {
+ if ("Uri".equals(jp.getCurrentName())) {
+ reference.setUri(URI.create(jp.nextTextValue()));
+ } else if ("Include".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ reference.getIncludes().add(jp.readValueAs( IncludeImpl.class));
+ } else if ("IncludeAnnotations".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ reference.getIncludeAnnotations().add(jp.readValueAs( IncludeAnnotationsImpl.class));
+ } else if ("Annotation".equals(jp.getCurrentName())) {
+ jp.nextToken();
+ reference.getAnnotations().add(jp.readValueAs( AnnotationImpl.class));
+ }
+ }
+ }
+
+ return reference;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceImpl.java
new file mode 100644
index 0000000..e187256
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferenceImpl.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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Reference;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+@JsonDeserialize(using = ReferenceDeserializer.class)
+public class ReferenceImpl extends AbstractEdmItem implements Reference {
+
+ private static final long serialVersionUID = -5600031479702563436L;
+
+ private URI uri;
+
+ private final List<IncludeImpl> includes = new ArrayList<IncludeImpl>();
+
+ private final List<IncludeAnnotationsImpl> includeAnnotations = new ArrayList<IncludeAnnotationsImpl>();
+
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public URI getUri() {
+ return uri;
+ }
+
+ @Override
+ public void setUri(final URI uri) {
+ this.uri = uri;
+ }
+
+ @Override
+ public List<IncludeImpl> getIncludes() {
+ return includes;
+ }
+
+ @Override
+ public List<IncludeAnnotationsImpl> getIncludeAnnotations() {
+ return includeAnnotations;
+ }
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferentialConstraintImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferentialConstraintImpl.java
new file mode 100644
index 0000000..56dd68f
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReferentialConstraintImpl.java
@@ -0,0 +1,54 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ReferentialConstraint;
+
+public class ReferentialConstraintImpl extends AbstractAnnotatedEdmItem implements ReferentialConstraint {
+
+ private static final long serialVersionUID = -9182114558289778632L;
+
+ @JsonProperty(value = "Property", required = true)
+ private String property;
+
+ @JsonProperty(value = "ReferencedProperty", required = true)
+ private String referencedProperty;
+
+ @Override
+ public String getProperty() {
+ return property;
+ }
+
+ @Override
+ public void setProperty(final String property) {
+ this.property = property;
+ }
+
+ @Override
+ public String getReferencedProperty() {
+ return referencedProperty;
+ }
+
+ @Override
+ public void setReferencedProperty(final String referencedProperty) {
+ this.referencedProperty = referencedProperty;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java
new file mode 100644
index 0000000..6fcf691
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/ReturnTypeImpl.java
@@ -0,0 +1,108 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.math.BigInteger;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.ReturnType;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractEdmItem;
+
+public class ReturnTypeImpl extends AbstractEdmItem implements ReturnType {
+
+ private static final long serialVersionUID = -5888231162358116515L;
+
+ @JsonProperty(value = "Type")
+ private String type;
+
+ @JsonProperty(value = "Nullable")
+ private boolean nullable = true;
+
+ @JsonProperty(value = "MaxLength")
+ private String maxLength;
+
+ @JsonProperty(value = "Precision")
+ private BigInteger precision;
+
+ @JsonProperty(value = "Scale")
+ private BigInteger scale;
+
+ @JsonProperty(value = "SRID")
+ private String srid;
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ @Override
+ public void setNullable(final boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public String getMaxLength() {
+ return maxLength;
+ }
+
+ @Override
+ public void setMaxLength(final String maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ @Override
+ public BigInteger getPrecision() {
+ return precision;
+ }
+
+ @Override
+ public void setPrecision(final BigInteger precision) {
+ this.precision = precision;
+ }
+
+ @Override
+ public BigInteger getScale() {
+ return scale;
+ }
+
+ @Override
+ public void setScale(final BigInteger scale) {
+ this.scale = scale;
+ }
+
+ @Override
+ public String getSrid() {
+ return srid;
+ }
+
+ @Override
+ public void setSrid(final String srid) {
+ this.srid = srid;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java
new file mode 100644
index 0000000..d37e9fb
--- /dev/null
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/xml/v4/SchemaImpl.java
@@ -0,0 +1,165 @@
+/*
+ * 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.odata4.client.core.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.AnnotatedEdmItem;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Schema;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.Annotation;
+import org.apache.olingo.odata4.client.core.edm.xml.AbstractSchema;
+
+public class SchemaImpl extends AbstractSchema implements Schema, AnnotatedEdmItem {
+
+ private static final long serialVersionUID = 4453992249818796144L;
+
+ private final List<ActionImpl> actions = new ArrayList<ActionImpl>();
+
+ private final List<AnnotationsImpl> annotationsList = new ArrayList<AnnotationsImpl>();
+
+ private final List<AnnotationImpl> annotations = new ArrayList<AnnotationImpl>();
+
+ private final List<ComplexTypeImpl> complexTypes = new ArrayList<ComplexTypeImpl>();
+
+ private EntityContainerImpl entityContainer;
+
+ private final List<EnumTypeImpl> enumTypes = new ArrayList<EnumTypeImpl>();
+
+ private final List<EntityTypeImpl> entityTypes = new ArrayList<EntityTypeImpl>();
+
+ private final List<FunctionImpl> functions = new ArrayList<FunctionImpl>();
+
+ private final List<TermImpl> terms = new ArrayList<TermImpl>();
+
+ private final List<TypeDefinitionImpl> typeDefinitions = new ArrayList<TypeDefinitionImpl>();
+
+ private AnnotationImpl annotation;
+
+ public List<ActionImpl> getActions() {
+ return actions;
+ }
+
+ public List<ActionImpl> getActions(final String name) {
+ return getAllByName(name, getActions());
+ }
+
+ @Override
+ public List<AnnotationsImpl> getAnnotationsList() {
+ return annotationsList;
+ }
+
+ @Override
+ public AnnotationsImpl getAnnotationsList(final String target) {
+ AnnotationsImpl result = null;
+ for (AnnotationsImpl annots : getAnnotationsList()) {
+ if (target.equals(annots.getTarget())) {
+ result = annots;
+ }
+ }
+ return result;
+ }
+
+ public List<AnnotationImpl> getAnnotations() {
+ return annotations;
+ }
+
+ public List<FunctionImpl> getFunctions() {
+ return functions;
+ }
+
+ public List<FunctionImpl> getFunctions(final String name) {
+ return getAllByName(name, getFunctions());
+ }
+
+ public List<TermImpl> getTerms() {
+ return terms;
+ }
+
+ public List<TypeDefinitionImpl> getTypeDefinitions() {
+ return typeDefinitions;
+ }
+
+ public EntityContainerImpl getEntityContainer() {
+ return entityContainer;
+ }
+
+ public void setEntityContainer(final EntityContainerImpl entityContainer) {
+ this.entityContainer = entityContainer;
+ }
+
+ @Override
+ public List<EntityContainerImpl> getEntityContainers() {
+ return entityContainer == null
+ ? Collections.<EntityContainerImpl>emptyList() : Collections.singletonList(entityContainer);
+ }
+
+ @Override
+ public EntityContainerImpl getDefaultEntityContainer() {
+ return entityContainer;
+ }
+
+ @Override
+ public EntityContainerImpl getEntityContainer(final String name) {
+ if (entityContainer != null && name.equals(entityContainer.getName())) {
+ return entityContainer;
+ }
+ throw new IllegalArgumentException("No EntityContainer found with name " + name);
+ }
+
+ @Override
+ public AnnotationImpl getAnnotation() {
+ return annotation;
+ }
+
+ @Override
+ public void setAnnotation(final Annotation annotation) {
+ this.annotation = (AnnotationImpl) annotation;
+ }
+
+ @Override
+ public EnumTypeImpl getEnumType(final String name) {
+ return (EnumTypeImpl) super.getEnumType(name);
+ }
+
+ @Override
+ public List<EnumTypeImpl> getEnumTypes() {
+ return enumTypes;
+ }
+
+ @Override
+ public ComplexTypeImpl getComplexType(final String name) {
+ return (ComplexTypeImpl) super.getComplexType(name);
+ }
+
+ @Override
+ public List<ComplexTypeImpl> getComplexTypes() {
+ return complexTypes;
+ }
+
+ @Override
+ public EntityTypeImpl getEntityType(final String name) {
+ return (EntityTypeImpl) super.getEntityType(name);
+ }
+
+ @Override
+ public List<EntityTypeImpl> getEntityTypes() {
+ return entityTypes;
+ }
+}
[05/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/DataServicesImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/DataServicesImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/DataServicesImpl.java
deleted file mode 100644
index c64ac8c..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/DataServicesImpl.java
+++ /dev/null
@@ -1,36 +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.odata4.client.core.edm.v4;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.core.edm.AbstractDataServices;
-
-public class DataServicesImpl extends AbstractDataServices {
-
- private static final long serialVersionUID = -7954360771258897632L;
-
- private final List<SchemaImpl> schemas = new ArrayList<SchemaImpl>();
-
- @Override
- public List<SchemaImpl> getSchemas() {
- return schemas;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java
index b6bf27c..e572985 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmMetadataImpl.java
@@ -22,6 +22,9 @@ import java.io.InputStream;
import java.util.List;
import org.apache.olingo.odata4.client.api.ODataClient;
import org.apache.olingo.odata4.client.core.edm.AbstractEdmMetadata;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EdmxImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ReferenceImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.SchemaImpl;
public class EdmMetadataImpl extends AbstractEdmMetadata {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
index 6e66c7e..e71efef 100644
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
+++ b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmTypeImpl.java
@@ -19,6 +19,9 @@
package org.apache.olingo.odata4.client.core.edm.v4;
import org.apache.olingo.odata4.client.core.edm.AbstractEdmType;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.ComplexTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EntityTypeImpl;
+import org.apache.olingo.odata4.client.core.edm.xml.v4.EnumTypeImpl;
public class EdmTypeImpl extends AbstractEdmType {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmxImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmxImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmxImpl.java
deleted file mode 100644
index 7af6bb8..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EdmxImpl.java
+++ /dev/null
@@ -1,42 +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.odata4.client.core.edm.v4;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Edmx;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmx;
-
-public class EdmxImpl extends AbstractEdmx implements Edmx {
-
- private static final long serialVersionUID = -8031883176876401375L;
-
- private final List<ReferenceImpl> references = new ArrayList<ReferenceImpl>();
-
- @Override
- public DataServicesImpl getDataServices() {
- return (DataServicesImpl) super.getDataServices();
- }
-
- @Override
- public List<ReferenceImpl> getReferences() {
- return references;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityContainerImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityContainerImpl.java
deleted file mode 100644
index d54b81f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityContainerImpl.java
+++ /dev/null
@@ -1,123 +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.odata4.client.core.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.v4.AnnotatedEdmItem;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.EntityContainer;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntityContainer;
-
-public class EntityContainerImpl extends AbstractEntityContainer implements AnnotatedEdmItem, EntityContainer {
-
- private static final long serialVersionUID = 2526002525927260320L;
-
- private final List<EntitySetImpl> entitySets = new ArrayList<EntitySetImpl>();
-
- private final List<SingletonImpl> singletons = new ArrayList<SingletonImpl>();
-
- private final List<ActionImportImpl> actionImports = new ArrayList<ActionImportImpl>();
-
- private final List<FunctionImportImpl> functionImports = new ArrayList<FunctionImportImpl>();
-
- private AnnotationImpl annotation;
-
- @Override
- public void setDefaultEntityContainer(final boolean defaultEntityContainer) {
- // no action: a single entity container MUST be available as per OData 4.0
- }
-
- @Override
- public boolean isDefaultEntityContainer() {
- return true;
- }
-
- @Override
- public EntitySetImpl getEntitySet(final String name) {
- return (EntitySetImpl) super.getEntitySet(name);
- }
-
- @Override
- public List<EntitySetImpl> getEntitySets() {
- return entitySets;
- }
-
- public List<SingletonImpl> getSingletons() {
- return singletons;
- }
-
- public SingletonImpl getSingleton(final String name) {
- return getOneByName(name, getSingletons());
- }
-
- @Override
- public FunctionImportImpl getFunctionImport(final String name) {
- return (FunctionImportImpl) super.getFunctionImport(name);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public List<FunctionImportImpl> getFunctionImports(final String name) {
- return (List<FunctionImportImpl>) super.getFunctionImports(name);
- }
-
- /**
- * Gets the first action import with given name.
- *
- * @param name name.
- * @return action import.
- */
- @Override
- public ActionImportImpl getActionImport(final String name) {
- return getOneByName(name, getActionImports());
- }
-
- /**
- * Gets all action imports with given name.
- *
- * @param name name.
- * @return action imports.
- */
- @Override
- public List<ActionImportImpl> getActionImports(final String name) {
- return getAllByName(name, getActionImports());
- }
-
- @Override
- public List<ActionImportImpl> getActionImports() {
- return actionImports;
- }
-
- @Override
- public List<FunctionImportImpl> getFunctionImports() {
- return functionImports;
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntitySetImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntitySetImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntitySetImpl.java
deleted file mode 100644
index aa1d0f4..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntitySetImpl.java
+++ /dev/null
@@ -1,63 +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.odata4.client.core.edm.v4;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.EntitySet;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntitySet;
-
-public class EntitySetImpl extends AbstractEntitySet implements EntitySet {
-
- private static final long serialVersionUID = 5570833733884884012L;
-
- private boolean includeInServiceDocument = true;
-
- private AnnotationImpl annotation;
-
- private final List<NavigationPropertyBindingImpl> navigationPropertyBindings
- = new ArrayList<NavigationPropertyBindingImpl>();
-
- @Override
- public boolean isIncludeInServiceDocument() {
- return includeInServiceDocument;
- }
-
- @Override
- public void setIncludeInServiceDocument(final boolean includeInServiceDocument) {
- this.includeInServiceDocument = includeInServiceDocument;
- }
-
- @Override
- public List<NavigationPropertyBindingImpl> getNavigationPropertyBindings() {
- return navigationPropertyBindings;
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityTypeImpl.java
deleted file mode 100644
index 6ed2680..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EntityTypeImpl.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.odata4.client.core.edm.v4;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.EntityType;
-import org.apache.olingo.odata4.client.core.edm.AbstractEntityType;
-
-public class EntityTypeImpl extends AbstractEntityType implements EntityType {
-
- private static final long serialVersionUID = 8727765036150269547L;
-
- private final List<PropertyImpl> properties = new ArrayList<PropertyImpl>();
-
- private final List<NavigationPropertyImpl> navigationProperties = new ArrayList<NavigationPropertyImpl>();
-
- private AnnotationImpl annotation;
-
- @Override
- public PropertyImpl getProperty(final String name) {
- return (PropertyImpl) super.getProperty(name);
- }
-
- @Override
- public List<PropertyImpl> getProperties() {
- return properties;
- }
-
- @Override
- public NavigationPropertyImpl getNavigationProperty(final String name) {
- return (NavigationPropertyImpl) super.getNavigationProperty(name);
- }
-
- @Override
- public List<NavigationPropertyImpl> getNavigationProperties() {
- return navigationProperties;
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EnumTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EnumTypeImpl.java
deleted file mode 100644
index 766d4fd..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/EnumTypeImpl.java
+++ /dev/null
@@ -1,60 +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.odata4.client.core.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.v4.AnnotatedEdmItem;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.core.edm.AbstractEnumType;
-
-public class EnumTypeImpl extends AbstractEnumType implements AnnotatedEdmItem {
-
- private static final long serialVersionUID = -3329664331877556957L;
-
- private AnnotationImpl annotation;
-
- private final List<MemberImpl> members = new ArrayList<MemberImpl>();
-
- @Override
- public List<MemberImpl> getMembers() {
- return members;
- }
-
- @Override
- public MemberImpl getMember(final String name) {
- return (MemberImpl) super.getMember(name);
- }
-
- @Override
- public MemberImpl getMember(final Integer value) {
- return (MemberImpl) super.getMember(value);
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionDeserializer.java
deleted file mode 100644
index 5de1c93..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionDeserializer.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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class FunctionDeserializer extends AbstractEdmDeserializer<FunctionImpl> {
-
- @Override
- protected FunctionImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final FunctionImpl functionImpl = new FunctionImpl();
-
- 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(ParameterImpl.class));
- } else if ("ReturnType".equals(jp.getCurrentName())) {
- functionImpl.setReturnType(parseReturnType(jp, "Function"));
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- functionImpl.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return functionImpl;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImpl.java
deleted file mode 100644
index b9894e8..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImpl.java
+++ /dev/null
@@ -1,41 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import org.apache.olingo.odata4.client.api.edm.v4.Function;
-
-@JsonDeserialize(using = FunctionDeserializer.class)
-public class FunctionImpl extends ActionImpl implements Function {
-
- private static final long serialVersionUID = -5888231162358116515L;
-
- private boolean composable = false;
-
- @Override
- public boolean isComposable() {
- return composable;
- }
-
- @Override
- public void setComposable(final boolean composable) {
- this.composable = composable;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImportImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImportImpl.java
deleted file mode 100644
index b578599..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/FunctionImportImpl.java
+++ /dev/null
@@ -1,96 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.FunctionImport;
-
-public class FunctionImportImpl implements FunctionImport {
-
- private static final long serialVersionUID = 3023813358471000019L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty(value = "Function", required = true)
- private String function;
-
- @JsonProperty(value = "EntitySet")
- private String entitySet;
-
- @JsonProperty(value = "IncludeInServiceDocument")
- private boolean includeInServiceDocument = false;
-
- @JsonProperty(value = "Annotation")
- private AnnotationImpl annotation;
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getFunction() {
- return function;
- }
-
- @Override
- public void setFunction(final String function) {
- this.function = function;
- }
-
- @Override
- public String getEntitySet() {
- return entitySet;
- }
-
- @Override
- public void setEntitySet(final String entitySet) {
- this.entitySet = entitySet;
- }
-
- @Override
- public boolean isIncludeInServiceDocument() {
- return includeInServiceDocument;
- }
-
- @Override
- public void setIncludeInServiceDocument(final boolean includeInServiceDocument) {
- this.includeInServiceDocument = includeInServiceDocument;
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @JsonIgnore
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeAnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeAnnotationsImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeAnnotationsImpl.java
deleted file mode 100644
index 7566733..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeAnnotationsImpl.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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.IncludeAnnotations;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class IncludeAnnotationsImpl extends AbstractEdmItem implements IncludeAnnotations {
-
- private static final long serialVersionUID = -5600031479702563436L;
-
- @JsonProperty(value = "TermNamespace", required = true)
- private String termNamespace;
-
- @JsonProperty(value = "Qualifier")
- private String qualifier;
-
- @JsonProperty(value = "TargetNamespace")
- private String targeyNamespace;
-
- @Override
- public String getTermNamespace() {
- return termNamespace;
- }
-
- @Override
- public void setTermNamespace(final String termNamespace) {
- this.termNamespace = termNamespace;
- }
-
- @Override
- public String getQualifier() {
- return qualifier;
- }
-
- @Override
- public void setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- }
-
- @Override
- public String getTargeyNamespace() {
- return targeyNamespace;
- }
-
- @Override
- public void setTargeyNamespace(final String targeyNamespace) {
- this.targeyNamespace = targeyNamespace;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeImpl.java
deleted file mode 100644
index cdbe8ae..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/IncludeImpl.java
+++ /dev/null
@@ -1,55 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.Include;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class IncludeImpl extends AbstractEdmItem implements Include {
-
- private static final long serialVersionUID = -5600031479702563436L;
-
- @JsonProperty(value = "Namespace", required = true)
- private String namespace;
-
- @JsonProperty(value = "Alias")
- private String alias;
-
- @Override
- public String getNamespace() {
- return namespace;
- }
-
- @Override
- public void setNamespace(final String namespace) {
- this.namespace = namespace;
- }
-
- @Override
- public String getAlias() {
- return alias;
- }
-
- @Override
- public void setAlias(final String alias) {
- this.alias = alias;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/MemberImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/MemberImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/MemberImpl.java
deleted file mode 100644
index ba6ac6b..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/MemberImpl.java
+++ /dev/null
@@ -1,45 +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.odata4.client.core.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.v4.AnnotatedEdmItem;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.core.edm.AbstractMember;
-
-public class MemberImpl extends AbstractMember implements AnnotatedEdmItem {
-
- private static final long serialVersionUID = -344920557183058824L;
-
- @JsonProperty("Annotation")
- private AnnotationImpl annotation;
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @JsonIgnore
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyBindingImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyBindingImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyBindingImpl.java
deleted file mode 100644
index 8554bec..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyBindingImpl.java
+++ /dev/null
@@ -1,55 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.NavigationPropertyBinding;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class NavigationPropertyBindingImpl extends AbstractEdmItem implements NavigationPropertyBinding {
-
- private static final long serialVersionUID = -6026065326479176817L;
-
- @JsonProperty(value = "Path", required = true)
- private String path;
-
- @JsonProperty(value = "Target", required = true)
- private String target;
-
- @Override
- public String getPath() {
- return path;
- }
-
- @Override
- public void setPath(final String path) {
- this.path = path;
- }
-
- @Override
- public String getTarget() {
- return target;
- }
-
- @Override
- public void setTarget(final String target) {
- this.target = target;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyDeserializer.java
deleted file mode 100644
index 1c19b21..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyDeserializer.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.odata4.client.core.edm.v4;
-
-import org.apache.olingo.odata4.client.core.edm.OnDeleteImpl;
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class NavigationPropertyDeserializer extends AbstractEdmDeserializer<NavigationPropertyImpl> {
-
- @Override
- protected NavigationPropertyImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final NavigationPropertyImpl property = new NavigationPropertyImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- property.setName(jp.nextTextValue());
- } else if ("Type".equals(jp.getCurrentName())) {
- property.setType(jp.nextTextValue());
- } else if ("Nullable".equals(jp.getCurrentName())) {
- property.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("Partner".equals(jp.getCurrentName())) {
- property.setPartner(jp.nextTextValue());
- } else if ("ContainsTarget".equals(jp.getCurrentName())) {
- property.setContainsTarget(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("ReferentialConstraint".equals(jp.getCurrentName())) {
- jp.nextToken();
- property.getReferentialConstraints().add(jp.readValueAs(ReferentialConstraintImpl.class));
- } else if ("OnDelete".equals(jp.getCurrentName())) {
- jp.nextToken();
- property.setOnDelete(jp.readValueAs(OnDeleteImpl.class));
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- property.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return property;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyImpl.java
deleted file mode 100644
index a0a74a3..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/NavigationPropertyImpl.java
+++ /dev/null
@@ -1,114 +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.odata4.client.core.edm.v4;
-
-import org.apache.olingo.odata4.client.core.edm.OnDeleteImpl;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.NavigationProperty;
-import org.apache.olingo.odata4.client.api.edm.OnDelete;
-import org.apache.olingo.odata4.client.core.edm.AbstractNavigationProperty;
-
-@JsonDeserialize(using = NavigationPropertyDeserializer.class)
-public class NavigationPropertyImpl extends AbstractNavigationProperty implements NavigationProperty {
-
- private static final long serialVersionUID = -2889417442815563307L;
-
- private String type;
-
- private boolean nullable = true;
-
- private String partner;
-
- private boolean containsTarget = false;
-
- private final List<ReferentialConstraintImpl> referentialConstraints = new ArrayList<ReferentialConstraintImpl>();
-
- private OnDeleteImpl onDelete;
-
- private AnnotationImpl annotation;
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public boolean isNullable() {
- return nullable;
- }
-
- @Override
- public void setNullable(final boolean nullable) {
- this.nullable = nullable;
- }
-
- @Override
- public String getPartner() {
- return partner;
- }
-
- @Override
- public void setPartner(final String partner) {
- this.partner = partner;
- }
-
- @Override
- public boolean isContainsTarget() {
- return containsTarget;
- }
-
- @Override
- public void setContainsTarget(final boolean containsTarget) {
- this.containsTarget = containsTarget;
- }
-
- @Override
- public List<ReferentialConstraintImpl> getReferentialConstraints() {
- return referentialConstraints;
- }
-
- @Override
- public OnDeleteImpl getOnDelete() {
- return onDelete;
- }
-
- @Override
- public void setOnDelete(final OnDelete onDelete) {
- this.onDelete = (OnDeleteImpl) onDelete;
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ParameterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ParameterImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ParameterImpl.java
deleted file mode 100644
index 26bb775..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ParameterImpl.java
+++ /dev/null
@@ -1,42 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.Parameter;
-import org.apache.olingo.odata4.client.core.edm.AbstractParameter;
-
-public class ParameterImpl extends AbstractParameter implements Parameter {
-
- private static final long serialVersionUID = -1067642515116697747L;
-
- @JsonProperty(value = "SRID")
- private String srid;
-
- @Override
- public String getSrid() {
- return srid;
- }
-
- @Override
- public void setSrid(final String srid) {
- this.srid = srid;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/PropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/PropertyImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/PropertyImpl.java
deleted file mode 100644
index 2048d0e..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/PropertyImpl.java
+++ /dev/null
@@ -1,44 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.Property;
-import org.apache.olingo.odata4.client.core.edm.AbstractProperty;
-
-public class PropertyImpl extends AbstractProperty implements Property {
-
- private static final long serialVersionUID = -5541908235094985412L;
-
- @JsonProperty("Annotation")
- private AnnotationImpl annotation;
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @JsonIgnore
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceDeserializer.java
deleted file mode 100644
index 5cceb75..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceDeserializer.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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import java.net.URI;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class ReferenceDeserializer extends AbstractEdmDeserializer<ReferenceImpl> {
-
- @Override
- protected ReferenceImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final ReferenceImpl reference = new ReferenceImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Uri".equals(jp.getCurrentName())) {
- reference.setUri(URI.create(jp.nextTextValue()));
- } else if ("Include".equals(jp.getCurrentName())) {
- jp.nextToken();
- reference.getIncludes().add(jp.readValueAs( IncludeImpl.class));
- } else if ("IncludeAnnotations".equals(jp.getCurrentName())) {
- jp.nextToken();
- reference.getIncludeAnnotations().add(jp.readValueAs( IncludeAnnotationsImpl.class));
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- reference.getAnnotations().add(jp.readValueAs( AnnotationImpl.class));
- }
- }
- }
-
- return reference;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceImpl.java
deleted file mode 100644
index 6142ab5..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferenceImpl.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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.api.edm.v4.Reference;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-@JsonDeserialize(using = ReferenceDeserializer.class)
-public class ReferenceImpl extends AbstractEdmItem implements Reference {
-
- private static final long serialVersionUID = -5600031479702563436L;
-
- private URI uri;
-
- private final List<IncludeImpl> includes = new ArrayList<IncludeImpl>();
-
- private final List<IncludeAnnotationsImpl> includeAnnotations = new ArrayList<IncludeAnnotationsImpl>();
-
- private final List<Annotation> annotations = new ArrayList<Annotation>();
-
- @Override
- public URI getUri() {
- return uri;
- }
-
- @Override
- public void setUri(final URI uri) {
- this.uri = uri;
- }
-
- @Override
- public List<IncludeImpl> getIncludes() {
- return includes;
- }
-
- @Override
- public List<IncludeAnnotationsImpl> getIncludeAnnotations() {
- return includeAnnotations;
- }
-
- @Override
- public List<Annotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferentialConstraintImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferentialConstraintImpl.java
deleted file mode 100644
index 0bca9c8..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReferentialConstraintImpl.java
+++ /dev/null
@@ -1,54 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.olingo.odata4.client.api.edm.v4.ReferentialConstraint;
-
-public class ReferentialConstraintImpl extends AbstractAnnotatedEdmItem implements ReferentialConstraint {
-
- private static final long serialVersionUID = -9182114558289778632L;
-
- @JsonProperty(value = "Property", required = true)
- private String property;
-
- @JsonProperty(value = "ReferencedProperty", required = true)
- private String referencedProperty;
-
- @Override
- public String getProperty() {
- return property;
- }
-
- @Override
- public void setProperty(final String property) {
- this.property = property;
- }
-
- @Override
- public String getReferencedProperty() {
- return referencedProperty;
- }
-
- @Override
- public void setReferencedProperty(final String referencedProperty) {
- this.referencedProperty = referencedProperty;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReturnTypeImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReturnTypeImpl.java
deleted file mode 100644
index 877bdb0..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/ReturnTypeImpl.java
+++ /dev/null
@@ -1,108 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.math.BigInteger;
-import org.apache.olingo.odata4.client.api.edm.v4.ReturnType;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class ReturnTypeImpl extends AbstractEdmItem implements ReturnType {
-
- private static final long serialVersionUID = -5888231162358116515L;
-
- @JsonProperty(value = "Type")
- private String type;
-
- @JsonProperty(value = "Nullable")
- private boolean nullable = true;
-
- @JsonProperty(value = "MaxLength")
- private String maxLength;
-
- @JsonProperty(value = "Precision")
- private BigInteger precision;
-
- @JsonProperty(value = "Scale")
- private BigInteger scale;
-
- @JsonProperty(value = "SRID")
- private String srid;
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public boolean isNullable() {
- return nullable;
- }
-
- @Override
- public void setNullable(final boolean nullable) {
- this.nullable = nullable;
- }
-
- @Override
- public String getMaxLength() {
- return maxLength;
- }
-
- @Override
- public void setMaxLength(final String maxLength) {
- this.maxLength = maxLength;
- }
-
- @Override
- public BigInteger getPrecision() {
- return precision;
- }
-
- @Override
- public void setPrecision(final BigInteger precision) {
- this.precision = precision;
- }
-
- @Override
- public BigInteger getScale() {
- return scale;
- }
-
- @Override
- public void setScale(final BigInteger scale) {
- this.scale = scale;
- }
-
- @Override
- public String getSrid() {
- return srid;
- }
-
- @Override
- public void setSrid(final String srid) {
- this.srid = srid;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SchemaImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SchemaImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SchemaImpl.java
deleted file mode 100644
index 1f7f0a2..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SchemaImpl.java
+++ /dev/null
@@ -1,165 +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.odata4.client.core.edm.v4;
-
-import org.apache.olingo.odata4.client.api.edm.v4.AnnotatedEdmItem;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.Schema;
-import org.apache.olingo.odata4.client.api.edm.v4.Annotation;
-import org.apache.olingo.odata4.client.core.edm.AbstractSchema;
-
-public class SchemaImpl extends AbstractSchema implements Schema, AnnotatedEdmItem {
-
- private static final long serialVersionUID = 4453992249818796144L;
-
- private final List<ActionImpl> actions = new ArrayList<ActionImpl>();
-
- private final List<AnnotationsImpl> annotationsList = new ArrayList<AnnotationsImpl>();
-
- private final List<AnnotationImpl> annotations = new ArrayList<AnnotationImpl>();
-
- private final List<ComplexTypeImpl> complexTypes = new ArrayList<ComplexTypeImpl>();
-
- private EntityContainerImpl entityContainer;
-
- private final List<EnumTypeImpl> enumTypes = new ArrayList<EnumTypeImpl>();
-
- private final List<EntityTypeImpl> entityTypes = new ArrayList<EntityTypeImpl>();
-
- private final List<FunctionImpl> functions = new ArrayList<FunctionImpl>();
-
- private final List<TermImpl> terms = new ArrayList<TermImpl>();
-
- private final List<TypeDefinitionImpl> typeDefinitions = new ArrayList<TypeDefinitionImpl>();
-
- private AnnotationImpl annotation;
-
- public List<ActionImpl> getActions() {
- return actions;
- }
-
- public List<ActionImpl> getActions(final String name) {
- return getAllByName(name, getActions());
- }
-
- @Override
- public List<AnnotationsImpl> getAnnotationsList() {
- return annotationsList;
- }
-
- @Override
- public AnnotationsImpl getAnnotationsList(final String target) {
- AnnotationsImpl result = null;
- for (AnnotationsImpl annots : getAnnotationsList()) {
- if (target.equals(annots.getTarget())) {
- result = annots;
- }
- }
- return result;
- }
-
- public List<AnnotationImpl> getAnnotations() {
- return annotations;
- }
-
- public List<FunctionImpl> getFunctions() {
- return functions;
- }
-
- public List<FunctionImpl> getFunctions(final String name) {
- return getAllByName(name, getFunctions());
- }
-
- public List<TermImpl> getTerms() {
- return terms;
- }
-
- public List<TypeDefinitionImpl> getTypeDefinitions() {
- return typeDefinitions;
- }
-
- public EntityContainerImpl getEntityContainer() {
- return entityContainer;
- }
-
- public void setEntityContainer(final EntityContainerImpl entityContainer) {
- this.entityContainer = entityContainer;
- }
-
- @Override
- public List<EntityContainerImpl> getEntityContainers() {
- return entityContainer == null
- ? Collections.<EntityContainerImpl>emptyList() : Collections.singletonList(entityContainer);
- }
-
- @Override
- public EntityContainerImpl getDefaultEntityContainer() {
- return entityContainer;
- }
-
- @Override
- public EntityContainerImpl getEntityContainer(final String name) {
- if (entityContainer != null && name.equals(entityContainer.getName())) {
- return entityContainer;
- }
- throw new IllegalArgumentException("No EntityContainer found with name " + name);
- }
-
- @Override
- public AnnotationImpl getAnnotation() {
- return annotation;
- }
-
- @Override
- public void setAnnotation(final Annotation annotation) {
- this.annotation = (AnnotationImpl) annotation;
- }
-
- @Override
- public EnumTypeImpl getEnumType(final String name) {
- return (EnumTypeImpl) super.getEnumType(name);
- }
-
- @Override
- public List<EnumTypeImpl> getEnumTypes() {
- return enumTypes;
- }
-
- @Override
- public ComplexTypeImpl getComplexType(final String name) {
- return (ComplexTypeImpl) super.getComplexType(name);
- }
-
- @Override
- public List<ComplexTypeImpl> getComplexTypes() {
- return complexTypes;
- }
-
- @Override
- public EntityTypeImpl getEntityType(final String name) {
- return (EntityTypeImpl) super.getEntityType(name);
- }
-
- @Override
- public List<EntityTypeImpl> getEntityTypes() {
- return entityTypes;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonDeserializer.java
deleted file mode 100644
index 89fe59e..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonDeserializer.java
+++ /dev/null
@@ -1,57 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class SingletonDeserializer extends AbstractEdmDeserializer<SingletonImpl> {
-
- @Override
- protected SingletonImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final SingletonImpl singleton = new SingletonImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- singleton.setName(jp.nextTextValue());
- } else if ("Type".equals(jp.getCurrentName())) {
- singleton.setType(jp.nextTextValue());
- } else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
- jp.nextToken();
- singleton.getNavigationPropertyBindings().add(
- jp.readValueAs(NavigationPropertyBindingImpl.class));
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- singleton.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return singleton;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonImpl.java
deleted file mode 100644
index a0ec41a..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/SingletonImpl.java
+++ /dev/null
@@ -1,63 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.Singleton;
-
-@JsonDeserialize(using = SingletonDeserializer.class)
-public class SingletonImpl extends AbstractAnnotatedEdmItem implements Singleton {
-
- private static final long serialVersionUID = 941802518279658559L;
-
- private String name;
-
- private String type;
-
- private final List<NavigationPropertyBindingImpl> navigationPropertyBindings
- = new ArrayList<NavigationPropertyBindingImpl>();
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public List<NavigationPropertyBindingImpl> getNavigationPropertyBindings() {
- return navigationPropertyBindings;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermDeserializer.java
deleted file mode 100644
index c72c726..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermDeserializer.java
+++ /dev/null
@@ -1,75 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import java.math.BigInteger;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.odata4.client.api.edm.v4.CSDLElement;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class TermDeserializer extends AbstractEdmDeserializer<TermImpl> {
-
- @Override
- protected TermImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final TermImpl term = new TermImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- term.setName(jp.nextTextValue());
- } else if ("Type".equals(jp.getCurrentName())) {
- term.setType(jp.nextTextValue());
- } else if ("BaseTerm".equals(jp.getCurrentName())) {
- term.setBaseTerm(jp.nextTextValue());
- } else if ("DefaultValue".equals(jp.getCurrentName())) {
- term.setDefaultValue(jp.nextTextValue());
- } else if ("Nullable".equals(jp.getCurrentName())) {
- term.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("MaxLength".equals(jp.getCurrentName())) {
- term.setMaxLength(jp.nextTextValue());
- } else if ("Precision".equals(jp.getCurrentName())) {
- term.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("Scale".equals(jp.getCurrentName())) {
- term.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("SRID".equals(jp.getCurrentName())) {
- term.setSrid(jp.nextTextValue());
- } else if ("AppliesTo".equals(jp.getCurrentName())) {
- for (String split : StringUtils.split(jp.nextTextValue())) {
- term.getAppliesTo().add(CSDLElement.valueOf(split));
- }
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- term.setAnnotation(jp.readValueAs(AnnotationImpl.class));
- }
- }
- }
-
- return term;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermImpl.java
deleted file mode 100644
index 041e90f..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TermImpl.java
+++ /dev/null
@@ -1,148 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.CSDLElement;
-import org.apache.olingo.odata4.client.api.edm.v4.Term;
-
-@JsonDeserialize(using = TermDeserializer.class)
-public class TermImpl extends AbstractAnnotatedEdmItem implements Term {
-
- private static final long serialVersionUID = -5888231162358116515L;
-
- private String name;
-
- private String type;
-
- private String baseTerm;
-
- private String defaultValue;
-
- private boolean nullable = true;
-
- private String maxLength;
-
- private BigInteger precision;
-
- private BigInteger scale;
-
- private String srid;
-
- private final List<CSDLElement> appliesTo = new ArrayList<CSDLElement>();
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- @Override
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public String getBaseTerm() {
- return baseTerm;
- }
-
- @Override
- public void setBaseTerm(final String baseTerm) {
- this.baseTerm = baseTerm;
- }
-
- @Override
- public String getDefaultValue() {
- return defaultValue;
- }
-
- @Override
- public void setDefaultValue(final String defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- @Override
- public boolean isNullable() {
- return nullable;
- }
-
- @Override
- public void setNullable(final boolean nullable) {
- this.nullable = nullable;
- }
-
- @Override
- public String getMaxLength() {
- return maxLength;
- }
-
- @Override
- public void setMaxLength(final String maxLength) {
- this.maxLength = maxLength;
- }
-
- @Override
- public BigInteger getPrecision() {
- return precision;
- }
-
- @Override
- public void setPrecision(final BigInteger precision) {
- this.precision = precision;
- }
-
- @Override
- public BigInteger getScale() {
- return scale;
- }
-
- @Override
- public void setScale(final BigInteger scale) {
- this.scale = scale;
- }
-
- @Override
- public String getSrid() {
- return srid;
- }
-
- @Override
- public void setSrid(final String srid) {
- this.srid = srid;
- }
-
- @Override
- public List<CSDLElement> getAppliesTo() {
- return appliesTo;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionDeserializer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionDeserializer.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionDeserializer.java
deleted file mode 100644
index ff71d77..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionDeserializer.java
+++ /dev/null
@@ -1,65 +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.odata4.client.core.edm.v4;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.JsonToken;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import java.io.IOException;
-import java.math.BigInteger;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.olingo.odata4.client.core.op.impl.AbstractEdmDeserializer;
-
-public class TypeDefinitionDeserializer extends AbstractEdmDeserializer<TypeDefinitionImpl> {
-
- @Override
- protected TypeDefinitionImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
-
- final TypeDefinitionImpl typeDefinition = new TypeDefinitionImpl();
-
- for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
- final JsonToken token = jp.getCurrentToken();
- if (token == JsonToken.FIELD_NAME) {
- if ("Name".equals(jp.getCurrentName())) {
- typeDefinition.setName(jp.nextTextValue());
- } else if ("UnderlyingType".equals(jp.getCurrentName())) {
- typeDefinition.setUnderlyingType(jp.nextTextValue());
- } else if ("MaxLength".equals(jp.getCurrentName())) {
- typeDefinition.setMaxLength(jp.nextTextValue());
- } else if ("Unicode".equals(jp.getCurrentName())) {
- typeDefinition.setUnicode(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("Precision".equals(jp.getCurrentName())) {
- typeDefinition.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("Scale".equals(jp.getCurrentName())) {
- typeDefinition.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
- } else if ("SRID".equals(jp.getCurrentName())) {
- typeDefinition.setSrid(jp.nextTextValue());
- } else if ("Annotation".equals(jp.getCurrentName())) {
- jp.nextToken();
- typeDefinition.getAnnotations().add(jp.readValueAs( AnnotationImpl.class));
- }
- }
- }
-
- return typeDefinition;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionImpl.java b/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionImpl.java
deleted file mode 100644
index 1d6cba8..0000000
--- a/odata4-lib/odata4-client-core/src/main/java/org/apache/olingo/odata4/client/core/edm/v4/TypeDefinitionImpl.java
+++ /dev/null
@@ -1,122 +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.odata4.client.core.edm.v4;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.olingo.odata4.client.api.edm.v4.TypeDefinition;
-import org.apache.olingo.odata4.client.core.edm.AbstractEdmItem;
-
-public class TypeDefinitionImpl extends AbstractEdmItem implements TypeDefinition {
-
- private static final long serialVersionUID = -5888231162358116515L;
-
- private String name;
-
- private String underlyingType;
-
- private String maxLength;
-
- private BigInteger precision;
-
- private BigInteger scale;
-
- private boolean unicode = true;
-
- private String srid;
-
- private final List<AnnotationImpl> annotations = new ArrayList<AnnotationImpl>();
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getUnderlyingType() {
- return underlyingType;
- }
-
- @Override
- public void setUnderlyingType(final String underlyingType) {
- this.underlyingType = underlyingType;
- }
-
- @Override
- public String getMaxLength() {
- return maxLength;
- }
-
- @Override
- public void setMaxLength(final String maxLength) {
- this.maxLength = maxLength;
- }
-
- @Override
- public BigInteger getPrecision() {
- return precision;
- }
-
- @Override
- public void setPrecision(final BigInteger precision) {
- this.precision = precision;
- }
-
- @Override
- public BigInteger getScale() {
- return scale;
- }
-
- @Override
- public void setScale(final BigInteger scale) {
- this.scale = scale;
- }
-
- @Override
- public boolean isUnicode() {
- return unicode;
- }
-
- @Override
- public void setUnicode(final boolean unicode) {
- this.unicode = unicode;
- }
-
- @Override
- public String getSrid() {
- return srid;
- }
-
- @Override
- public void setSrid(final String srid) {
- this.srid = srid;
- }
-
- @Override
- public List<AnnotationImpl> getAnnotations() {
- return annotations;
- }
-
-}
[08/22] [OLINGO-169] Package renaming according to latest ML
discussion
Posted by il...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java
new file mode 100644
index 0000000..1856f8e
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/Schema.java
@@ -0,0 +1,79 @@
+/*
+ * 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.odata4.client.api.edm.xml;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v3.Annotations;
+import java.util.List;
+
+public interface Schema {
+
+ String getNamespace();
+
+ void setNamespace(String namespace);
+
+ String getAlias();
+
+ void setAlias(String alias);
+
+ List<? extends EntityType> getEntityTypes();
+
+ List<? extends EnumType> getEnumTypes();
+
+ EnumType getEnumType(String name);
+
+ List<? extends AbstractAnnotations> getAnnotationsList();
+
+ AbstractAnnotations getAnnotationsList(String target);
+
+ List<? extends ComplexType> getComplexTypes();
+
+ List<? extends EntityContainer> getEntityContainers();
+
+ /**
+ * Gets default entity container.
+ *
+ * @return default entity container.
+ */
+ EntityContainer getDefaultEntityContainer();
+
+ /**
+ * Gets entity container with the given name.
+ *
+ * @param name name.
+ * @return entity container.
+ */
+ EntityContainer getEntityContainer(String name);
+
+ /**
+ * Gets entity type with the given name.
+ *
+ * @param name name.
+ * @return entity type.
+ */
+ EntityType getEntityType(String name);
+
+ /**
+ * Gets complex type with the given name.
+ *
+ * @param name name.
+ * @return complex type.
+ */
+ ComplexType getComplexType(String name);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Annotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Annotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Annotations.java
new file mode 100644
index 0000000..07f2349
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Annotations.java
@@ -0,0 +1,29 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.AbstractAnnotations;
+
+public interface Annotations extends AbstractAnnotations {
+
+ List<? extends TypeAnnotation> getTypeAnnotations();
+
+ List<? extends ValueAnnotation> getValueAnnotations();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Association.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Association.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Association.java
new file mode 100644
index 0000000..06c9566
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Association.java
@@ -0,0 +1,32 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface Association extends Named {
+
+ ReferentialConstraint getReferentialConstraint();
+
+ void setReferentialConstraint(ReferentialConstraint referentialConstraint);
+
+ List<? extends AssociationEnd> getEnds();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationEnd.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationEnd.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationEnd.java
new file mode 100644
index 0000000..6320ac6
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationEnd.java
@@ -0,0 +1,40 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import org.apache.olingo.odata4.client.api.edm.xml.OnDelete;
+
+public interface AssociationEnd {
+
+ String getType();
+
+ void setType(String type);
+
+ String getRole();
+
+ void setRole(String role);
+
+ String getMultiplicity();
+
+ void setMultiplicity(String multiplicity);
+
+ OnDelete getOnDelete();
+
+ void setOnDelete(OnDelete onDelete);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSet.java
new file mode 100644
index 0000000..eb9ebb9
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSet.java
@@ -0,0 +1,31 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface AssociationSet extends Named {
+
+ String getAssociation();
+
+ void setAssociation(String association);
+
+ List<? extends AssociationSetEnd> getEnds();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSetEnd.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSetEnd.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSetEnd.java
new file mode 100644
index 0000000..fa7a111
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/AssociationSetEnd.java
@@ -0,0 +1,30 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+public interface AssociationSetEnd {
+
+ String getRole();
+
+ void setRole(String role);
+
+ String getEntitySet();
+
+ void setEntitySet(String entitySet);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/FunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/FunctionImport.java
new file mode 100644
index 0000000..99f39ee
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/FunctionImport.java
@@ -0,0 +1,60 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonParameter;
+
+public interface FunctionImport extends org.apache.olingo.odata4.client.api.edm.xml.CommonFunctionImport {
+
+ String getReturnType();
+
+ void setReturnType(String returnType);
+
+ String getEntitySet();
+
+ void setEntitySet(String entitySet);
+
+ String getEntitySetPath();
+
+ void setEntitySetPath(String entitySetPath);
+
+ boolean isComposable();
+
+ void setComposable(boolean composable);
+
+ boolean isSideEffecting();
+
+ void setSideEffecting(boolean sideEffecting);
+
+ boolean isBindable();
+
+ void setBindable(boolean bindable);
+
+ boolean isAlwaysBindable();
+
+ void setAlwaysBindable(boolean alwaysBindable);
+
+ String getHttpMethod();
+
+ void setHttpMethod(String httpMethod);
+
+ List<? extends CommonParameter> getParameters();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/NavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/NavigationProperty.java
new file mode 100644
index 0000000..921c600
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/NavigationProperty.java
@@ -0,0 +1,34 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+public interface NavigationProperty extends org.apache.olingo.odata4.client.api.edm.xml.CommonNavigationProperty {
+
+ String getRelationship();
+
+ void setRelationship(String relationship);
+
+ String getToRole();
+
+ void setToRole(String toRole);
+
+ String getFromRole();
+
+ void setFromRole(String fromRole);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Parameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Parameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Parameter.java
new file mode 100644
index 0000000..f624f7f
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Parameter.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+public interface Parameter extends org.apache.olingo.odata4.client.api.edm.xml.CommonParameter {
+
+ ParameterMode getMode();
+
+ void setMode(ParameterMode mode);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ParameterMode.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ParameterMode.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ParameterMode.java
new file mode 100644
index 0000000..ab05fee
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ParameterMode.java
@@ -0,0 +1,27 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+public enum ParameterMode {
+
+ In,
+ Out,
+ InOut
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Property.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Property.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Property.java
new file mode 100644
index 0000000..0eb9fda
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Property.java
@@ -0,0 +1,50 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import org.apache.olingo.odata4.client.api.edm.xml.CommonProperty;
+import org.apache.olingo.odata4.commons.api.edm.constants.EdmContentKind;
+
+public interface Property extends CommonProperty {
+
+ String getFcSourcePath();
+
+ void setFcSourcePath(String fcSourcePath);
+
+ String getFcTargetPath();
+
+ void setFcTargetPath(String fcTargetPath);
+
+ EdmContentKind getFcContentKind();
+
+ void setFcContentKind(EdmContentKind fcContentKind);
+
+ String getFcNSPrefix();
+
+ void setFcNSPrefix(String fcNSPrefix);
+
+ String getFcNSURI();
+
+ void setFcNSURI(String fcNSURI);
+
+ boolean isFcKeepInContent();
+
+ void setFcKeepInContent(boolean fcKeepInContent);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/PropertyValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/PropertyValue.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/PropertyValue.java
new file mode 100644
index 0000000..6da96a2
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/PropertyValue.java
@@ -0,0 +1,59 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
+public interface PropertyValue {
+
+ String getProperty();
+
+ void setProperty(String property);
+
+ String getPath();
+
+ void setPath(String path);
+
+ String getString();
+
+ void setString(String string);
+
+ BigInteger getInt();
+
+ void setInt(BigInteger _int);
+
+ Double getFloat();
+
+ void setFloat(Double _float);
+
+ BigDecimal getDecimal();
+
+ void setDecimal(BigDecimal decimal);
+
+ Boolean getBool();
+
+ void setBool(Boolean bool);
+
+ Date getDateTime();
+
+ void setDateTime(Date dateTime);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraint.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraint.java
new file mode 100644
index 0000000..1e8e55a
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraint.java
@@ -0,0 +1,30 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+public interface ReferentialConstraint {
+
+ ReferentialConstraintRole getPrincipal();
+
+ void setPrincipal(ReferentialConstraintRole principal);
+
+ ReferentialConstraintRole getDependent();
+
+ void setDependent(ReferentialConstraintRole dependent);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraintRole.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraintRole.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraintRole.java
new file mode 100644
index 0000000..198bdb7
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ReferentialConstraintRole.java
@@ -0,0 +1,32 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.PropertyRef;
+
+public interface ReferentialConstraintRole {
+
+ String getRole();
+
+ void setRole(final String role);
+
+ List<? extends PropertyRef> getPropertyRefs();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/TypeAnnotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/TypeAnnotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/TypeAnnotation.java
new file mode 100644
index 0000000..ead3239
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/TypeAnnotation.java
@@ -0,0 +1,35 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import java.util.List;
+
+public interface TypeAnnotation {
+
+ String getTerm();
+
+ void setTerm(String term);
+
+ String getQualifier();
+
+ void setQualifier(String qualifier);
+
+ List<? extends PropertyValue> getPropertyValues();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Using.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Using.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Using.java
new file mode 100644
index 0000000..541d32a
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/Using.java
@@ -0,0 +1,31 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+public interface Using {
+
+ String getNamespace();
+
+ void setNamespace(String namespace);
+
+ String getAlias();
+
+ void setAlias(String alias);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueAnnotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueAnnotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueAnnotation.java
new file mode 100644
index 0000000..799f982
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueAnnotation.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.odata4.client.api.edm.xml.v3;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
+public interface ValueAnnotation {
+
+ Boolean getBool();
+
+ Date getDateTime();
+
+ BigDecimal getDecimal();
+
+ Double getFloat();
+
+ BigInteger getInt();
+
+ String getPath();
+
+ String getQualifier();
+
+ String getString();
+
+ String getTerm();
+
+ void setBool(Boolean bool);
+
+ void setDateTime(Date dateTime);
+
+ void setDecimal(BigDecimal decimal);
+
+ void setFloat(Double _float);
+
+ void setInt(BigInteger _int);
+
+ void setPath(String path);
+
+ void setQualifier(String qualifier);
+
+ void setString(String string);
+
+ void setTerm(String term);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueTerm.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueTerm.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueTerm.java
new file mode 100644
index 0000000..cefba08
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v3/ValueTerm.java
@@ -0,0 +1,28 @@
+/*
+ * 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.odata4.client.api.edm.xml.v3;
+
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface ValueTerm extends Named {
+
+ String getType();
+
+ void setType(String type);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Action.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Action.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Action.java
new file mode 100644
index 0000000..0828304
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Action.java
@@ -0,0 +1,43 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+import org.apache.olingo.odata4.client.api.edm.xml.CommonParameter;
+
+public interface Action extends Named {
+
+ boolean isBound();
+
+ void setBound(boolean bound);
+
+ String getEntitySetPath();
+
+ void setEntitySetPath(String entitySetPath);
+
+ List<? extends CommonParameter> getParameters();
+
+ CommonParameter getParameter(String name);
+
+ ReturnType getReturnType();
+
+ void setReturnType(ReturnType returnType);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ActionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ActionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ActionImport.java
new file mode 100644
index 0000000..a2d8824
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ActionImport.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface ActionImport extends OperationImport {
+
+ String getAction();
+
+ void setAction(String action);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/AnnotatedEdmItem.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/AnnotatedEdmItem.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/AnnotatedEdmItem.java
new file mode 100644
index 0000000..b185b0f
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/AnnotatedEdmItem.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface AnnotatedEdmItem {
+
+ Annotation getAnnotation();
+
+ void setAnnotation(Annotation annotation);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotation.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotation.java
new file mode 100644
index 0000000..c181625
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotation.java
@@ -0,0 +1,41 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.ConstExprConstruct;
+import org.apache.olingo.odata4.client.api.edm.xml.v4.annotation.DynExprConstruct;
+
+public interface Annotation {
+
+ String getTerm();
+
+ void setTerm(String term);
+
+ String getQualifier();
+
+ void setQualifier(String qualifier);
+
+ ConstExprConstruct getConstExpr();
+
+ void setConstExpr(ConstExprConstruct constExpr);
+
+ DynExprConstruct getDynExpr();
+
+ void setDynExpr(DynExprConstruct dynExpr);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotations.java
new file mode 100644
index 0000000..fa5ef64
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Annotations.java
@@ -0,0 +1,29 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.AbstractAnnotations;
+
+public interface Annotations extends AbstractAnnotations {
+
+ List<? extends Annotation> getAnnotations();
+
+ Annotation getAnnotation(String term);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/CSDLElement.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/CSDLElement.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/CSDLElement.java
new file mode 100644
index 0000000..aec1c90
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/CSDLElement.java
@@ -0,0 +1,37 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public enum CSDLElement {
+
+ ActionImport,
+ ComplexType,
+ EntityContainer,
+ EntitySet,
+ EntityType,
+ EnumType,
+ FunctionImport,
+ Member,
+ NavigationProperty,
+ Property,
+ Singleton,
+ Term,
+ TypeDefinition
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ComplexType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ComplexType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ComplexType.java
new file mode 100644
index 0000000..8724462
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ComplexType.java
@@ -0,0 +1,35 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface ComplexType extends org.apache.olingo.odata4.client.api.edm.xml.ComplexType, AnnotatedEdmItem {
+
+ boolean isAbstractEntityType();
+
+ void setAbstractEntityType(boolean abstractEntityType);
+
+ String getBaseType();
+
+ void setBaseType(String baseType);
+
+ boolean isOpenType();
+
+ void setOpenType(boolean openType);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Edmx.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Edmx.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Edmx.java
new file mode 100644
index 0000000..af0d85f
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Edmx.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.util.List;
+
+public interface Edmx extends org.apache.olingo.odata4.client.api.edm.xml.Edmx {
+
+ List<? extends Reference> getReferences();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java
new file mode 100644
index 0000000..6acf741
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityContainer.java
@@ -0,0 +1,43 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.util.List;
+
+public interface EntityContainer extends org.apache.olingo.odata4.client.api.edm.xml.EntityContainer {
+
+ /**
+ * Gets the first action import with given name.
+ *
+ * @param name name.
+ * @return action import.
+ */
+ ActionImport getActionImport(String name);
+
+ /**
+ * Gets all action imports with given name.
+ *
+ * @param name name.
+ * @return action imports.
+ */
+ List<? extends ActionImport> getActionImports(String name);
+
+ List<? extends ActionImport> getActionImports();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java
new file mode 100644
index 0000000..c6754c7
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntitySet.java
@@ -0,0 +1,30 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.util.List;
+
+public interface EntitySet extends org.apache.olingo.odata4.client.api.edm.xml.EntitySet, AnnotatedEdmItem {
+
+ boolean isIncludeInServiceDocument();
+
+ void setIncludeInServiceDocument(boolean includeInServiceDocument);
+
+ List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityType.java
new file mode 100644
index 0000000..cf736e1
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/EntityType.java
@@ -0,0 +1,23 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface EntityType extends org.apache.olingo.odata4.client.api.edm.xml.EntityType, ComplexType {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Function.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Function.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Function.java
new file mode 100644
index 0000000..60f1491
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Function.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface Function extends Action {
+
+ boolean isComposable();
+
+ void setComposable(boolean composable);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/FunctionImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/FunctionImport.java
new file mode 100644
index 0000000..1c243cd
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/FunctionImport.java
@@ -0,0 +1,32 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.CommonFunctionImport;
+
+public interface FunctionImport extends OperationImport, CommonFunctionImport {
+
+ String getFunction();
+
+ void setFunction(String function);
+
+ boolean isIncludeInServiceDocument();
+
+ void setIncludeInServiceDocument(boolean includeInServiceDocument);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Include.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Include.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Include.java
new file mode 100644
index 0000000..d31916c
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Include.java
@@ -0,0 +1,30 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface Include {
+
+ String getAlias();
+
+ String getNamespace();
+
+ void setAlias(final String alias);
+
+ void setNamespace(final String namespace);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/IncludeAnnotations.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/IncludeAnnotations.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/IncludeAnnotations.java
new file mode 100644
index 0000000..484f644
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/IncludeAnnotations.java
@@ -0,0 +1,34 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface IncludeAnnotations {
+
+ String getQualifier();
+
+ String getTargeyNamespace();
+
+ String getTermNamespace();
+
+ void setQualifier(String qualifier);
+
+ void setTargeyNamespace(String targeyNamespace);
+
+ void setTermNamespace(String termNamespace);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationProperty.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationProperty.java
new file mode 100644
index 0000000..d544b4a
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationProperty.java
@@ -0,0 +1,49 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.OnDelete;
+import java.util.List;
+
+public interface NavigationProperty
+ extends org.apache.olingo.odata4.client.api.edm.xml.CommonNavigationProperty, AnnotatedEdmItem {
+
+ String getType();
+
+ void setType(String type);
+
+ boolean isNullable();
+
+ void setNullable(boolean nullable);
+
+ String getPartner();
+
+ void setPartner(String partner);
+
+ boolean isContainsTarget();
+
+ void setContainsTarget(boolean containsTarget);
+
+ List<? extends ReferentialConstraint> getReferentialConstraints();
+
+ OnDelete getOnDelete();
+
+ void setOnDelete(OnDelete onDelete);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationPropertyBinding.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationPropertyBinding.java
new file mode 100644
index 0000000..565e2c4
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/NavigationPropertyBinding.java
@@ -0,0 +1,31 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface NavigationPropertyBinding {
+
+ String getPath();
+
+ void setPath(String path);
+
+ String getTarget();
+
+ void setTarget(String target);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OnDeleteAction.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OnDeleteAction.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OnDeleteAction.java
new file mode 100644
index 0000000..bf789cf
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OnDeleteAction.java
@@ -0,0 +1,28 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public enum OnDeleteAction {
+
+ Cascade,
+ None,
+ SetNull,
+ SetDefault;
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OperationImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OperationImport.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OperationImport.java
new file mode 100644
index 0000000..cf86bd4
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/OperationImport.java
@@ -0,0 +1,28 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface OperationImport extends Named, AnnotatedEdmItem {
+
+ String getEntitySet();
+
+ void setEntitySet(String entitySet);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Parameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Parameter.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Parameter.java
new file mode 100644
index 0000000..e5afe45
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Parameter.java
@@ -0,0 +1,26 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface Parameter extends org.apache.olingo.odata4.client.api.edm.xml.CommonParameter {
+
+ String getSrid();
+
+ void setSrid(final String srid);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Property.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Property.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Property.java
new file mode 100644
index 0000000..feb8197
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Property.java
@@ -0,0 +1,25 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import org.apache.olingo.odata4.client.api.edm.xml.CommonProperty;
+
+public interface Property extends CommonProperty, AnnotatedEdmItem {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Reference.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Reference.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Reference.java
new file mode 100644
index 0000000..d16e4e5
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Reference.java
@@ -0,0 +1,35 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.net.URI;
+import java.util.List;
+
+public interface Reference {
+
+ URI getUri();
+
+ void setUri(URI uri);
+
+ List<? extends Include> getIncludes();
+
+ List<? extends IncludeAnnotations> getIncludeAnnotations();
+
+ List<? extends Annotation> getAnnotations();
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReferentialConstraint.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReferentialConstraint.java
new file mode 100644
index 0000000..6a06a65
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReferentialConstraint.java
@@ -0,0 +1,31 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+public interface ReferentialConstraint {
+
+ String getProperty();
+
+ void setProperty(String property);
+
+ String getReferencedProperty();
+
+ void setReferencedProperty(String referencedProperty);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.java
new file mode 100644
index 0000000..8e3c1f2
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/ReturnType.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.odata4.client.api.edm.xml.v4;
+
+import java.math.BigInteger;
+
+public interface ReturnType {
+
+ String getMaxLength();
+
+ BigInteger getPrecision();
+
+ BigInteger getScale();
+
+ String getSrid();
+
+ String getType();
+
+ boolean isNullable();
+
+ void setMaxLength(String maxLength);
+
+ void setNullable(boolean nullable);
+
+ void setPrecision(BigInteger precision);
+
+ void setScale(BigInteger scale);
+
+ void setSrid(String srid);
+
+ void setType(String type);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java
new file mode 100644
index 0000000..a706f89
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Singleton.java
@@ -0,0 +1,32 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface Singleton extends Named {
+
+ String getType();
+
+ void setType(String type);
+
+ List<? extends NavigationPropertyBinding> getNavigationPropertyBindings();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Term.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Term.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Term.java
new file mode 100644
index 0000000..e3b32ac
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/Term.java
@@ -0,0 +1,60 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.math.BigInteger;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface Term extends Named {
+
+ List<CSDLElement> getAppliesTo();
+
+ String getBaseTerm();
+
+ String getDefaultValue();
+
+ String getMaxLength();
+
+ BigInteger getPrecision();
+
+ BigInteger getScale();
+
+ String getSrid();
+
+ String getType();
+
+ boolean isNullable();
+
+ void setBaseTerm(String baseTerm);
+
+ void setDefaultValue(String defaultValue);
+
+ void setMaxLength(String maxLength);
+
+ void setNullable(boolean nullable);
+
+ void setPrecision(BigInteger precision);
+
+ void setScale(BigInteger scale);
+
+ void setSrid(String srid);
+
+ void setType(String type);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java
new file mode 100644
index 0000000..aaad5e7
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/TypeDefinition.java
@@ -0,0 +1,52 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4;
+
+import java.math.BigInteger;
+import java.util.List;
+import org.apache.olingo.odata4.client.api.edm.xml.Named;
+
+public interface TypeDefinition extends Named {
+
+ List<? extends Annotation> getAnnotations();
+
+ String getMaxLength();
+
+ BigInteger getPrecision();
+
+ BigInteger getScale();
+
+ String getSrid();
+
+ String getUnderlyingType();
+
+ boolean isUnicode();
+
+ void setMaxLength(String maxLength);
+
+ void setPrecision(BigInteger precision);
+
+ void setScale(BigInteger scale);
+
+ void setSrid(String srid);
+
+ void setUnderlyingType(String underlyingType);
+
+ void setUnicode(boolean unicode);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ConstExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ConstExprConstruct.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ConstExprConstruct.java
new file mode 100644
index 0000000..7d374fd
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/ConstExprConstruct.java
@@ -0,0 +1,56 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4.annotation;
+
+public interface ConstExprConstruct extends ExprConstruct {
+
+ public enum Type {
+
+ Binary,
+ Bool,
+ Date,
+ DateTimeOffset,
+ Decimal,
+ Duration,
+ EnumMember,
+ Float,
+ Guid,
+ Int,
+ String,
+ TimeOfDay;
+
+ public static Type fromString(final String value) {
+ Type result = null;
+ try {
+ result = valueOf(value);
+ } catch (IllegalArgumentException e) {
+ // ignore
+ }
+ return result;
+ }
+ }
+
+ Type getType();
+
+ void setType(Type type);
+
+ String getValue();
+
+ void setValue(String value);
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/cdb520e3/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/DynExprConstruct.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/DynExprConstruct.java b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/DynExprConstruct.java
new file mode 100644
index 0000000..14c4b68
--- /dev/null
+++ b/odata4-lib/odata4-client-api/src/main/java/org/apache/olingo/odata4/client/api/edm/xml/v4/annotation/DynExprConstruct.java
@@ -0,0 +1,23 @@
+/*
+ * 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.odata4.client.api.edm.xml.v4.annotation;
+
+public interface DynExprConstruct extends ExprConstruct {
+
+}