You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/02/27 14:18:28 UTC
[1/2] olingo-odata4 git commit: [OLINGO-575] Delete EDM abstract
classes
Repository: olingo-odata4
Updated Branches:
refs/heads/master 59766b23b -> d088866e9
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java
index 0f0907e..e5450fe 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationsImpl.java
@@ -24,15 +24,40 @@ import java.util.List;
import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.Annotations;
+import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = AnnotationsDeserializer.class)
-public class AnnotationsImpl extends AbstractAnnotations implements Annotations {
+public class AnnotationsImpl extends AbstractEdmItem implements Annotations {
private static final long serialVersionUID = -5961207981571644200L;
private final List<Annotation> annotations = new ArrayList<Annotation>();
+ @JsonProperty(value = "Target", required = true)
+ private String target;
+
+ @JsonProperty("Qualifier")
+ private String qualifier;
+
+ @Override
+ public String getTarget() {
+ return target;
+ }
+
+ public void setTarget(final String target) {
+ this.target = target;
+ }
+
+ @Override
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ public void setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ }
+
@Override
public List<Annotation> getAnnotations() {
return annotations;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeDeserializer.java
index fbd16ab..fe143ec 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeDeserializer.java
@@ -27,10 +27,10 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class ComplexTypeDeserializer extends AbstractEdmDeserializer<AbstractComplexType> {
+public class ComplexTypeDeserializer extends AbstractEdmDeserializer<AbstractStructuralType> {
@Override
- protected AbstractComplexType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ protected AbstractStructuralType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
throws IOException, JsonProcessingException {
final ComplexTypeImpl complexType = new ComplexTypeImpl();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeImpl.java
index 86d171b..4fc0ce9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ComplexTypeImpl.java
@@ -26,7 +26,10 @@ import org.apache.olingo.client.api.edm.xml.ComplexType;
import org.apache.olingo.client.api.edm.xml.NavigationProperty;
import org.apache.olingo.client.api.edm.xml.Property;
-public class ComplexTypeImpl extends AbstractComplexType implements ComplexType {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = ComplexTypeDeserializer.class)
+public class ComplexTypeImpl extends AbstractStructuralType implements ComplexType {
private static final long serialVersionUID = 4076944306925840115L;
@@ -43,7 +46,7 @@ public class ComplexTypeImpl extends AbstractComplexType implements ComplexType
private final List<Annotation> annotations = new ArrayList<Annotation>();
@Override
- public boolean isAbstractEntityType() {
+ public boolean isAbstractType() {
return abstractEntityType;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesDeserializer.java
index 14298ea..efbea76 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesDeserializer.java
@@ -25,10 +25,10 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class DataServicesDeserializer extends AbstractEdmDeserializer<AbstractDataServices> {
+public class DataServicesDeserializer extends AbstractEdmDeserializer<DataServicesImpl> {
@Override
- protected AbstractDataServices doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ protected DataServicesImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
throws IOException, JsonProcessingException {
final DataServicesImpl dataServices = new DataServicesImpl();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesImpl.java
index a04385a..00460a7 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/DataServicesImpl.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -21,13 +21,39 @@ package org.apache.olingo.client.core.edm.xml;
import java.util.ArrayList;
import java.util.List;
+import org.apache.olingo.client.api.edm.xml.DataServices;
import org.apache.olingo.client.api.edm.xml.Schema;
-public class DataServicesImpl extends AbstractDataServices {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = DataServicesDeserializer.class)
+public class DataServicesImpl extends AbstractEdmItem implements DataServices {
private static final long serialVersionUID = 4200317286476885204L;
private final List<Schema> schemas = new ArrayList<Schema>();
+
+ private String dataServiceVersion;
+
+ private String maxDataServiceVersion;
+
+ @Override
+ public String getDataServiceVersion() {
+ return dataServiceVersion;
+ }
+
+ public void setDataServiceVersion(final String version) {
+ this.dataServiceVersion = version;
+ }
+
+ @Override
+ public String getMaxDataServiceVersion() {
+ return maxDataServiceVersion;
+ }
+
+ public void setMaxDataServiceVersion(final String version) {
+ this.maxDataServiceVersion = version;
+ }
@Override
public List<Schema> getSchemas() {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxDeserializer.java
index 96943a4..854077f 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxDeserializer.java
@@ -25,13 +25,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class EdmxDeserializer extends AbstractEdmDeserializer<AbstractEdmx> {
+public class EdmxDeserializer extends AbstractEdmDeserializer<EdmxImpl> {
@Override
- protected AbstractEdmx doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ protected EdmxImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
throws IOException, JsonProcessingException {
- final AbstractEdmx edmx = new org.apache.olingo.client.core.edm.xml.EdmxImpl();
+ final EdmxImpl edmx = new EdmxImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -40,15 +40,10 @@ public class EdmxDeserializer extends AbstractEdmDeserializer<AbstractEdmx> {
edmx.setVersion(jp.nextTextValue());
} else if ("DataServices".equals(jp.getCurrentName())) {
jp.nextToken();
-
- ((org.apache.olingo.client.core.edm.xml.EdmxImpl) edmx).
- setDataServices(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.DataServicesImpl.class));
-
+ edmx.setDataServices(jp.readValueAs(DataServicesImpl.class));
} else if ("Reference".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EdmxImpl) edmx).getReferences().
- add(jp.readValueAs(ReferenceImpl.class));
+ edmx.getReferences().add(jp.readValueAs(ReferenceImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxImpl.java
index b1abbec..eaa658a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EdmxImpl.java
@@ -21,21 +21,42 @@ package org.apache.olingo.client.core.edm.xml;
import java.util.ArrayList;
import java.util.List;
+import org.apache.olingo.client.api.edm.xml.DataServices;
import org.apache.olingo.client.api.edm.xml.Edmx;
import org.apache.olingo.client.api.edm.xml.Reference;
-public class EdmxImpl extends AbstractEdmx implements Edmx {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = EdmxDeserializer.class)
+public class EdmxImpl extends AbstractEdmItem implements Edmx {
private static final long serialVersionUID = -6293476719276092572L;
private final List<Reference> references = new ArrayList<Reference>();
+ private String version;
+
+ private DataServices dataServices;
+
@Override
- public DataServicesImpl getDataServices() {
- return (DataServicesImpl) super.getDataServices();
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(final String version) {
+ this.version = version;
}
@Override
+ public DataServices getDataServices() {
+ return dataServices;
+ }
+
+ public void setDataServices(final DataServices dataServices) {
+ this.dataServices = dataServices;
+ }
+
+ @Override
public List<Reference> getReferences() {
return references;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerDeserializer.java
index c8a647f..3a308e0 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerDeserializer.java
@@ -27,13 +27,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class EntityContainerDeserializer extends AbstractEdmDeserializer<AbstractEntityContainer> {
+public class EntityContainerDeserializer extends AbstractEdmDeserializer<EntityContainerImpl> {
@Override
- protected AbstractEntityContainer doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ protected EntityContainerImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
throws IOException, JsonProcessingException {
- final AbstractEntityContainer entityContainer = new org.apache.olingo.client.core.edm.xml.EntityContainerImpl();
+ final EntityContainerImpl entityContainer = new EntityContainerImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -44,34 +44,21 @@ public class EntityContainerDeserializer extends AbstractEdmDeserializer<Abstrac
entityContainer.setExtends(jp.nextTextValue());
} else if ("LazyLoadingEnabled".equals(jp.getCurrentName())) {
entityContainer.setLazyLoadingEnabled(BooleanUtils.toBoolean(jp.nextTextValue()));
- } else if ("IsDefaultEntityContainer".equals(jp.getCurrentName())) {
- entityContainer.setDefaultEntityContainer(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("EntitySet".equals(jp.getCurrentName())) {
jp.nextToken();
-
- ((org.apache.olingo.client.core.edm.xml.EntityContainerImpl) entityContainer).
- getEntitySets().add(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.EntitySetImpl.class));
-
+ entityContainer.getEntitySets().add(jp.readValueAs(EntitySetImpl.class));
} else if ("Singleton".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntityContainerImpl) entityContainer).
- getSingletons().add(jp.readValueAs(SingletonImpl.class));
+ entityContainer.getSingletons().add(jp.readValueAs(SingletonImpl.class));
} else if ("ActionImport".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntityContainerImpl) entityContainer).
- getActionImports().add(jp.readValueAs(ActionImportImpl.class));
+ entityContainer.getActionImports().add(jp.readValueAs(ActionImportImpl.class));
} else if ("FunctionImport".equals(jp.getCurrentName())) {
jp.nextToken();
-
- ((org.apache.olingo.client.core.edm.xml.EntityContainerImpl) entityContainer).
- getFunctionImports().add(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.FunctionImportImpl.class));
-
+ entityContainer.getFunctionImports().add(jp.readValueAs(FunctionImportImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntityContainerImpl) entityContainer).getAnnotations().
- add(jp.readValueAs(AnnotationImpl.class));
+ entityContainer.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerImpl.java
index 238f636..ac503e9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityContainerImpl.java
@@ -28,7 +28,10 @@ import org.apache.olingo.client.api.edm.xml.EntitySet;
import org.apache.olingo.client.api.edm.xml.FunctionImport;
import org.apache.olingo.client.api.edm.xml.Singleton;
-public class EntityContainerImpl extends AbstractEntityContainer implements EntityContainer {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = EntityContainerDeserializer.class)
+public class EntityContainerImpl extends AbstractEdmItem implements EntityContainer {
private static final long serialVersionUID = 5631432527646955795L;
@@ -42,19 +45,70 @@ public class EntityContainerImpl extends AbstractEntityContainer implements Enti
private final List<Annotation> annotations = new ArrayList<Annotation>();
+ private String name;
+
+ private String _extends;
+
+ private boolean lazyLoadingEnabled;
+
@Override
- public void setDefaultEntityContainer(final boolean defaultEntityContainer) {
- // no action: a single entity container MUST be available as per OData 4.0
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
}
@Override
- public boolean isDefaultEntityContainer() {
- return true;
+ public String getExtends() {
+ return _extends;
+ }
+
+ public void setExtends(final String _extends) {
+ this._extends = _extends;
+ }
+
+ @Override
+ public boolean isLazyLoadingEnabled() {
+ return lazyLoadingEnabled;
+ }
+
+ public void setLazyLoadingEnabled(final boolean lazyLoadingEnabled) {
+ this.lazyLoadingEnabled = lazyLoadingEnabled;
}
@Override
public EntitySet getEntitySet(final String name) {
- return (EntitySet) super.getEntitySet(name);
+ return getOneByName(name, getEntitySets());
+ }
+
+ /**
+ * Gets the first function import with given name.
+ *
+ * @param name name.
+ * @return function import.
+ */
+ @Override
+ public FunctionImport getFunctionImport(final String name) {
+ return getOneByName(name, getFunctionImports());
+ }
+
+ /**
+ * Gets all function imports with given name.
+ *
+ * @param name name.
+ * @return function imports.
+ */
+ @Override
+ public List<FunctionImport> getFunctionImports(final String name) {
+ return getAllByName(name, getFunctionImports());
+ }
+
+ //TODO: No default container in V4 so we should delete this.
+ @Override
+ public boolean isDefaultEntityContainer() {
+ return true;
}
@Override
@@ -72,17 +126,6 @@ public class EntityContainerImpl extends AbstractEntityContainer implements Enti
return getOneByName(name, getSingletons());
}
- @Override
- public FunctionImport getFunctionImport(final String name) {
- return (FunctionImport) super.getFunctionImport(name);
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public List<FunctionImport> getFunctionImports(final String name) {
- return (List<FunctionImport>) super.getFunctionImports(name);
- }
-
/**
* Gets the first action import with given name.
*
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetDeserializer.java
index f4e8cc1..bae65b3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetDeserializer.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -21,19 +21,20 @@ package org.apache.olingo.client.core.edm.xml;
import java.io.IOException;
import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.client.api.edm.xml.EntitySet;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class EntitySetDeserializer extends AbstractEdmDeserializer<AbstractEntitySet> {
+public class EntitySetDeserializer extends AbstractEdmDeserializer<EntitySet> {
@Override
- protected AbstractEntitySet doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
+ protected EntitySet doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
- final AbstractEntitySet entitySet = new org.apache.olingo.client.core.edm.xml.EntitySetImpl();
+ final EntitySetImpl entitySet = new EntitySetImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -43,17 +44,13 @@ 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.client.core.edm.xml.EntitySetImpl) entitySet).
- setIncludeInServiceDocument(BooleanUtils.toBoolean(jp.nextTextValue()));
+ entitySet.setIncludeInServiceDocument(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntitySetImpl) entitySet).
- getNavigationPropertyBindings().add(
- jp.readValueAs(NavigationPropertyBindingImpl.class));
+ entitySet.getNavigationPropertyBindings().add(jp.readValueAs(NavigationPropertyBindingImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntitySetImpl) entitySet).getAnnotations().
- add(jp.readValueAs(AnnotationImpl.class));
+ entitySet.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetImpl.java
index ec132dd..078af9b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntitySetImpl.java
@@ -25,7 +25,10 @@ import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.EntitySet;
import org.apache.olingo.client.api.edm.xml.NavigationPropertyBinding;
-public class EntitySetImpl extends AbstractEntitySet implements EntitySet {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = EntitySetDeserializer.class)
+public class EntitySetImpl extends AbstractEdmItem implements EntitySet {
private static final long serialVersionUID = -5553885465204370676L;
@@ -35,6 +38,28 @@ public class EntitySetImpl extends AbstractEntitySet implements EntitySet {
private final List<NavigationPropertyBinding> navigationPropertyBindings = new ArrayList<NavigationPropertyBinding>();
+ private String name;
+
+ private String entityType;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getEntityType() {
+ return entityType;
+ }
+
+ public void setEntityType(final String entityType) {
+ this.entityType = entityType;
+ }
+
@Override
public boolean isIncludeInServiceDocument() {
return includeInServiceDocument;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeDeserializer.java
index 79d82f0..c1639b3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeDeserializer.java
@@ -21,19 +21,20 @@ package org.apache.olingo.client.core.edm.xml;
import java.io.IOException;
import org.apache.commons.lang3.BooleanUtils;
+import org.apache.olingo.client.api.edm.xml.EntityType;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class EntityTypeDeserializer extends AbstractEdmDeserializer<AbstractEntityType> {
+public class EntityTypeDeserializer extends AbstractEdmDeserializer<EntityType> {
@Override
- protected AbstractEntityType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ protected EntityType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
throws IOException, JsonProcessingException {
- final AbstractEntityType entityType = new org.apache.olingo.client.core.edm.xml.EntityTypeImpl();
+ final EntityTypeImpl entityType = new EntityTypeImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -53,17 +54,13 @@ public class EntityTypeDeserializer extends AbstractEdmDeserializer<AbstractEnti
entityType.setKey(jp.readValueAs(EntityKeyImpl.class));
} else if ("Property".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntityTypeImpl) entityType).
- getProperties().add(jp.readValueAs(org.apache.olingo.client.core.edm.xml.PropertyImpl.class));
+ entityType.getProperties().add(jp.readValueAs(PropertyImpl.class));
} else if ("NavigationProperty".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntityTypeImpl) entityType).
- getNavigationProperties().add(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.NavigationPropertyImpl.class));
+ entityType.getNavigationProperties().add(jp.readValueAs(NavigationPropertyImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EntityTypeImpl) entityType).getAnnotations().
- add(jp.readValueAs(AnnotationImpl.class));
+ entityType.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeImpl.java
index 2e0c7fa..0567506 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EntityTypeImpl.java
@@ -22,11 +22,15 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.client.api.edm.xml.Annotation;
+import org.apache.olingo.client.api.edm.xml.EntityKey;
import org.apache.olingo.client.api.edm.xml.EntityType;
import org.apache.olingo.client.api.edm.xml.NavigationProperty;
import org.apache.olingo.client.api.edm.xml.Property;
-public class EntityTypeImpl extends AbstractEntityType implements EntityType {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = EntityTypeDeserializer.class)
+public class EntityTypeImpl extends AbstractStructuralType implements EntityType {
private static final long serialVersionUID = -3986417775876689669L;
@@ -36,6 +40,61 @@ public class EntityTypeImpl extends AbstractEntityType implements EntityType {
private final List<Annotation> annotations = new ArrayList<Annotation>();
+ private boolean abstractEntityType = false;
+
+ private String baseType;
+
+ private boolean openType = false;
+
+ private boolean hasStream = false;
+
+ private EntityKeyImpl key;
+
+ @Override
+ public boolean isAbstractType() {
+ return abstractEntityType;
+ }
+
+ public void setAbstractEntityType(final boolean abstractEntityType) {
+ this.abstractEntityType = abstractEntityType;
+ }
+
+ @Override
+ public String getBaseType() {
+ return baseType;
+ }
+
+ public void setBaseType(final String baseType) {
+ this.baseType = baseType;
+ }
+
+ @Override
+ public boolean isOpenType() {
+ return openType;
+ }
+
+ 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;
+ }
+
+ public void setHasStream(final boolean hasStream) {
+ this.hasStream = hasStream;
+ }
+
@Override
public Property getProperty(final String name) {
return (Property) super.getProperty(name);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeDeserializer.java
index 8b70c13..8559813 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeDeserializer.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -27,13 +27,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class EnumTypeDeserializer extends AbstractEdmDeserializer<AbstractEnumType> {
+public class EnumTypeDeserializer extends AbstractEdmDeserializer<EnumTypeImpl> {
@Override
- protected AbstractEnumType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
+ protected EnumTypeImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
- final AbstractEnumType enumType = new org.apache.olingo.client.core.edm.xml.EnumTypeImpl();
+ final EnumTypeImpl enumType = new EnumTypeImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -46,13 +46,10 @@ public class EnumTypeDeserializer extends AbstractEdmDeserializer<AbstractEnumTy
enumType.setFlags(BooleanUtils.toBoolean(jp.nextTextValue()));
} else if ("Member".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EnumTypeImpl) enumType).
- getMembers().add(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.MemberImpl.class));
+ enumType.getMembers().add(jp.readValueAs(MemberImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.EnumTypeImpl) enumType).getAnnotations().
- add(jp.readValueAs(AnnotationImpl.class));
+ enumType.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeImpl.java
index 68e0fb6..ea9783a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/EnumTypeImpl.java
@@ -23,13 +23,80 @@ import java.util.List;
import org.apache.olingo.client.api.edm.xml.Annotatable;
import org.apache.olingo.client.api.edm.xml.Annotation;
+import org.apache.olingo.client.api.edm.xml.EnumType;
+import org.apache.olingo.client.api.edm.xml.Member;
-public class EnumTypeImpl extends AbstractEnumType implements Annotatable {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = EnumTypeDeserializer.class)
+public class EnumTypeImpl extends AbstractEdmItem implements EnumType, Annotatable {
private static final long serialVersionUID = 9191189755592743333L;
private final List<Annotation> annotations = new ArrayList<Annotation>();
+ private String name;
+
+ private String underlyingType;
+
+ private boolean flags;
+
+ private final List<Member> members = new ArrayList<Member>();
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getUnderlyingType() {
+ return underlyingType;
+ }
+
+ public void setUnderlyingType(final String underlyingType) {
+ this.underlyingType = underlyingType;
+ }
+
+ @Override
+ public boolean isFlags() {
+ return flags;
+ }
+
+ 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;
+ }
+
+ @Override
+ public List<Member> getMembers() {
+ return members;
+ }
+
@Override
public List<Annotation> getAnnotations() {
return annotations;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/MemberImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/MemberImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/MemberImpl.java
index bc48e9f..2221804 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/MemberImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/MemberImpl.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -23,13 +23,40 @@ import java.util.List;
import org.apache.olingo.client.api.edm.xml.Annotatable;
import org.apache.olingo.client.api.edm.xml.Annotation;
+import org.apache.olingo.client.api.edm.xml.Member;
-public class MemberImpl extends AbstractMember implements Annotatable {
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class MemberImpl extends AbstractEdmItem implements Member, Annotatable {
private static final long serialVersionUID = -6138606817225829791L;
private final List<Annotation> annotations = new ArrayList<Annotation>();
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty("Value")
+ private String value;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(final String value) {
+ this.value = value;
+ }
+
@Override
public List<Annotation> getAnnotations() {
return annotations;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/NavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/NavigationPropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/NavigationPropertyImpl.java
index deb20e5..75b366e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/NavigationPropertyImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/NavigationPropertyImpl.java
@@ -26,13 +26,20 @@ import org.apache.olingo.client.api.edm.xml.NavigationProperty;
import org.apache.olingo.client.api.edm.xml.OnDelete;
import org.apache.olingo.client.api.edm.xml.ReferentialConstraint;
+import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = NavigationPropertyDeserializer.class)
-public class NavigationPropertyImpl extends AbstractNavigationProperty implements NavigationProperty {
+public class NavigationPropertyImpl extends AbstractEdmItem implements NavigationProperty {
- private static final long serialVersionUID = 4503112988794432940L;
+ private static final long serialVersionUID = 6240231735592427582L;
+ @JsonProperty(value = "Name", required = true)
+ private String name;
+
+ @JsonProperty(value = "ContainsTarget")
+ private boolean containsTarget = false;
+
private String type;
private boolean nullable = true;
@@ -91,4 +98,22 @@ public class NavigationPropertyImpl extends AbstractNavigationProperty implement
return annotations;
}
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public boolean isContainsTarget() {
+ return containsTarget;
+ }
+
+ public void setContainsTarget(final boolean containsTarget) {
+ this.containsTarget = containsTarget;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterDeserializer.java
index 16353f5..d0430d9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterDeserializer.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -28,13 +28,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class ParameterDeserializer extends AbstractEdmDeserializer<AbstractParameter> {
+public class ParameterDeserializer extends AbstractEdmDeserializer<ParameterImpl> {
@Override
- protected AbstractParameter doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
- throws IOException, JsonProcessingException {
+ protected ParameterImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ throws IOException, JsonProcessingException {
- final AbstractParameter parameter = new org.apache.olingo.client.core.edm.xml.ParameterImpl();
+ final ParameterImpl parameter = new ParameterImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -56,12 +56,11 @@ public class ParameterDeserializer extends AbstractEdmDeserializer<AbstractParam
} else if ("SRID".equals(jp.getCurrentName())) {
final String srid = jp.nextTextValue();
if (srid != null) {
- ((org.apache.olingo.client.core.edm.xml.ParameterImpl) parameter).setSrid(SRID.valueOf(srid));
+ parameter.setSrid(SRID.valueOf(srid));
}
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.ParameterImpl) parameter).getAnnotations().
- add(jp.readValueAs(AnnotationImpl.class));
+ parameter.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterImpl.java
index ec2a08e..4fc1a20 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ParameterImpl.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -25,7 +25,10 @@ import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.Parameter;
import org.apache.olingo.commons.api.edm.geo.SRID;
-public class ParameterImpl extends AbstractParameter implements Parameter {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = ParameterDeserializer.class)
+public class ParameterImpl extends AbstractEdmItem implements Parameter {
private static final long serialVersionUID = 7119478691341167904L;
@@ -33,6 +36,72 @@ public class ParameterImpl extends AbstractParameter implements Parameter {
private final List<Annotation> annotations = new ArrayList<Annotation>();
+ private String name;
+
+ private String type;
+
+ private boolean nullable = true;
+
+ private Integer maxLength;
+
+ private Integer precision;
+
+ private Integer scale;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ public void setNullable(final boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public Integer getMaxLength() {
+ return maxLength;
+ }
+
+ public void setMaxLength(final Integer maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ @Override
+ public Integer getPrecision() {
+ return precision;
+ }
+
+ public void setPrecision(final Integer precision) {
+ this.precision = precision;
+ }
+
+ @Override
+ public Integer getScale() {
+ return scale;
+ }
+
+ public void setScale(final Integer scale) {
+ this.scale = scale;
+ }
+
@Override
public SRID getSrid() {
return srid;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyDeserializer.java
index 02c3c3e..283b35c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyDeserializer.java
@@ -28,13 +28,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class PropertyDeserializer extends AbstractEdmDeserializer<AbstractProperty> {
+public class PropertyDeserializer extends AbstractEdmDeserializer<PropertyImpl> {
@Override
- protected AbstractProperty doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ protected PropertyImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
throws IOException, JsonProcessingException {
- final AbstractProperty property = new org.apache.olingo.client.core.edm.xml.PropertyImpl();
+ final PropertyImpl property = new org.apache.olingo.client.core.edm.xml.PropertyImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -64,8 +64,7 @@ public class PropertyDeserializer extends AbstractEdmDeserializer<AbstractProper
}
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.PropertyImpl) property).getAnnotations().
- add(jp.readValueAs(AnnotationImpl.class));
+ property.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyImpl.java
index 1cbdfb1..17a6b7c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/PropertyImpl.java
@@ -23,13 +23,116 @@ import java.util.List;
import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.Property;
+import org.apache.olingo.commons.api.edm.geo.SRID;
-public class PropertyImpl extends AbstractProperty implements Property {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = PropertyDeserializer.class)
+public class PropertyImpl extends AbstractEdmItem implements Property {
private static final long serialVersionUID = 4544336801968719526L;
private final List<Annotation> annotations = new ArrayList<Annotation>();
+ private String name;
+
+ private String type;
+
+ private boolean nullable = true;
+
+ private String defaultValue;
+
+ private Integer maxLength;
+
+ private Integer precision;
+
+ private Integer scale;
+
+ private boolean unicode = true;
+
+ private SRID srid;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @Override
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ public void setNullable(final boolean nullable) {
+ this.nullable = nullable;
+ }
+
+ @Override
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ public void setDefaultValue(final String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+
+ @Override
+ public Integer getMaxLength() {
+ return maxLength;
+ }
+
+ public void setMaxLength(final Integer maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ @Override
+ public Integer getPrecision() {
+ return precision;
+ }
+
+ public void setPrecision(final Integer precision) {
+ this.precision = precision;
+ }
+
+ @Override
+ public Integer getScale() {
+ return scale;
+ }
+
+ public void setScale(final Integer scale) {
+ this.scale = scale;
+ }
+
+ @Override
+ public boolean isUnicode() {
+ return unicode;
+ }
+
+ public void setUnicode(final boolean unicode) {
+ this.unicode = unicode;
+ }
+
+ @Override
+ public SRID getSrid() {
+ return srid;
+ }
+
+ public void setSrid(final SRID srid) {
+ this.srid = srid;
+ }
+
@Override
public List<Annotation> getAnnotations() {
return annotations;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferenceImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferenceImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferenceImpl.java
index f9efbf9..ab7a4d8 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferenceImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferenceImpl.java
@@ -22,6 +22,7 @@ import java.net.URI;
import java.util.ArrayList;
import java.util.List;
+import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.Include;
import org.apache.olingo.client.api.edm.xml.IncludeAnnotations;
import org.apache.olingo.client.api.edm.xml.Reference;
@@ -29,7 +30,7 @@ import org.apache.olingo.client.api.edm.xml.Reference;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = ReferenceDeserializer.class)
-public class ReferenceImpl extends AbstractAnnotatable implements Reference {
+public class ReferenceImpl extends AbstractEdmItem implements Reference {
private static final long serialVersionUID = 7720274712545267654L;
@@ -39,6 +40,13 @@ public class ReferenceImpl extends AbstractAnnotatable implements Reference {
private final List<IncludeAnnotations> includeAnnotations = new ArrayList<IncludeAnnotations>();
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
@Override
public URI getUri() {
return uri;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferentialConstraintImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferentialConstraintImpl.java
index 61b2642..fd34fce 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferentialConstraintImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ReferentialConstraintImpl.java
@@ -18,11 +18,15 @@
*/
package org.apache.olingo.client.core.edm.xml;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.ReferentialConstraint;
import com.fasterxml.jackson.annotation.JsonProperty;
-public class ReferentialConstraintImpl extends AbstractAnnotatable implements ReferentialConstraint {
+public class ReferentialConstraintImpl extends AbstractEdmItem implements ReferentialConstraint {
private static final long serialVersionUID = -5822115908069878139L;
@@ -32,6 +36,13 @@ public class ReferentialConstraintImpl extends AbstractAnnotatable implements Re
@JsonProperty(value = "ReferencedProperty", required = true)
private String referencedProperty;
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
@Override
public String getProperty() {
return property;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
index 0b042ad..ea7718a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaDeserializer.java
@@ -25,13 +25,13 @@ import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
-public class SchemaDeserializer extends AbstractEdmDeserializer<AbstractSchema> {
+public class SchemaDeserializer extends AbstractEdmDeserializer<SchemaImpl> {
@Override
- protected AbstractSchema doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
+ protected SchemaImpl doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
throws IOException, JsonProcessingException {
- final AbstractSchema schema = new org.apache.olingo.client.core.edm.xml.SchemaImpl();
+ final SchemaImpl schema = new SchemaImpl();
for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
final JsonToken token = jp.getCurrentToken();
@@ -42,62 +42,36 @@ public class SchemaDeserializer extends AbstractEdmDeserializer<AbstractSchema>
schema.setAlias(jp.nextTextValue());
} else if ("ComplexType".equals(jp.getCurrentName())) {
jp.nextToken();
-
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).
- getComplexTypes().add(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.ComplexTypeImpl.class));
-
+ schema.getComplexTypes().add(jp.readValueAs(ComplexTypeImpl.class));
} else if ("EntityType".equals(jp.getCurrentName())) {
jp.nextToken();
-
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).
- getEntityTypes().add(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.EntityTypeImpl.class));
-
+ schema.getEntityTypes().add(jp.readValueAs(EntityTypeImpl.class));
} else if ("EnumType".equals(jp.getCurrentName())) {
jp.nextToken();
-
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).
- getEnumTypes().add(jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.EnumTypeImpl.class));
-
+ schema.getEnumTypes().add(jp.readValueAs(EnumTypeImpl.class));
} else if ("EntityContainer".equals(jp.getCurrentName())) {
jp.nextToken();
-
- org.apache.olingo.client.core.edm.xml.EntityContainerImpl entityContainer =
- jp.readValueAs(
- org.apache.olingo.client.core.edm.xml.EntityContainerImpl.class);
- entityContainer.setDefaultEntityContainer(true);
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).
- setEntityContainer(entityContainer);
-
+ EntityContainerImpl entityContainer = jp.readValueAs(EntityContainerImpl.class);
+ schema.setEntityContainer(entityContainer);
} else if ("Action".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).getActions().
- add(jp.readValueAs(ActionImpl.class));
+ schema.getActions().add(jp.readValueAs(ActionImpl.class));
} else if ("Function".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).getFunctions().
- add(jp.readValueAs(FunctionImpl.class));
+ schema.getFunctions().add(jp.readValueAs(FunctionImpl.class));
} else if ("TypeDefinition".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).
- getTypeDefinitions().add(jp.readValueAs(TypeDefinitionImpl.class));
+ schema.getTypeDefinitions().add(jp.readValueAs(TypeDefinitionImpl.class));
}
} else if ("Annotations".equals(jp.getCurrentName())) {
jp.nextToken();
-
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).getAnnotationGroups().
- add(jp.readValueAs(org.apache.olingo.client.core.edm.xml.AnnotationsImpl.class));
-
+ schema.getAnnotationGroups().add(jp.readValueAs(AnnotationsImpl.class));
} else if ("Annotation".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).getAnnotations().
- add(jp.readValueAs(AnnotationImpl.class));
+ schema.getAnnotations().add(jp.readValueAs(AnnotationImpl.class));
} else if ("Term".equals(jp.getCurrentName())) {
jp.nextToken();
- ((org.apache.olingo.client.core.edm.xml.SchemaImpl) schema).getTerms().
- add(jp.readValueAs(TermImpl.class));
+ schema.getTerms().add(jp.readValueAs(TermImpl.class));
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaImpl.java
index f44e558..77b7412 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SchemaImpl.java
@@ -41,7 +41,10 @@ import org.apache.olingo.client.api.edm.xml.Singleton;
import org.apache.olingo.client.api.edm.xml.Term;
import org.apache.olingo.client.api.edm.xml.TypeDefinition;
-public class SchemaImpl extends AbstractSchema implements Schema {
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+@JsonDeserialize(using = SchemaDeserializer.class)
+public class SchemaImpl extends AbstractEdmItem implements Schema {
private static final long serialVersionUID = 1911087363912024939L;
@@ -67,6 +70,43 @@ public class SchemaImpl extends AbstractSchema implements Schema {
private Map<String, Annotatable> annotatables;
+ private String namespace;
+
+ private String alias;
+
+ @Override
+ public String getNamespace() {
+ return namespace;
+ }
+
+ public void setNamespace(final String namespace) {
+ this.namespace = namespace;
+ }
+
+ @Override
+ public String getAlias() {
+ return alias;
+ }
+
+ public void setAlias(final String alias) {
+ this.alias = alias;
+ }
+
+ @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());
+ }
+
@Override
public List<Action> getActions() {
return actions;
@@ -173,21 +213,11 @@ public class SchemaImpl extends AbstractSchema implements Schema {
}
@Override
- public ComplexType getComplexType(final String name) {
- return (ComplexType) super.getComplexType(name);
- }
-
- @Override
public List<ComplexType> getComplexTypes() {
return complexTypes;
}
@Override
- public EntityType getEntityType(final String name) {
- return (EntityType) super.getEntityType(name);
- }
-
- @Override
public List<EntityType> getEntityTypes() {
return entityTypes;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SingletonImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SingletonImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SingletonImpl.java
index ea26cf5..216e735 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SingletonImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/SingletonImpl.java
@@ -21,13 +21,14 @@ package org.apache.olingo.client.core.edm.xml;
import java.util.ArrayList;
import java.util.List;
+import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.NavigationPropertyBinding;
import org.apache.olingo.client.api.edm.xml.Singleton;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = SingletonDeserializer.class)
-public class SingletonImpl extends AbstractAnnotatable implements Singleton {
+public class SingletonImpl extends AbstractEdmItem implements Singleton {
private static final long serialVersionUID = 1656749615107151921L;
@@ -37,6 +38,13 @@ public class SingletonImpl extends AbstractAnnotatable implements Singleton {
private final List<NavigationPropertyBinding> navigationPropertyBindings = new ArrayList<NavigationPropertyBinding>();
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
@Override
public String getName() {
return name;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/TermImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/TermImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/TermImpl.java
index a9212aa..7e7b740 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/TermImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/TermImpl.java
@@ -21,13 +21,14 @@ package org.apache.olingo.client.core.edm.xml;
import java.util.ArrayList;
import java.util.List;
+import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.Term;
import org.apache.olingo.commons.api.edm.geo.SRID;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = TermDeserializer.class)
-public class TermImpl extends AbstractAnnotatable implements Term {
+public class TermImpl extends AbstractEdmItem implements Term {
private static final long serialVersionUID = -8350072064720586186L;
@@ -51,6 +52,13 @@ public class TermImpl extends AbstractAnnotatable implements Term {
private final List<String> appliesTo = new ArrayList<String>();
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
@Override
public String getName() {
return name;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/XMLMetadataImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/XMLMetadataImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/XMLMetadataImpl.java
index 35de525..df633f5 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/XMLMetadataImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/XMLMetadataImpl.java
@@ -1,52 +1,70 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.client.core.edm.xml;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.client.api.edm.xml.Edmx;
import org.apache.olingo.client.api.edm.xml.Reference;
import org.apache.olingo.client.api.edm.xml.Schema;
import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-public class XMLMetadataImpl extends AbstractXMLMetadata implements XMLMetadata {
+/**
+ * Entry point for access information about EDM metadata.
+ */
+public class XMLMetadataImpl extends AbstractEdmItem implements XMLMetadata {
private static final long serialVersionUID = 6025723060298454901L;
+ protected final Edmx edmx;
- public XMLMetadataImpl(final EdmxImpl edmx) {
- super(edmx);
+ public XMLMetadataImpl(final Edmx edmx) {
+ this.edmx = edmx;
}
@Override
- @SuppressWarnings("unchecked")
public List<Schema> getSchemas() {
- return (List<Schema>) super.getSchemas();
+ return this.edmx.getDataServices().getSchemas();
}
@Override
public Schema getSchema(final int index) {
- return (Schema) super.getSchema(index);
+ return getSchemas().get(index);
}
@Override
public Schema getSchema(final String key) {
- return (Schema) super.getSchema(key);
+ return getSchemaByNsOrAlias().get(key);
+ }
+
+ @Override
+ public Map<String, Schema> getSchemaByNsOrAlias() {
+ final Map<String, Schema> schemaByNsOrAlias = new HashMap<String, Schema>();
+ for (Schema schema : getSchemas()) {
+ schemaByNsOrAlias.put(schema.getNamespace(), schema);
+ if (StringUtils.isNotBlank(schema.getAlias())) {
+ schemaByNsOrAlias.put(schema.getAlias(), schema);
+ }
+ }
+ return schemaByNsOrAlias;
}
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataBinder.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataBinder.java
index 3a0024e..cc4594d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataBinder.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataBinder.java
@@ -42,17 +42,17 @@ import org.apache.olingo.commons.api.data.LinkedComplexValue;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.data.Valuable;
-import org.apache.olingo.commons.api.domain.ODataEntity;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
-import org.apache.olingo.commons.api.domain.ODataProperty;
import org.apache.olingo.commons.api.domain.ODataCollectionValue;
import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
import org.apache.olingo.commons.api.domain.ODataInlineEntity;
import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
import org.apache.olingo.commons.api.domain.ODataLink;
import org.apache.olingo.commons.api.domain.ODataLinkType;
import org.apache.olingo.commons.api.domain.ODataLinked;
import org.apache.olingo.commons.api.domain.ODataOperation;
+import org.apache.olingo.commons.api.domain.ODataProperty;
import org.apache.olingo.commons.api.domain.ODataServiceDocument;
import org.apache.olingo.commons.api.domain.ODataValue;
import org.apache.olingo.commons.api.edm.Edm;
@@ -598,7 +598,6 @@ public abstract class AbstractODataBinder implements CommonODataBinder {
: EdmPrimitiveTypeKind.valueOfFQN(client.getServiceVersion(), type.toString())).
build();
} else if (valuable.isComplex()) {
- @SuppressWarnings("unchecked")
final ODataComplexValue<ODataProperty> cValue =
(ODataComplexValue<ODataProperty>) client.getObjectFactory().
newComplexValue(type == null ? null : type.toString());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java
index 9c96ace..553ed79 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java
@@ -179,7 +179,6 @@ public class ODataComplexValueImpl extends AbstractODataValue implements ODataCo
* @param field field to be added.
*/
@Override
- @SuppressWarnings("unchecked")
public ODataComplexValue<ODataProperty> add(final ODataProperty field) {
fields.put(field.getName(), field);
return getThis();
[2/2] olingo-odata4 git commit: [OLINGO-575] Delete EDM abstract
classes
Posted by ch...@apache.org.
[OLINGO-575] Delete EDM abstract classes
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/d088866e
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/d088866e
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/d088866e
Branch: refs/heads/master
Commit: d088866e97ecbb5831df2033ac7cfb9f9ea1b641
Parents: 59766b2
Author: Christian Amend <ch...@apache.org>
Authored: Fri Feb 27 14:17:11 2015 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Fri Feb 27 14:17:11 2015 +0100
----------------------------------------------------------------------
.../olingo/ext/proxy/utils/CoreUtils.java | 1 -
.../retrieve/RetrieveRequestFactory.java | 1 -
.../olingo/client/api/edm/xml/Annotations.java | 6 +-
.../client/api/edm/xml/CommonAnnotations.java | 26 ----
.../api/edm/xml/CommonFunctionImport.java | 22 ----
.../api/edm/xml/CommonNavigationProperty.java | 24 ----
.../client/api/edm/xml/CommonParameter.java | 33 -----
.../client/api/edm/xml/CommonProperty.java | 41 ------
.../olingo/client/api/edm/xml/ComplexType.java | 30 ++---
.../olingo/client/api/edm/xml/EntityType.java | 8 +-
.../client/api/edm/xml/FunctionImport.java | 2 +-
.../client/api/edm/xml/NavigationProperty.java | 5 +-
.../olingo/client/api/edm/xml/Parameter.java | 12 +-
.../olingo/client/api/edm/xml/Property.java | 20 ++-
.../olingo/client/api/edm/xml/Schema.java | 1 -
.../client/api/edm/xml/StructuralType.java | 39 ++++++
.../retrieve/XMLMetadataRequestImpl.java | 3 +-
.../olingo/client/core/edm/EdmClientImpl.java | 6 +-
.../client/core/edm/EdmEntityContainerImpl.java | 8 +-
.../client/core/edm/EdmEntityTypeImpl.java | 2 +-
.../client/core/edm/EdmOperationImpl.java | 6 +-
.../client/core/edm/EdmParameterImpl.java | 5 +-
.../olingo/client/core/edm/EdmPropertyImpl.java | 5 +-
.../core/edm/EdmStructuredTypeHelperImpl.java | 20 +--
.../core/edm/xml/AbstractAnnotatable.java | 38 ------
.../core/edm/xml/AbstractAnnotations.java | 51 --------
.../core/edm/xml/AbstractComplexType.java | 52 --------
.../core/edm/xml/AbstractDataServices.java | 51 --------
.../client/core/edm/xml/AbstractEdmx.java | 52 --------
.../core/edm/xml/AbstractEntityContainer.java | 104 ---------------
.../client/core/edm/xml/AbstractEntitySet.java | 51 --------
.../client/core/edm/xml/AbstractEntityType.java | 86 -------------
.../client/core/edm/xml/AbstractEnumType.java | 96 --------------
.../client/core/edm/xml/AbstractMember.java | 52 --------
.../edm/xml/AbstractNavigationProperty.java | 52 --------
.../client/core/edm/xml/AbstractParameter.java | 95 --------------
.../client/core/edm/xml/AbstractProperty.java | 129 -------------------
.../client/core/edm/xml/AbstractSchema.java | 69 ----------
.../core/edm/xml/AbstractStructuralType.java | 49 +++++++
.../core/edm/xml/AbstractXMLMetadata.java | 70 ----------
.../olingo/client/core/edm/xml/ActionImpl.java | 10 +-
.../client/core/edm/xml/ActionImportImpl.java | 13 +-
.../client/core/edm/xml/AnnotationImpl.java | 12 +-
.../client/core/edm/xml/AnnotationsImpl.java | 27 +++-
.../core/edm/xml/ComplexTypeDeserializer.java | 4 +-
.../client/core/edm/xml/ComplexTypeImpl.java | 7 +-
.../core/edm/xml/DataServicesDeserializer.java | 4 +-
.../client/core/edm/xml/DataServicesImpl.java | 42 ++++--
.../client/core/edm/xml/EdmxDeserializer.java | 15 +--
.../olingo/client/core/edm/xml/EdmxImpl.java | 27 +++-
.../edm/xml/EntityContainerDeserializer.java | 29 ++---
.../core/edm/xml/EntityContainerImpl.java | 77 ++++++++---
.../core/edm/xml/EntitySetDeserializer.java | 33 +++--
.../client/core/edm/xml/EntitySetImpl.java | 27 +++-
.../core/edm/xml/EntityTypeDeserializer.java | 17 +--
.../client/core/edm/xml/EntityTypeImpl.java | 61 ++++++++-
.../core/edm/xml/EnumTypeDeserializer.java | 29 ++---
.../client/core/edm/xml/EnumTypeImpl.java | 69 +++++++++-
.../olingo/client/core/edm/xml/MemberImpl.java | 43 +++++--
.../core/edm/xml/NavigationPropertyImpl.java | 29 ++++-
.../core/edm/xml/ParameterDeserializer.java | 27 ++--
.../client/core/edm/xml/ParameterImpl.java | 85 ++++++++++--
.../core/edm/xml/PropertyDeserializer.java | 9 +-
.../client/core/edm/xml/PropertyImpl.java | 105 ++++++++++++++-
.../client/core/edm/xml/ReferenceImpl.java | 10 +-
.../core/edm/xml/ReferentialConstraintImpl.java | 13 +-
.../client/core/edm/xml/SchemaDeserializer.java | 54 ++------
.../olingo/client/core/edm/xml/SchemaImpl.java | 52 ++++++--
.../client/core/edm/xml/SingletonImpl.java | 10 +-
.../olingo/client/core/edm/xml/TermImpl.java | 10 +-
.../client/core/edm/xml/XMLMetadataImpl.java | 46 +++++--
.../core/serialization/AbstractODataBinder.java | 7 +-
.../core/domain/ODataComplexValueImpl.java | 1 -
73 files changed, 938 insertions(+), 1489 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
index cd89e09..297a8e6 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
@@ -294,7 +294,6 @@ public final class CoreUtils {
}
}
- @SuppressWarnings("unchecked")
public static void addProperties(
final CommonEdmEnabledODataClient<?> client,
final Map<String, Object> changes,
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
index bc2bf5e..58cd835 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
@@ -25,7 +25,6 @@ import org.apache.olingo.commons.api.domain.ODataEntitySet;
import org.apache.olingo.commons.api.domain.ODataProperty;
import org.apache.olingo.commons.api.domain.ODataSingleton;
-@SuppressWarnings("unchecked")
public interface RetrieveRequestFactory extends CommonRetrieveRequestFactory {
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Annotations.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Annotations.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Annotations.java
index 6c1027b..17a6243 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Annotations.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Annotations.java
@@ -19,7 +19,11 @@
package org.apache.olingo.client.api.edm.xml;
-public interface Annotations extends CommonAnnotations, Annotatable {
+public interface Annotations extends Annotatable {
+ String getTarget();
+
+ String getQualifier();
+
Annotation getAnnotation(String term);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonAnnotations.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonAnnotations.java
deleted file mode 100644
index b79328f..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonAnnotations.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.client.api.edm.xml;
-
-public abstract interface CommonAnnotations {
-
- String getTarget();
-
- String getQualifier();
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonFunctionImport.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonFunctionImport.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonFunctionImport.java
deleted file mode 100644
index c590387..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/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.client.api.edm.xml;
-
-public interface CommonFunctionImport extends Named {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonNavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonNavigationProperty.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonNavigationProperty.java
deleted file mode 100644
index ae66b4e..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonNavigationProperty.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.edm.xml;
-
-public interface CommonNavigationProperty extends Named {
-
- boolean isContainsTarget();
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonParameter.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonParameter.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonParameter.java
deleted file mode 100644
index ec96dc0..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonParameter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.api.edm.xml;
-
-public interface CommonParameter extends Named {
-
- String getType();
-
- boolean isNullable();
-
- Integer getMaxLength();
-
- Integer getPrecision();
-
- Integer getScale();
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.java
deleted file mode 100644
index 156631c..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/CommonProperty.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.client.api.edm.xml;
-
-import org.apache.olingo.commons.api.edm.geo.SRID;
-
-public interface CommonProperty extends Named {
-
- String getType();
-
- boolean isNullable();
-
- String getDefaultValue();
-
- Integer getMaxLength();
-
- Integer getPrecision();
-
- Integer getScale();
-
- boolean isUnicode();
-
- SRID getSrid();
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/ComplexType.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/ComplexType.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/ComplexType.java
index 173eaeb..c375590 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/ComplexType.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/ComplexType.java
@@ -1,38 +1,24 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.olingo.client.api.edm.xml;
-import java.util.List;
-public interface ComplexType extends Named, Annotatable {
+public interface ComplexType extends StructuralType {
- boolean isAbstractEntityType();
-
- String getBaseType();
-
- boolean isOpenType();
-
- Property getProperty(String name);
-
- List<Property> getProperties();
-
- NavigationProperty getNavigationProperty(String name);
-
- List<NavigationProperty> getNavigationProperties();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/EntityType.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/EntityType.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/EntityType.java
index a413edf..8d8eeb4 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/EntityType.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/EntityType.java
@@ -18,13 +18,7 @@
*/
package org.apache.olingo.client.api.edm.xml;
-public interface EntityType extends ComplexType {
-
- boolean isAbstractEntityType();
-
- String getBaseType();
-
- boolean isOpenType();
+public interface EntityType extends StructuralType {
EntityKey getKey();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/FunctionImport.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/FunctionImport.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/FunctionImport.java
index e69bdf6..8d4449a 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/FunctionImport.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/FunctionImport.java
@@ -19,7 +19,7 @@
package org.apache.olingo.client.api.edm.xml;
-public interface FunctionImport extends OperationImport, CommonFunctionImport {
+public interface FunctionImport extends OperationImport, Named {
String getFunction();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/NavigationProperty.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/NavigationProperty.java
index a08d4c7..7985561 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/NavigationProperty.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/NavigationProperty.java
@@ -20,7 +20,7 @@ package org.apache.olingo.client.api.edm.xml;
import java.util.List;
-public interface NavigationProperty extends CommonNavigationProperty, Annotatable {
+public interface NavigationProperty extends Named, Annotatable {
String getType();
@@ -31,5 +31,6 @@ public interface NavigationProperty extends CommonNavigationProperty, Annotatabl
List<ReferentialConstraint> getReferentialConstraints();
OnDelete getOnDelete();
-
+
+ boolean isContainsTarget();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Parameter.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Parameter.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Parameter.java
index 85cf446..0f4ee36 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Parameter.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Parameter.java
@@ -20,7 +20,17 @@ package org.apache.olingo.client.api.edm.xml;
import org.apache.olingo.commons.api.edm.geo.SRID;
-public interface Parameter extends CommonParameter, Annotatable {
+public interface Parameter extends Named, Annotatable {
+ String getType();
+
+ boolean isNullable();
+
+ Integer getMaxLength();
+
+ Integer getPrecision();
+
+ Integer getScale();
+
SRID getSrid();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Property.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Property.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Property.java
index 7c13e20..62909f1 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Property.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Property.java
@@ -18,7 +18,25 @@
*/
package org.apache.olingo.client.api.edm.xml;
+import org.apache.olingo.commons.api.edm.geo.SRID;
-public interface Property extends CommonProperty, Annotatable {
+public interface Property extends Named, Annotatable {
+
+ String getType();
+
+ boolean isNullable();
+
+ String getDefaultValue();
+
+ Integer getMaxLength();
+
+ Integer getPrecision();
+
+ Integer getScale();
+
+ boolean isUnicode();
+
+ SRID getSrid();
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
index 1b2796a..820c327 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/Schema.java
@@ -81,7 +81,6 @@ public interface Schema {
List<Annotations> getAnnotationGroups();
Annotations getAnnotationGroup(String target);
-
//TODO: Check if there are annotations in V4
List<Annotation> getAnnotations();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/StructuralType.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/StructuralType.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/StructuralType.java
new file mode 100644
index 0000000..5800d78
--- /dev/null
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/edm/xml/StructuralType.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.client.api.edm.xml;
+
+import java.util.List;
+
+public interface StructuralType extends Named, Annotatable{
+
+ boolean isAbstractType();
+
+ String getBaseType();
+
+ boolean isOpenType();
+
+ Property getProperty(String name);
+
+ List<Property> getProperties();
+
+ NavigationProperty getNavigationProperty(String name);
+
+ List<NavigationProperty> getNavigationProperties();
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
index 30682f7..3b326e5 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/XMLMetadataRequestImpl.java
@@ -35,7 +35,6 @@ import org.apache.olingo.client.api.edm.xml.IncludeAnnotations;
import org.apache.olingo.client.api.edm.xml.Reference;
import org.apache.olingo.client.api.edm.xml.Schema;
import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-import org.apache.olingo.client.core.edm.xml.AbstractSchema;
import org.apache.olingo.client.core.edm.xml.AnnotationsImpl;
import org.apache.olingo.client.core.edm.xml.SchemaImpl;
import org.apache.olingo.commons.api.format.ODataFormat;
@@ -70,7 +69,7 @@ public class XMLMetadataRequestImpl
if (includedSchema != null) {
response.getBody().getSchemas().add(includedSchema);
if (StringUtils.isNotBlank(include.getAlias())) {
- ((AbstractSchema) includedSchema).setAlias(include.getAlias());
+ ((SchemaImpl) includedSchema).setAlias(include.getAlias());
}
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
index 6b9c9b9..4a445ab 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
@@ -36,12 +36,12 @@ import org.apache.olingo.client.api.edm.xml.Action;
import org.apache.olingo.client.api.edm.xml.Annotatable;
import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.Annotations;
-import org.apache.olingo.client.api.edm.xml.CommonParameter;
import org.apache.olingo.client.api.edm.xml.ComplexType;
import org.apache.olingo.client.api.edm.xml.EntityContainer;
import org.apache.olingo.client.api.edm.xml.EntityType;
import org.apache.olingo.client.api.edm.xml.EnumType;
import org.apache.olingo.client.api.edm.xml.Function;
+import org.apache.olingo.client.api.edm.xml.Parameter;
import org.apache.olingo.client.api.edm.xml.Schema;
import org.apache.olingo.client.api.edm.xml.Term;
import org.apache.olingo.client.api.edm.xml.TypeDefinition;
@@ -232,7 +232,7 @@ public class EdmClientImpl extends AbstractEdm {
final Function function = itor.next();
if (!function.isBound()) {
final Set<String> functionParamNames = new HashSet<String>();
- for (CommonParameter param : function.getParameters()) {
+ for (Parameter param : function.getParameters()) {
functionParamNames.add(param.getName());
}
found = parameterNames == null
@@ -296,7 +296,7 @@ public class EdmClientImpl extends AbstractEdm {
|| isBindingParameterCollection.booleanValue() == boundParam.isCollection())) {
final Set<String> functionParamNames = new HashSet<String>();
- for (CommonParameter param : function.getParameters()) {
+ for (Parameter param : function.getParameters()) {
functionParamNames.add(param.getName());
}
found = parameterNames == null
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
index b6cdc36..ea68a7a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
@@ -22,9 +22,9 @@ import java.util.Collections;
import java.util.List;
import org.apache.olingo.client.api.edm.xml.ActionImport;
-import org.apache.olingo.client.api.edm.xml.CommonFunctionImport;
import org.apache.olingo.client.api.edm.xml.EntityContainer;
import org.apache.olingo.client.api.edm.xml.EntitySet;
+import org.apache.olingo.client.api.edm.xml.FunctionImport;
import org.apache.olingo.client.api.edm.xml.Schema;
import org.apache.olingo.client.api.edm.xml.Singleton;
import org.apache.olingo.commons.api.edm.Edm;
@@ -115,7 +115,7 @@ public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
protected EdmFunctionImport createFunctionImport(final String functionImportName) {
EdmFunctionImport result = null;
- final CommonFunctionImport functionImport = xmlEntityContainer.getFunctionImport(functionImportName);
+ final FunctionImport functionImport = xmlEntityContainer.getFunctionImport(functionImportName);
if (functionImport != null) {
if (functionImport instanceof org.apache.olingo.client.api.edm.xml.FunctionImport) {
result = new EdmFunctionImportImpl(edm, this, functionImportName,
@@ -146,8 +146,8 @@ public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
@Override
protected void loadAllFunctionImports() {
- final List<? extends CommonFunctionImport> localFunctionImports = xmlEntityContainer.getFunctionImports();
- for (CommonFunctionImport functionImport : localFunctionImports) {
+ final List<? extends FunctionImport> localFunctionImports = xmlEntityContainer.getFunctionImports();
+ for (FunctionImport functionImport : localFunctionImports) {
EdmFunctionImport edmFunctionImport;
if (functionImport instanceof org.apache.olingo.client.api.edm.xml.FunctionImport) {
edmFunctionImport = new EdmFunctionImportImpl(edm, this, functionImport.getName(),
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java
index 746047b..2dabbbf 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java
@@ -58,7 +58,7 @@ public class EdmEntityTypeImpl extends AbstractEdmEntityType {
final List<EdmKeyPropertyRef> edmKey;
//Abstract EntityTypes do not necessarily have keys
- if (entityType.isAbstractEntityType() && entityType.getKey() == null) {
+ if (entityType.isAbstractType() && entityType.getKey() == null) {
edmKey = new ArrayList<EdmKeyPropertyRef>();
} else {
edmKey = new ArrayList<EdmKeyPropertyRef>(
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
index 498fece..0df592c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
@@ -23,7 +23,7 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.client.api.edm.xml.Action;
-import org.apache.olingo.client.api.edm.xml.CommonParameter;
+import org.apache.olingo.client.api.edm.xml.Parameter;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmAnnotation;
import org.apache.olingo.commons.api.edm.EdmParameter;
@@ -40,9 +40,9 @@ public abstract class EdmOperationImpl extends AbstractEdmOperation {
protected final EdmAnnotationHelper helper;
protected static <T extends EdmOperationImpl> T getInstance(final T instance) {
- final List<? extends CommonParameter> parameters = instance.operation.getParameters();
+ final List<? extends Parameter> parameters = instance.operation.getParameters();
final List<EdmParameter> _parameters = new ArrayList<EdmParameter>(parameters.size());
- for (CommonParameter parameter : parameters) {
+ for (Parameter parameter : parameters) {
_parameters.add(new EdmParameterImpl(instance.edm, parameter));
}
instance.setParameters(_parameters);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java
index c71d1e5..4e8fc8f 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java
@@ -21,7 +21,6 @@ package org.apache.olingo.client.core.edm;
import java.util.Collections;
import java.util.List;
-import org.apache.olingo.client.api.edm.xml.CommonParameter;
import org.apache.olingo.client.api.edm.xml.Parameter;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmAnnotation;
@@ -35,13 +34,13 @@ import org.apache.olingo.commons.core.edm.EdmTypeInfo;
public class EdmParameterImpl extends AbstractEdmParameter {
- private final CommonParameter parameter;
+ private final Parameter parameter;
private final EdmTypeInfo typeInfo;
private EdmAnnotationHelper helper;
- public EdmParameterImpl(final Edm edm, final CommonParameter parameter) {
+ public EdmParameterImpl(final Edm edm, final Parameter parameter) {
super(edm, parameter.getName(), new FullQualifiedName(parameter.getType()));
this.parameter = parameter;
this.typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(parameter.getType()).build();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java
index 36e2348..6b2e189 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java
@@ -21,7 +21,6 @@ package org.apache.olingo.client.core.edm;
import java.util.Collections;
import java.util.List;
-import org.apache.olingo.client.api.edm.xml.CommonProperty;
import org.apache.olingo.client.api.edm.xml.Property;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmAnnotation;
@@ -37,13 +36,13 @@ public class EdmPropertyImpl extends AbstractEdmProperty {
private final FullQualifiedName structuredTypeName;
- private final CommonProperty property;
+ private final Property property;
private final EdmTypeInfo typeInfo;
private EdmAnnotationHelper helper;
- public EdmPropertyImpl(final Edm edm, final FullQualifiedName structuredTypeName, final CommonProperty property) {
+ public EdmPropertyImpl(final Edm edm, final FullQualifiedName structuredTypeName, final Property property) {
super(edm, property.getName());
this.structuredTypeName = structuredTypeName;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java
index 9a5e0c8..89726d5 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java
@@ -22,11 +22,11 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import org.apache.olingo.client.api.edm.xml.CommonNavigationProperty;
-import org.apache.olingo.client.api.edm.xml.CommonProperty;
-import org.apache.olingo.client.api.edm.xml.ComplexType;
import org.apache.olingo.client.api.edm.xml.EntityType;
+import org.apache.olingo.client.api.edm.xml.NavigationProperty;
+import org.apache.olingo.client.api.edm.xml.Property;
import org.apache.olingo.client.api.edm.xml.Schema;
+import org.apache.olingo.client.api.edm.xml.StructuralType;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
import org.apache.olingo.commons.api.edm.EdmProperty;
@@ -39,7 +39,7 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
private final FullQualifiedName structuredTypeName;
- private final ComplexType complexType;
+ private final StructuralType complexType;
private final List<? extends Schema> xmlSchemas;
@@ -48,11 +48,11 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
private Map<String, EdmNavigationProperty> navigationProperties;
public EdmStructuredTypeHelperImpl(final Edm edm, final FullQualifiedName structuredTypeName,
- final List<? extends Schema> xmlSchemas, final ComplexType complexType) {
+ final List<? extends Schema> xmlSchemas, final StructuralType structuralType) {
this.edm = edm;
this.structuredTypeName = structuredTypeName;
- this.complexType = complexType;
+ this.complexType = structuralType;
this.xmlSchemas = xmlSchemas;
}
@@ -60,7 +60,7 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
public Map<String, EdmProperty> getProperties() {
if (properties == null) {
properties = new LinkedHashMap<String, EdmProperty>();
- for (CommonProperty property : complexType.getProperties()) {
+ for (Property property : complexType.getProperties()) {
properties.put(property.getName(), new EdmPropertyImpl(edm, structuredTypeName, property));
}
}
@@ -71,7 +71,7 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
public Map<String, EdmNavigationProperty> getNavigationProperties() {
if (navigationProperties == null) {
navigationProperties = new LinkedHashMap<String, EdmNavigationProperty>();
- for (CommonNavigationProperty navigationProperty : complexType.getNavigationProperties()) {
+ for (NavigationProperty navigationProperty : complexType.getNavigationProperties()) {
if (navigationProperty instanceof org.apache.olingo.client.api.edm.xml.NavigationProperty) {
navigationProperties.put(navigationProperty.getName(), new EdmNavigationPropertyImpl(
edm, structuredTypeName,
@@ -94,9 +94,9 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
@Override
public boolean isAbstract() {
return complexType instanceof org.apache.olingo.client.api.edm.xml.ComplexType
- ? ((org.apache.olingo.client.api.edm.xml.ComplexType) complexType).isAbstractEntityType()
+ ? ((org.apache.olingo.client.api.edm.xml.ComplexType) complexType).isAbstractType()
: complexType instanceof EntityType
- ? ((EntityType) complexType).isAbstractEntityType()
+ ? ((EntityType) complexType).isAbstractType()
: false;
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotatable.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotatable.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotatable.java
deleted file mode 100644
index e0fd56e..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotatable.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.client.core.edm.xml;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.client.api.edm.xml.Annotatable;
-import org.apache.olingo.client.api.edm.xml.Annotation;
-
-public abstract class AbstractAnnotatable extends AbstractEdmItem implements Annotatable {
-
- private static final long serialVersionUID = 3739284381932173905L;
-
- private final List<Annotation> annotations = new ArrayList<Annotation>();
-
- @Override
- public List<Annotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotations.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotations.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotations.java
deleted file mode 100644
index 8b569d2..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractAnnotations.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.client.core.edm.xml;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public abstract class AbstractAnnotations extends AbstractEdmItem
- implements org.apache.olingo.client.api.edm.xml.CommonAnnotations {
-
- private static final long serialVersionUID = 3065797355916813641L;
-
- @JsonProperty(value = "Target", required = true)
- private String target;
-
- @JsonProperty("Qualifier")
- private String qualifier;
-
- @Override
- public String getTarget() {
- return target;
- }
-
- public void setTarget(final String target) {
- this.target = target;
- }
-
- @Override
- public String getQualifier() {
- return qualifier;
- }
-
- public void setQualifier(final String qualifier) {
- this.qualifier = qualifier;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractComplexType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractComplexType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractComplexType.java
deleted file mode 100644
index adc89c2..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractComplexType.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.ComplexType;
-import org.apache.olingo.client.api.edm.xml.NavigationProperty;
-import org.apache.olingo.client.api.edm.xml.Property;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = ComplexTypeDeserializer.class)
-public abstract class AbstractComplexType extends AbstractEdmItem implements ComplexType {
-
- private static final long serialVersionUID = 1137297128124390440L;
-
- private String name;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public Property getProperty(final String name) {
- return getOneByName(name, getProperties());
- }
-
- @Override
- public NavigationProperty getNavigationProperty(final String name) {
- return getOneByName(name, getNavigationProperties());
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractDataServices.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractDataServices.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractDataServices.java
deleted file mode 100644
index 34cad8a..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractDataServices.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.DataServices;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = DataServicesDeserializer.class)
-public abstract class AbstractDataServices extends AbstractEdmItem implements DataServices {
-
- private static final long serialVersionUID = -4400718085220384367L;
-
- private String dataServiceVersion;
-
- private String maxDataServiceVersion;
-
- @Override
- public String getDataServiceVersion() {
- return dataServiceVersion;
- }
-
- public void setDataServiceVersion(final String version) {
- this.dataServiceVersion = version;
- }
-
- @Override
- public String getMaxDataServiceVersion() {
- return maxDataServiceVersion;
- }
-
- public void setMaxDataServiceVersion(final String version) {
- this.maxDataServiceVersion = version;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmx.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmx.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmx.java
deleted file mode 100644
index 5645bae..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEdmx.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.DataServices;
-import org.apache.olingo.client.api.edm.xml.Edmx;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = EdmxDeserializer.class)
-public abstract class AbstractEdmx extends AbstractEdmItem implements Edmx {
-
- private static final long serialVersionUID = 4832081463474985688L;
-
- private String version;
-
- private DataServices dataServices;
-
- @Override
- public String getVersion() {
- return version;
- }
-
- public void setVersion(final String version) {
- this.version = version;
- }
-
- @Override
- public DataServices getDataServices() {
- return dataServices;
- }
-
- public void setDataServices(final DataServices dataServices) {
- this.dataServices = dataServices;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityContainer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityContainer.java
deleted file mode 100644
index 9d8cf5e..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityContainer.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm.xml;
-
-import java.util.List;
-
-import org.apache.olingo.client.api.edm.xml.EntityContainer;
-import org.apache.olingo.client.api.edm.xml.EntitySet;
-import org.apache.olingo.client.api.edm.xml.FunctionImport;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = EntityContainerDeserializer.class)
-public abstract class AbstractEntityContainer extends AbstractEdmItem implements EntityContainer {
-
- private static final long serialVersionUID = -1114035944715857067L;
-
- private String name;
-
- private String _extends;
-
- private boolean lazyLoadingEnabled;
-
- private boolean defaultEntityContainer;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getExtends() {
- return _extends;
- }
-
- public void setExtends(final String _extends) {
- this._extends = _extends;
- }
-
- @Override
- public boolean isLazyLoadingEnabled() {
- return lazyLoadingEnabled;
- }
-
- public void setLazyLoadingEnabled(final boolean lazyLoadingEnabled) {
- this.lazyLoadingEnabled = lazyLoadingEnabled;
- }
-
- @Override
- public boolean isDefaultEntityContainer() {
- return defaultEntityContainer;
- }
-
- 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 FunctionImport getFunctionImport(final String name) {
- return getOneByName(name, getFunctionImports());
- }
-
- /**
- * Gets all function imports with given name.
- *
- * @param name name.
- * @return function imports.
- */
- @Override
- public List<FunctionImport> getFunctionImports(final String name) {
- return getAllByName(name, getFunctionImports());
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntitySet.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntitySet.java
deleted file mode 100644
index 97197bd..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntitySet.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.EntitySet;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = EntitySetDeserializer.class)
-public abstract class AbstractEntitySet extends AbstractEdmItem implements EntitySet {
-
- private static final long serialVersionUID = 8583772498037429318L;
-
- private String name;
-
- private String entityType;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getEntityType() {
- return entityType;
- }
-
- public void setEntityType(final String entityType) {
- this.entityType = entityType;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityType.java
deleted file mode 100644
index 6878a2d..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEntityType.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.EntityKey;
-import org.apache.olingo.client.api.edm.xml.EntityType;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = EntityTypeDeserializer.class)
-public abstract class AbstractEntityType extends AbstractComplexType implements EntityType {
-
- private static final long serialVersionUID = 1203890295232722675L;
-
- private boolean abstractEntityType = false;
-
- private String baseType;
-
- private boolean openType = false;
-
- private boolean hasStream = false;
-
- private EntityKeyImpl key;
-
- @Override
- public boolean isAbstractEntityType() {
- return abstractEntityType;
- }
-
- public void setAbstractEntityType(final boolean abstractEntityType) {
- this.abstractEntityType = abstractEntityType;
- }
-
- @Override
- public String getBaseType() {
- return baseType;
- }
-
- public void setBaseType(final String baseType) {
- this.baseType = baseType;
- }
-
- @Override
- public boolean isOpenType() {
- return openType;
- }
-
- 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;
- }
-
- public void setHasStream(final boolean hasStream) {
- this.hasStream = hasStream;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEnumType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEnumType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEnumType.java
deleted file mode 100644
index 149f95b..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractEnumType.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.client.core.edm.xml;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.client.api.edm.xml.EnumType;
-import org.apache.olingo.client.api.edm.xml.Member;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = EnumTypeDeserializer.class)
-public abstract class AbstractEnumType extends AbstractEdmItem implements EnumType {
-
- private static final long serialVersionUID = 3130179997854833072L;
-
- private String name;
-
- private String underlyingType;
-
- private boolean flags;
-
- private final List<Member> members = new ArrayList<Member>();
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getUnderlyingType() {
- return underlyingType;
- }
-
- public void setUnderlyingType(final String underlyingType) {
- this.underlyingType = underlyingType;
- }
-
- @Override
- public boolean isFlags() {
- return flags;
- }
-
- 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;
- }
-
- @Override
- public List<Member> getMembers() {
- return members;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractMember.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractMember.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractMember.java
deleted file mode 100644
index a5dadcc..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractMember.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.Member;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public abstract class AbstractMember extends AbstractEdmItem implements Member {
-
- private static final long serialVersionUID = -2335311346302901837L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty("Value")
- private String value;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getValue() {
- return value;
- }
-
- public void setValue(final String value) {
- this.value = value;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractNavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractNavigationProperty.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractNavigationProperty.java
deleted file mode 100644
index 90e2c21..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractNavigationProperty.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.CommonNavigationProperty;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class AbstractNavigationProperty extends AbstractEdmItem implements CommonNavigationProperty {
-
- private static final long serialVersionUID = 6240231735592427582L;
-
- @JsonProperty(value = "Name", required = true)
- private String name;
-
- @JsonProperty(value = "ContainsTarget")
- private boolean containsTarget = false;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public boolean isContainsTarget() {
- return containsTarget;
- }
-
- public void setContainsTarget(final boolean containsTarget) {
- this.containsTarget = containsTarget;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractParameter.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractParameter.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractParameter.java
deleted file mode 100644
index bc4162b..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractParameter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.CommonParameter;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = ParameterDeserializer.class)
-public abstract class AbstractParameter extends AbstractEdmItem implements CommonParameter {
-
- private static final long serialVersionUID = -1064183665249856572L;
-
- private String name;
-
- private String type;
-
- private boolean nullable = true;
-
- private Integer maxLength;
-
- private Integer precision;
-
- private Integer scale;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public boolean isNullable() {
- return nullable;
- }
-
- public void setNullable(final boolean nullable) {
- this.nullable = nullable;
- }
-
- @Override
- public Integer getMaxLength() {
- return maxLength;
- }
-
- public void setMaxLength(final Integer maxLength) {
- this.maxLength = maxLength;
- }
-
- @Override
- public Integer getPrecision() {
- return precision;
- }
-
- public void setPrecision(final Integer precision) {
- this.precision = precision;
- }
-
- @Override
- public Integer getScale() {
- return scale;
- }
-
- public void setScale(final Integer scale) {
- this.scale = scale;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractProperty.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractProperty.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractProperty.java
deleted file mode 100644
index af0d381..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractProperty.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.CommonProperty;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = PropertyDeserializer.class)
-public abstract class AbstractProperty extends AbstractEdmItem implements CommonProperty {
-
- private static final long serialVersionUID = -1489578611146966897L;
-
- private String name;
-
- private String type;
-
- private boolean nullable = true;
-
- private String defaultValue;
-
- private Integer maxLength;
-
- private Integer precision;
-
- private Integer scale;
-
- private boolean unicode = true;
-
- private SRID srid;
-
- @Override
- public String getName() {
- return name;
- }
-
- public void setName(final String name) {
- this.name = name;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- public void setType(final String type) {
- this.type = type;
- }
-
- @Override
- public boolean isNullable() {
- return nullable;
- }
-
- public void setNullable(final boolean nullable) {
- this.nullable = nullable;
- }
-
- @Override
- public String getDefaultValue() {
- return defaultValue;
- }
-
- public void setDefaultValue(final String defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- @Override
- public Integer getMaxLength() {
- return maxLength;
- }
-
- public void setMaxLength(final Integer maxLength) {
- this.maxLength = maxLength;
- }
-
- @Override
- public Integer getPrecision() {
- return precision;
- }
-
- public void setPrecision(final Integer precision) {
- this.precision = precision;
- }
-
- @Override
- public Integer getScale() {
- return scale;
- }
-
- public void setScale(final Integer scale) {
- this.scale = scale;
- }
-
- @Override
- public boolean isUnicode() {
- return unicode;
- }
-
- public void setUnicode(final boolean unicode) {
- this.unicode = unicode;
- }
-
- @Override
- public SRID getSrid() {
- return srid;
- }
-
- public void setSrid(final SRID srid) {
- this.srid = srid;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractSchema.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractSchema.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractSchema.java
deleted file mode 100644
index 5dfc53e..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractSchema.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.client.core.edm.xml;
-
-import org.apache.olingo.client.api.edm.xml.ComplexType;
-import org.apache.olingo.client.api.edm.xml.EntityType;
-import org.apache.olingo.client.api.edm.xml.EnumType;
-import org.apache.olingo.client.api.edm.xml.Schema;
-
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-
-@JsonDeserialize(using = SchemaDeserializer.class)
-public abstract class AbstractSchema extends AbstractEdmItem implements Schema {
-
- private static final long serialVersionUID = -6432381849489898369L;
-
- private String namespace;
-
- private String alias;
-
- @Override
- public String getNamespace() {
- return namespace;
- }
-
- public void setNamespace(final String namespace) {
- this.namespace = namespace;
- }
-
- @Override
- public String getAlias() {
- return alias;
- }
-
- public void setAlias(final String alias) {
- this.alias = alias;
- }
-
- @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/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractStructuralType.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractStructuralType.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractStructuralType.java
new file mode 100644
index 0000000..a8d0401
--- /dev/null
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractStructuralType.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.client.core.edm.xml;
+
+import org.apache.olingo.client.api.edm.xml.NavigationProperty;
+import org.apache.olingo.client.api.edm.xml.Property;
+import org.apache.olingo.client.api.edm.xml.StructuralType;
+
+public abstract class AbstractStructuralType extends AbstractEdmItem implements StructuralType {
+
+ private static final long serialVersionUID = 1137297128124390440L;
+
+ private String name;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ @Override
+ public Property getProperty(final String name) {
+ return getOneByName(name, getProperties());
+ }
+
+ @Override
+ public NavigationProperty getNavigationProperty(final String name) {
+ return getOneByName(name, getNavigationProperties());
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractXMLMetadata.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractXMLMetadata.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractXMLMetadata.java
deleted file mode 100644
index f911463..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AbstractXMLMetadata.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm.xml;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.client.api.edm.xml.Edmx;
-import org.apache.olingo.client.api.edm.xml.Schema;
-import org.apache.olingo.client.api.edm.xml.XMLMetadata;
-
-/**
- * Entry point for access information about EDM metadata.
- */
-public abstract class AbstractXMLMetadata extends AbstractEdmItem implements XMLMetadata {
-
- private static final long serialVersionUID = -5141922932300533083L;
-
- protected final Edmx edmx;
-
- public AbstractXMLMetadata(final Edmx edmx) {
- this.edmx = edmx;
- }
-
- @Override
- public List<Schema> getSchemas() {
- return this.edmx.getDataServices().getSchemas();
- }
-
- @Override
- public Schema getSchema(final int index) {
- return getSchemas().get(index);
- }
-
- @Override
- public Schema getSchema(final String key) {
- return getSchemaByNsOrAlias().get(key);
- }
-
- @Override
- public Map<String, Schema> getSchemaByNsOrAlias() {
- final Map<String, Schema> schemaByNsOrAlias = new HashMap<String, Schema>();
- for (Schema schema : getSchemas()) {
- schemaByNsOrAlias.put(schema.getNamespace(), schema);
- if (StringUtils.isNotBlank(schema.getAlias())) {
- schemaByNsOrAlias.put(schema.getAlias(), schema);
- }
- }
- return schemaByNsOrAlias;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java
index 2b685dd..b73a97b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImpl.java
@@ -22,13 +22,14 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.client.api.edm.xml.Action;
+import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.Parameter;
import org.apache.olingo.client.api.edm.xml.ReturnType;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = ActionDeserializer.class)
-public class ActionImpl extends AbstractAnnotatable implements Action {
+public class ActionImpl extends AbstractEdmItem implements Action {
private static final long serialVersionUID = 5321541275349234088L;
@@ -42,6 +43,13 @@ public class ActionImpl extends AbstractAnnotatable implements Action {
private ReturnType returnType;
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
@Override
public String getName() {
return name;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java
index ac9c1c5..cdfc650 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/ActionImportImpl.java
@@ -18,11 +18,15 @@
*/
package org.apache.olingo.client.core.edm.xml;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.olingo.client.api.edm.xml.ActionImport;
+import org.apache.olingo.client.api.edm.xml.Annotation;
import com.fasterxml.jackson.annotation.JsonProperty;
-public class ActionImportImpl extends AbstractAnnotatable implements ActionImport {
+public class ActionImportImpl extends AbstractEdmItem implements ActionImport {
private static final long serialVersionUID = 2971468441177647068L;
@@ -35,6 +39,13 @@ public class ActionImportImpl extends AbstractAnnotatable implements ActionImpor
@JsonProperty(value = "EntitySet")
private String entitySet;
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
@Override
public String getName() {
return name;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d088866e/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java
index aaf510e..1489f2e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/xml/AnnotationImpl.java
@@ -18,13 +18,16 @@
*/
package org.apache.olingo.client.core.edm.xml;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.olingo.client.api.edm.xml.Annotation;
import org.apache.olingo.client.api.edm.xml.annotation.AnnotationExpression;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = AnnotationDeserializer.class)
-public class AnnotationImpl extends AbstractAnnotatable implements Annotation {
+public class AnnotationImpl extends AbstractEdmItem implements Annotation {
private static final long serialVersionUID = 5464714417411058033L;
@@ -34,6 +37,13 @@ public class AnnotationImpl extends AbstractAnnotatable implements Annotation {
private AnnotationExpression annotationExpression;
+ private final List<Annotation> annotations = new ArrayList<Annotation>();
+
+ @Override
+ public List<Annotation> getAnnotations() {
+ return annotations;
+ }
+
@Override
public String getTerm() {
return term;