You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2014/01/10 11:01:09 UTC
git commit: [OLINGO-62] Tests and documentation
Updated Branches:
refs/heads/master cf4df9be8 -> 954ac46aa
[OLINGO-62] Tests and documentation
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/954ac46a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/954ac46a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/954ac46a
Branch: refs/heads/master
Commit: 954ac46aa81fe67c648a617ab3275cf12bc0b313
Parents: cf4df9b
Author: Christian Amend <ch...@apache.org>
Authored: Fri Jan 10 10:59:57 2014 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Fri Jan 10 11:00:41 2014 +0100
----------------------------------------------------------------------
.../api/edm/constants/EdmConcurrencyMode.java | 29 -----
.../api/edm/constants/ODataServiceVersion.java | 94 ++++++++++++++++
.../odata4/commons/api/edm/provider/Action.java | 1 -
.../commons/api/edm/provider/ActionImport.java | 1 -
.../commons/api/edm/provider/Annotation.java | 1 -
.../commons/api/edm/provider/EdmProvider.java | 58 +++++++---
.../api/edm/provider/EdmProviderAdapter.java | 106 -------------------
.../api/edm/provider/EntityContainer.java | 1 -
.../commons/api/edm/provider/EntitySet.java | 1 -
.../commons/api/edm/provider/EntitySetPath.java | 3 +-
.../commons/api/edm/provider/EntityType.java | 3 +-
.../commons/api/edm/provider/EnumMember.java | 1 -
.../commons/api/edm/provider/EnumType.java | 1 -
.../commons/api/edm/provider/Function.java | 1 -
.../api/edm/provider/FunctionImport.java | 1 -
.../api/edm/provider/NavigationProperty.java | 2 -
.../edm/provider/NavigationPropertyBinding.java | 1 -
.../commons/api/edm/provider/Operation.java | 1 -
.../api/edm/provider/OperationImport.java | 1 -
.../commons/api/edm/provider/Parameter.java | 1 -
.../commons/api/edm/provider/Property.java | 3 +-
.../api/edm/provider/ReferentialConstraint.java | 1 -
.../commons/api/edm/provider/ReturnType.java | 1 -
.../odata4/commons/api/edm/provider/Schema.java | 1 -
.../commons/api/edm/provider/Singleton.java | 1 -
.../api/edm/provider/StructuralType.java | 1 -
.../odata4/commons/api/edm/provider/Target.java | 1 -
.../odata4/commons/api/edm/provider/Term.java | 3 +-
.../api/edm/provider/TypeDefinition.java | 3 +-
.../core/edm/provider/EdmEntityTypeImpl.java | 9 +-
.../core/edm/provider/EdmFunctionImpl.java | 11 ++
.../core/edm/provider/EdmOperationImpl.java | 27 ++++-
.../core/edm/provider/EdmPropertyImpl.java | 4 +-
.../edm/provider/EdmServiceMetadataImpl.java | 4 +-
.../commons/core/edm/EdmImplCachingTest.java | 2 -
.../producer/core/testutil/EdmTechProvider.java | 4 +-
36 files changed, 189 insertions(+), 195 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/EdmConcurrencyMode.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/EdmConcurrencyMode.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/EdmConcurrencyMode.java
deleted file mode 100644
index 1e93686..0000000
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/EdmConcurrencyMode.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata4.commons.api.edm.constants;
-
-/**
- * EdmConcurrencyMode can be applied to any primitive Entity Data Model (EDM) type.
- * <p>Possible values are "None", which is the default, and "Fixed".
- * Fixed implies that the property should be used for optimistic concurrency checks.
- */
-public enum EdmConcurrencyMode {
-
- None, Fixed;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/ODataServiceVersion.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/ODataServiceVersion.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/ODataServiceVersion.java
new file mode 100644
index 0000000..4b73eef
--- /dev/null
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/constants/ODataServiceVersion.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ******************************************************************************/
+package org.apache.olingo.odata4.commons.api.edm.constants;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This class is a container for the supported ODataServiceVersions.
+ *
+ *
+ */
+public class ODataServiceVersion {
+
+ private static final Pattern DATASERVICEVERSIONPATTERN = Pattern.compile("(\\p{Digit}+\\.\\p{Digit}+)(:?;.*)?");
+
+ /**
+ * ODataServiceVersion 1.0
+ */
+ public static final String V10 = "1.0";
+ /**
+ * ODataServiceVersion 2.0
+ */
+ public static final String V20 = "2.0";
+ /**
+ * ODataServiceVersion 3.0
+ */
+ public static final String V30 = "3.0";
+ /**
+ * ODataServiceVersion 4.0
+ */
+ public static final String V40 = "4.0";
+
+ /**
+ * Validates format and range of a data service version string.
+ * @param version version string
+ * @return <code>true</code> for a valid version
+ */
+ public static boolean validateDataServiceVersion(final String version) {
+ final Matcher matcher = DATASERVICEVERSIONPATTERN.matcher(version);
+ if (matcher.matches()) {
+ final String possibleDataServiceVersion = matcher.group(1);
+ return V10.equals(possibleDataServiceVersion)
+ || V20.equals(possibleDataServiceVersion)
+ || V30.equals(possibleDataServiceVersion)
+ || V40.equals(possibleDataServiceVersion);
+ } else {
+ throw new IllegalArgumentException(version);
+ }
+ }
+
+ /**
+ * actual > comparedTo
+ * @param actual
+ * @param comparedTo
+ * @return <code>true</code> if actual is bigger than comparedTo
+ */
+ public static boolean isBiggerThan(final String actual, final String comparedTo) {
+ if (!validateDataServiceVersion(comparedTo) || !validateDataServiceVersion(actual)) {
+ throw new IllegalArgumentException("Illegal arguments: " + comparedTo + " and " + actual);
+ }
+
+ final double me = Double.parseDouble(extractDataServiceVersionString(actual));
+ final double other = Double.parseDouble(extractDataServiceVersionString(comparedTo));
+
+ return me > other;
+ }
+
+ private static String extractDataServiceVersionString(final String rawDataServiceVersion) {
+ if (rawDataServiceVersion != null) {
+ final String[] pattern = rawDataServiceVersion.split(";");
+ return pattern[0];
+ }
+
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Action.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Action.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Action.java
index 8ab99ae..b074d24 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Action.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Action.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import java.util.List;
-//TODO: Finish
public class Action extends Operation {
@Override
public Action setName(final String name) {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ActionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ActionImport.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ActionImport.java
index 20e2772..bcb4e49 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ActionImport.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ActionImport.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class ActionImport extends OperationImport {
private FullQualifiedName action;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Annotation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Annotation.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Annotation.java
index 3440a17..50eb7aa 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Annotation.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Annotation.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO:finish
public class Annotation {
private FullQualifiedName term;
// Target should be a target path
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProvider.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProvider.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProvider.java
index 1f0bca7..34d56ed 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProvider.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProvider.java
@@ -25,7 +25,7 @@ import org.apache.olingo.odata4.commons.api.edm.helper.EntityContainerInfo;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
import org.apache.olingo.odata4.commons.api.exception.ODataException;
-public interface EdmProvider {
+public abstract class EdmProvider {
/**
* This method should return an {@link EnumType} or <b>null</b> if nothing is found
@@ -33,7 +33,9 @@ public interface EdmProvider {
* @return {@link EnumType} for given name
* @throws ODataException
*/
- public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException;
+ public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
+ return null;
+ };
/**
* This method should return an {@link TypeDefinition} or <b>null</b> if nothing is found
@@ -41,7 +43,9 @@ public interface EdmProvider {
* @return {@link TypeDefinition} for given name
* @throws ODataException
*/
- public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException;
+ public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
+ return null;
+ };
/**
* This method should return an {@link EntityType} or <b>null</b> if nothing is found
@@ -49,7 +53,9 @@ public interface EdmProvider {
* @return {@link EntityType} for the given name
* @throws ODataException
*/
- public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException;
+ public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
+ return null;
+ };
/**
* This method should return a {@link ComplexType} or <b>null</b> if nothing is found
@@ -57,7 +63,9 @@ public interface EdmProvider {
* @return {@link StructuralType} for the given name
* @throws ODataException
*/
- public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException;
+ public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
+ return null;
+ };
/**
* This method should return a list of all {@link Action} for the FullQualifiedname or <b>null</b> if nothing is found
@@ -65,7 +73,9 @@ public interface EdmProvider {
* @return List of {@link Action} or null
* @throws ODataException
*/
- public List<Action> getActions(final FullQualifiedName actionName) throws ODataException;
+ public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
+ return null;
+ };
/**
* This method should return a list of all {@link Function} for the FullQualifiedname or <b>null</b> if nothing is
@@ -74,10 +84,14 @@ public interface EdmProvider {
* @return List of {@link Function} or null
* @throws ODataException
*/
- public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException;
+ public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
+ return null;
+ };
// TODO: document
- public Term getTerm(final FullQualifiedName termName) throws ODataException;
+ public Term getTerm(final FullQualifiedName termName) throws ODataException {
+ return null;
+ };
/**
* This method should return an {@link EntitySet} or <b>null</b> if nothing is found
@@ -87,7 +101,9 @@ public interface EdmProvider {
* @throws ODataException
*/
public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
- throws ODataException;
+ throws ODataException {
+ return null;
+ };
/**
* This method should return an {@link Singleton} or <b>null</b> if nothing is found
@@ -97,7 +113,9 @@ public interface EdmProvider {
* @throws ODataException
*/
public Singleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
- throws ODataException;
+ throws ODataException {
+ return null;
+ };
/**
* This method should return an {@link ActionImport} or <b>null</b> if nothing is found
@@ -107,7 +125,9 @@ public interface EdmProvider {
* @throws ODataException
*/
public ActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
- throws ODataException;
+ throws ODataException {
+ return null;
+ };
/**
* This method should return a {@link FunctionImport} or <b>null</b> if nothing is found
@@ -117,7 +137,9 @@ public interface EdmProvider {
* @throws ODataException
*/
public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
- throws ODataException;
+ throws ODataException {
+ return null;
+ };
/**
* This method should return an {@link EntityContainerInfo} or <b>null</b> if nothing is found
@@ -125,19 +147,25 @@ public interface EdmProvider {
* @return {@link EntityContainerInfo} for the given name
* @throws ODataException
*/
- public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException;
+ public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
+ return null;
+ };
/**
* This method should return a list of all namespaces which have an alias
* @return List of alias info
* @throws ODataException
*/
- public List<AliasInfo> getAliasInfos() throws ODataException;
+ public List<AliasInfo> getAliasInfos() throws ODataException {
+ return null;
+ };
/**
* This method should return a collection of all {@link Schema}
* @return List<{@link Schema}>
* @throws ODataException
*/
- public List<Schema> getSchemas() throws ODataException;
+ public List<Schema> getSchemas() throws ODataException {
+ return null;
+ };
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProviderAdapter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProviderAdapter.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProviderAdapter.java
deleted file mode 100644
index 8633ee2..0000000
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EdmProviderAdapter.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata4.commons.api.edm.provider;
-
-import java.util.List;
-
-import org.apache.olingo.odata4.commons.api.edm.helper.AliasInfo;
-import org.apache.olingo.odata4.commons.api.edm.helper.EntityContainerInfo;
-import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-import org.apache.olingo.odata4.commons.api.exception.ODataException;
-
-//TODO: Finish
-/**
- * Default EDM Provider which is to be extended by the application
- */
-public abstract class EdmProviderAdapter implements EdmProvider {
-
- @Override
- public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
- return null;
- }
-
- @Override
- public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
- return null;
- }
-
- @Override
- public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
- return null;
- }
-
- @Override
- public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
- return null;
- }
-
- @Override
- public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
- return null;
- }
-
- @Override
- public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
- return null;
- }
-
- @Override
- public Term getTerm(final FullQualifiedName termName) throws ODataException {
- return null;
- }
-
- @Override
- public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String name) throws ODataException {
- return null;
- }
-
- @Override
- public Singleton getSingleton(final FullQualifiedName entityContainer, final String name) throws ODataException {
- return null;
- }
-
- @Override
- public ActionImport getActionImport(final FullQualifiedName entityContainer, final String name) throws ODataException
- {
- return null;
- }
-
- @Override
- public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String name)
- throws ODataException {
- return null;
- }
-
- // There are no other containers
- @Override
- public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
- return null;
- }
-
- @Override
- public List<AliasInfo> getAliasInfos() throws ODataException {
- return null;
- }
-
- @Override
- public List<Schema> getSchemas() throws ODataException {
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityContainer.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityContainer.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityContainer.java
index 4d43c94..1b24e10 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityContainer.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityContainer.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: finish
public class EntityContainer {
private String name;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySet.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySet.java
index 435ed8a..848d564 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySet.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySet.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class EntitySet extends BindingTarget {
private boolean includeInServiceDocument;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySetPath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySetPath.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySetPath.java
index eaaae9b..e2d48f0 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySetPath.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntitySetPath.java
@@ -18,8 +18,7 @@
******************************************************************************/
package org.apache.olingo.odata4.commons.api.edm.provider;
-//TODO: finish
-//DO we really need this class?
+//TODO: Do we really need this class?
public class EntitySetPath {
private String bindingParameter;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityType.java
index c5ff3d9..c04372d 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityType.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EntityType.java
@@ -22,9 +22,8 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class EntityType extends StructuralType {
- // Anything except which have to be new?
+
private List<PropertyRef> key;
private boolean hasStream;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumMember.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumMember.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumMember.java
index 6450793..a256844 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumMember.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumMember.java
@@ -18,7 +18,6 @@
******************************************************************************/
package org.apache.olingo.odata4.commons.api.edm.provider;
-//TODO: Finish
public class EnumMember {
private String name;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumType.java
index 38e5bd3..0411101 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumType.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/EnumType.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class EnumType {
private String name;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Function.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Function.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Function.java
index d2539d9..4894524 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Function.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Function.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import java.util.List;
-//TODO: Finish
public class Function extends Operation {
private boolean isComposable;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/FunctionImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/FunctionImport.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/FunctionImport.java
index 098e678..cec3ccd 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/FunctionImport.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/FunctionImport.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class FunctionImport extends OperationImport {
private FullQualifiedName function;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationProperty.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationProperty.java
index 22b26ad..e16ae3b 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationProperty.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationProperty.java
@@ -23,14 +23,12 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.constants.EdmOnDelete;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: finish
public class NavigationProperty {
private String name;
private FullQualifiedName type;
private boolean isCollection;
- // Should we make the partner a path class?
private String partner;
private boolean containsTarget;
private List<ReferentialConstraint> referentialConstraints;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationPropertyBinding.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationPropertyBinding.java
index 15517f9..a495007 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationPropertyBinding.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/NavigationPropertyBinding.java
@@ -18,7 +18,6 @@
******************************************************************************/
package org.apache.olingo.odata4.commons.api.edm.provider;
-//TODO: finish
public class NavigationPropertyBinding {
private String path;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Operation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Operation.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Operation.java
index db0f120..18c64fb 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Operation.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Operation.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import java.util.List;
-//TODO: finish
public abstract class Operation {
protected String name;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/OperationImport.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/OperationImport.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/OperationImport.java
index 02433ec..47827e3 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/OperationImport.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/OperationImport.java
@@ -18,7 +18,6 @@
******************************************************************************/
package org.apache.olingo.odata4.commons.api.edm.provider;
-//TODO: finish
public abstract class OperationImport {
protected String name;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Parameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Parameter.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Parameter.java
index 8d7a6c0..6b34d7f 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Parameter.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Parameter.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: finish
public class Parameter {
private String name;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Property.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Property.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Property.java
index 3936e4c..f5d91ab 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Property.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Property.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class Property {
private String name;
@@ -28,7 +27,7 @@ public class Property {
private FullQualifiedName type;
private boolean collection;
- // Mimetype and mapping what here
+ //TODO: Mimetype and mapping what here
private String mimeType;
private Mapping mapping;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReferentialConstraint.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReferentialConstraint.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReferentialConstraint.java
index c9828b8..600b104 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReferentialConstraint.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReferentialConstraint.java
@@ -18,7 +18,6 @@
******************************************************************************/
package org.apache.olingo.odata4.commons.api.edm.provider;
-//TODO: finish
public class ReferentialConstraint {
// TODO: check data type
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReturnType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReturnType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReturnType.java
index 00130f5..a81e08d 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReturnType.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/ReturnType.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODDO: finish
public class ReturnType {
private FullQualifiedName type;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Schema.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Schema.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Schema.java
index 087512d..981db62 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Schema.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Schema.java
@@ -20,7 +20,6 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import java.util.List;
-//TODO: Finish
public class Schema {
private String namespace;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Singleton.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Singleton.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Singleton.java
index ab5a06f..d17b801 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Singleton.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Singleton.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class Singleton extends BindingTarget {
@Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/StructuralType.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/StructuralType.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/StructuralType.java
index ec7a52a..100006b 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/StructuralType.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/StructuralType.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public abstract class StructuralType {
protected String name;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Target.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Target.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Target.java
index 9cdce1a..aa45f03 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Target.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Target.java
@@ -22,7 +22,6 @@ import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
public class Target {
- // What is the name here?
private String targetName;
private FullQualifiedName entityContainer;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Term.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Term.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Term.java
index 991a633..aeb638c 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Term.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/Term.java
@@ -22,12 +22,11 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class Term {
private String name;
private FullQualifiedName type;
private FullQualifiedName baseTerm;
- // AppliesTo is a list of csdl elements => should we put this list inside an enum?
+ //TODO: AppliesTo is a list of csdl elements => should we put this list inside an enum?
private String appliesTo;
private boolean isCollection;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/TypeDefinition.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/TypeDefinition.java b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/TypeDefinition.java
index 7eb978a..e1fe012 100644
--- a/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/TypeDefinition.java
+++ b/odata4-lib/odata4-commons-api/src/main/java/org/apache/olingo/odata4/commons/api/edm/provider/TypeDefinition.java
@@ -20,11 +20,10 @@ package org.apache.olingo.odata4.commons.api.edm.provider;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
-//TODO: Finish
public class TypeDefinition {
private String name;
- // UnderlyingType can only be primitve...
+ // TODO: UnderlyingType can only be primitve...
private FullQualifiedName underlyingType;
// Facets
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmEntityTypeImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmEntityTypeImpl.java
index 24248b7..9c28775 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmEntityTypeImpl.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmEntityTypeImpl.java
@@ -37,6 +37,7 @@ public class EdmEntityTypeImpl extends EdmStructuralTypeImpl implements EdmEntit
private final List<String> keyPredicateNames = new ArrayList<String>();
private final HashMap<String, EdmKeyPropertyRef> keyPropertyRefs = new HashMap<String, EdmKeyPropertyRef>();
private final EdmEntityType entityBaseType;
+ private ArrayList<EdmKeyPropertyRef> keyPropertyRefsList;
public EdmEntityTypeImpl(final EdmProviderImpl edm, final FullQualifiedName name, final EntityType entityType) {
super(edm, name, entityType, EdmTypeKind.ENTITY);
@@ -86,8 +87,10 @@ public class EdmEntityTypeImpl extends EdmStructuralTypeImpl implements EdmEntit
if (baseType != null) {
return entityBaseType.getKeyPropertyRefs();
} else {
- // TODO: Cache
- return new ArrayList<EdmKeyPropertyRef>(keyPropertyRefs.values());
+ if(keyPropertyRefsList == null){
+ keyPropertyRefsList = new ArrayList<EdmKeyPropertyRef>(keyPropertyRefs.values());
+ }
+ return keyPropertyRefsList;
}
}
@@ -106,7 +109,7 @@ public class EdmEntityTypeImpl extends EdmStructuralTypeImpl implements EdmEntit
if (baseTypeName != null) {
baseType = edm.getEntityType(baseTypeName);
if (baseType == null) {
- throw new EdmException("Cant find base type with name: " + baseTypeName + " for entity type: " + getName());
+ throw new EdmException("Cannot find base type with name: " + baseTypeName + " for entity type: " + getName());
}
}
return baseType;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmFunctionImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmFunctionImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmFunctionImpl.java
index 6f610b7..df4dbfe 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmFunctionImpl.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmFunctionImpl.java
@@ -18,7 +18,9 @@
******************************************************************************/
package org.apache.olingo.odata4.commons.core.edm.provider;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
+import org.apache.olingo.odata4.commons.api.edm.EdmReturnType;
import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
import org.apache.olingo.odata4.commons.api.edm.provider.Function;
@@ -37,4 +39,13 @@ public class EdmFunctionImpl extends EdmOperationImpl implements EdmFunction {
return function.isComposable();
}
+ @Override
+ public EdmReturnType getReturnType() {
+ EdmReturnType returnType = super.getReturnType();
+ if (returnType == null) {
+ throw new EdmException("ReturnType for a function must not be null");
+ }
+ return returnType;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmOperationImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmOperationImpl.java
index d1b49ed..2c8cc26 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmOperationImpl.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmOperationImpl.java
@@ -23,12 +23,15 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.olingo.odata4.commons.api.edm.EdmBindingTarget;
import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
+import org.apache.olingo.odata4.commons.api.edm.EdmException;
import org.apache.olingo.odata4.commons.api.edm.EdmOperation;
import org.apache.olingo.odata4.commons.api.edm.EdmParameter;
import org.apache.olingo.odata4.commons.api.edm.EdmReturnType;
import org.apache.olingo.odata4.commons.api.edm.constants.EdmTypeKind;
import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
+import org.apache.olingo.odata4.commons.api.edm.provider.EntitySetPath;
import org.apache.olingo.odata4.commons.api.edm.provider.Operation;
import org.apache.olingo.odata4.commons.api.edm.provider.Parameter;
@@ -72,13 +75,31 @@ public class EdmOperationImpl extends EdmTypeImpl implements EdmOperation {
@Override
public EdmEntitySet getReturnedEntitySet(final EdmEntitySet bindingParameterEntitySet, final String path) {
- // TODO: What here?
- return null;
+ EntitySetPath entitySetPath = operation.getEntitySetPath();
+ EdmEntitySet returnedEntitySet = null;
+ if (bindingParameterEntitySet != null && entitySetPath != null && entitySetPath.getBindingParameter() != null
+ && entitySetPath.getPath() != null) {
+ String finalPath = "";
+ if (path != null) {
+ finalPath = path + "/" + entitySetPath.getPath();
+ } else {
+ finalPath = entitySetPath.getPath();
+ }
+
+ EdmBindingTarget relatedBindingTarget = bindingParameterEntitySet.getRelatedBindingTarget(finalPath);
+ if (relatedBindingTarget instanceof EdmEntitySet) {
+ returnedEntitySet = (EdmEntitySet) relatedBindingTarget;
+ } else {
+ throw new EdmException("BindingTarget with name: " + relatedBindingTarget.getName() + " must be an entity set");
+ }
+ }
+
+ return returnedEntitySet;
}
@Override
public EdmReturnType getReturnType() {
- if (returnType == null) {
+ if (returnType == null && operation.getReturnType() != null) {
returnType = new EdmReturnTypeImpl(edm, operation.getReturnType());
}
return returnType;
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmPropertyImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmPropertyImpl.java
index 5a0281f..8baabf4 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmPropertyImpl.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmPropertyImpl.java
@@ -52,7 +52,7 @@ public class EdmPropertyImpl extends EdmElementImpl implements EdmProperty {
if (kind != null) {
propertyType = kind.getEdmPrimitiveTypeInstance();
} else {
- throw new EdmException("Can�t find type with name: " + typeName);
+ throw new EdmException("Cannot find type with name: " + typeName);
}
} else {
propertyType = edm.getComplexType(typeName);
@@ -61,7 +61,7 @@ public class EdmPropertyImpl extends EdmElementImpl implements EdmProperty {
if (propertyType == null) {
propertyType = edm.getTypeDefinition(typeName);
if (propertyType == null) {
- throw new EdmException("Can�t find type with name: " + typeName);
+ throw new EdmException("Cannot find type with name: " + typeName);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmServiceMetadataImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmServiceMetadataImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmServiceMetadataImpl.java
index 13934cf..454d824 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmServiceMetadataImpl.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmServiceMetadataImpl.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.EdmServiceMetadata;
+import org.apache.olingo.odata4.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.odata4.commons.api.edm.helper.EdmEntitySetInfo;
import org.apache.olingo.odata4.commons.api.edm.helper.EdmFunctionImportInfo;
import org.apache.olingo.odata4.commons.api.edm.helper.EdmSingletonInfo;
@@ -38,8 +39,7 @@ public class EdmServiceMetadataImpl implements EdmServiceMetadata {
@Override
public String getDataServiceVersion() {
- // TODO: make constant
- return "4.0";
+ return ODataServiceVersion.V40;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/EdmImplCachingTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/EdmImplCachingTest.java b/odata4-lib/odata4-commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/EdmImplCachingTest.java
index 0d1fd88..05bb007 100644
--- a/odata4-lib/odata4-commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/EdmImplCachingTest.java
+++ b/odata4-lib/odata4-commons-core/src/test/java/org/apache/olingo/odata4/commons/core/edm/EdmImplCachingTest.java
@@ -50,8 +50,6 @@ public class EdmImplCachingTest {
private final FullQualifiedName NAME2 = new FullQualifiedName("testNamespace2", "testName2");
private Edm edm;
- // TODO: Test with alias
-
@Test
public void cacheEntityContainer() {
EdmEntityContainer entityContainer = edm.getEntityContainer(null);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/954ac46a/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/testutil/EdmTechProvider.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/testutil/EdmTechProvider.java b/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/testutil/EdmTechProvider.java
index 479c87d..6631078 100644
--- a/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/testutil/EdmTechProvider.java
+++ b/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/testutil/EdmTechProvider.java
@@ -26,7 +26,7 @@ import org.apache.olingo.odata4.commons.api.edm.helper.FullQualifiedName;
import org.apache.olingo.odata4.commons.api.edm.provider.Action;
import org.apache.olingo.odata4.commons.api.edm.provider.ActionImport;
import org.apache.olingo.odata4.commons.api.edm.provider.ComplexType;
-import org.apache.olingo.odata4.commons.api.edm.provider.EdmProviderAdapter;
+import org.apache.olingo.odata4.commons.api.edm.provider.EdmProvider;
import org.apache.olingo.odata4.commons.api.edm.provider.EntitySet;
import org.apache.olingo.odata4.commons.api.edm.provider.EntityType;
import org.apache.olingo.odata4.commons.api.edm.provider.EnumMember;
@@ -43,7 +43,7 @@ import org.apache.olingo.odata4.commons.api.edm.provider.Singleton;
import org.apache.olingo.odata4.commons.api.exception.ODataException;
import org.apache.olingo.odata4.commons.core.edm.primitivetype.EdmPrimitiveTypeKind;
-public class EdmTechProvider extends EdmProviderAdapter {
+public class EdmTechProvider extends EdmProvider {
public static final String nameSpace = "com.sap.odata.test1";