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/03/25 17:20:10 UTC
olingo-odata4 git commit: [OLINGO-575] Edm cleanup part 1
Repository: olingo-odata4
Updated Branches:
refs/heads/master 3a6293b6a -> 4d059b94d
[OLINGO-575] Edm cleanup part 1
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/4d059b94
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/4d059b94
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/4d059b94
Branch: refs/heads/master
Commit: 4d059b94d6fab23bf6a8a1b1df9839ee9d88cbb6
Parents: 3a6293b
Author: Christian Amend <ch...@apache.org>
Authored: Wed Mar 25 17:19:42 2015 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Wed Mar 25 17:19:42 2015 +0100
----------------------------------------------------------------------
.../api/edm/provider/FunctionImport.java | 1 +
.../api/edm/provider/OperationImport.java | 2 -
.../core/edm/provider/EdmAnnotationHelper.java | 24 -----------
.../edm/provider/EdmAnnotationHelperImpl.java | 3 +-
.../core/edm/provider/EdmAnnotationImpl.java | 6 +--
.../core/edm/provider/EdmBindingTargetImpl.java | 2 +-
.../core/edm/provider/EdmComplexTypeImpl.java | 5 +--
.../edm/provider/EdmEntityContainerImpl.java | 2 +-
.../core/edm/provider/EdmEntityTypeImpl.java | 4 +-
.../core/edm/provider/EdmEnumTypeImpl.java | 44 ++++++++++----------
.../core/edm/provider/EdmMemberImpl.java | 2 +-
.../edm/provider/EdmNavigationPropertyImpl.java | 2 +-
.../core/edm/provider/EdmOperationImpl.java | 2 +-
.../edm/provider/EdmOperationImportImpl.java | 2 +-
.../core/edm/provider/EdmParameterImpl.java | 2 +-
.../core/edm/provider/EdmPropertyImpl.java | 2 +-
.../provider/EdmReferentialConstraintImpl.java | 3 +-
.../edm/provider/EdmStructuredTypeHelper.java | 35 ----------------
.../provider/EdmStructuredTypeHelperImpl.java | 6 +--
.../commons/core/edm/provider/EdmTermImpl.java | 9 +---
.../edm/provider/EdmTypeDefinitionImpl.java | 27 ++++++------
.../commons/core/edm/provider/EdmTypeImpl.java | 1 -
.../tecsvc/provider/ContainerProvider.java | 1 +
23 files changed, 57 insertions(+), 130 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/FunctionImport.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/FunctionImport.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/FunctionImport.java
index 71223ae..84d6789 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/FunctionImport.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/FunctionImport.java
@@ -27,6 +27,7 @@ public class FunctionImport extends OperationImport {
private FullQualifiedName function;
+ //Default include in service document is false for function imports
private boolean includeInServiceDocument;
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/OperationImport.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/OperationImport.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/OperationImport.java
index 8aa29db..7de9623 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/OperationImport.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/provider/OperationImport.java
@@ -26,9 +26,7 @@ public abstract class OperationImport extends AbstractEdmItem implements Named,
private static final long serialVersionUID = -8928186067970681061L;
protected String name;
-
protected String entitySet;
-
protected final List<Annotation> annotations = new ArrayList<Annotation>();
public String getName() {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelper.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelper.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelper.java
deleted file mode 100644
index bbbf136..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelper.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.commons.core.edm.provider;
-
-import org.apache.olingo.commons.api.edm.EdmAnnotatable;
-
-public interface EdmAnnotationHelper extends EdmAnnotatable {
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelperImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelperImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelperImpl.java
index 106584a..e4b9d9b 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelperImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationHelperImpl.java
@@ -22,12 +22,13 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.EdmAnnotatable;
import org.apache.olingo.commons.api.edm.EdmAnnotation;
import org.apache.olingo.commons.api.edm.EdmTerm;
import org.apache.olingo.commons.api.edm.provider.Annotatable;
import org.apache.olingo.commons.api.edm.provider.Annotation;
-public class EdmAnnotationHelperImpl implements EdmAnnotationHelper {
+public class EdmAnnotationHelperImpl implements EdmAnnotatable {
private final Edm edm;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationImpl.java
index cd32570..60eb0b4 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmAnnotationImpl.java
@@ -63,13 +63,9 @@ import org.apache.olingo.commons.core.edm.annotation.EdmUrlRefImpl;
public class EdmAnnotationImpl implements EdmAnnotation {
private final Edm edm;
-
private final Annotation annotation;
-
- private final EdmAnnotationHelper helper;
-
+ private final EdmAnnotationHelperImpl helper;
private EdmTerm term;
-
private EdmAnnotationExpression expression;
public EdmAnnotationImpl(final Edm edm, final Annotation annotation) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmBindingTargetImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmBindingTargetImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmBindingTargetImpl.java
index e4a1ba7..b4b035f 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmBindingTargetImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmBindingTargetImpl.java
@@ -38,7 +38,7 @@ import org.apache.olingo.commons.api.edm.provider.NavigationPropertyBinding;
public abstract class EdmBindingTargetImpl extends EdmNamedImpl implements EdmBindingTarget {
private final BindingTarget target;
- private final EdmAnnotationHelper helper;
+ private final EdmAnnotationHelperImpl helper;
private final EdmEntityContainer container;
private List<EdmNavigationPropertyBinding> navigationPropertyBindings;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmComplexTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmComplexTypeImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmComplexTypeImpl.java
index 432a09f..7fdc0b8 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmComplexTypeImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmComplexTypeImpl.java
@@ -35,13 +35,12 @@ import org.apache.olingo.commons.api.edm.provider.ComplexType;
public class EdmComplexTypeImpl extends EdmStructuredTypeImpl implements EdmComplexType {
- private final EdmStructuredTypeHelper helper;
+ private final EdmStructuredTypeHelperImpl helper;
- private EdmAnnotationHelper annotationHelper;
+ private EdmAnnotationHelperImpl annotationHelper;
public static EdmComplexTypeImpl getInstance(
final Edm edm, final FullQualifiedName name, final ComplexType complexType) {
-
return new EdmComplexTypeImpl(edm, name, complexType);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityContainerImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityContainerImpl.java
index 94b7d4d..5d3eef3 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityContainerImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityContainerImpl.java
@@ -47,7 +47,7 @@ public class EdmEntityContainerImpl extends EdmNamedImpl implements EdmEntityCon
private final EdmProvider provider;
private EntityContainer container;
- private EdmAnnotationHelper helper;
+ private EdmAnnotationHelperImpl helper;
protected final FullQualifiedName entityContainerName;
private final FullQualifiedName parentContainerName;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityTypeImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityTypeImpl.java
index 0ee22e7..b561151 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityTypeImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEntityTypeImpl.java
@@ -39,10 +39,10 @@ import org.apache.olingo.commons.api.edm.provider.PropertyRef;
public class EdmEntityTypeImpl extends EdmStructuredTypeImpl implements EdmEntityType {
- private final EdmStructuredTypeHelper helper;
+ private final EdmStructuredTypeHelperImpl helper;
private EntityType entityType;
private boolean baseTypeChecked = false;
- private EdmAnnotationHelper annotationHelper;
+ private EdmAnnotationHelperImpl annotationHelper;
private final boolean hasStream;
protected EdmEntityType entityBaseType;
private final List<String> keyPredicateNames = new ArrayList<String>();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java
index 1fdf73b..df09c3c 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java
@@ -19,10 +19,10 @@
package org.apache.olingo.commons.core.edm.provider;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import org.apache.olingo.commons.api.edm.Edm;
@@ -55,8 +55,7 @@ public class EdmEnumTypeImpl extends EdmTypeImpl implements EdmEnumType {
private final String uriPrefix;
private final String uriSuffix;
private List<String> memberNames;
- private List<EdmMember> members;
- private Map<String, EdmMember> membersMap;
+ private LinkedHashMap<String, EdmMember> membersMap;
public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName enumName, final EnumType enumType) {
super(edm, enumName, EdmTypeKind.ENUM);
@@ -81,14 +80,11 @@ public class EdmEnumTypeImpl extends EdmTypeImpl implements EdmEnumType {
public EdmPrimitiveType getUnderlyingType() {
return underlyingType;
}
-
+
@Override
public EdmMember getMember(final String name) {
if (membersMap == null) {
- membersMap = new LinkedHashMap<String, EdmMember>();
- for (final EdmMember member : getMembers()) {
- membersMap.put(member.getName(), member);
- }
+ createEdmMembers();
}
return membersMap.get(name);
}
@@ -96,12 +92,20 @@ public class EdmEnumTypeImpl extends EdmTypeImpl implements EdmEnumType {
@Override
public List<String> getMemberNames() {
if (memberNames == null) {
- memberNames = new ArrayList<String>();
- for (final EdmMember member : getMembers()) {
+ createEdmMembers();
+ }
+ return memberNames;
+ }
+
+ private void createEdmMembers() {
+ membersMap = new LinkedHashMap<String, EdmMember>();
+ memberNames = new ArrayList<String>();
+ if (enumType.getMembers() != null) {
+ for (final EnumMember member : enumType.getMembers()) {
+ membersMap.put(member.getName(), new EdmMemberImpl(edm, getFullQualifiedName(), member));
memberNames.add(member.getName());
}
}
- return memberNames;
}
@Override
@@ -186,6 +190,13 @@ public class EdmEnumTypeImpl extends EdmTypeImpl implements EdmEnumType {
return result.toString();
}
+ private Collection<EdmMember> getMembers() {
+ if(membersMap == null){
+ createEdmMembers();
+ }
+ return membersMap.values();
+ }
+
@Override
public String valueToString(final Object value, final Boolean isNullable, final Integer maxLength,
final Integer precision, final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException {
@@ -242,15 +253,4 @@ public class EdmEnumTypeImpl extends EdmTypeImpl implements EdmEnumType {
public FullQualifiedName getAnnotationsTargetFQN() {
return getFullQualifiedName();
}
-
- protected List<EdmMember> getMembers() {
- if (members == null) {
- members = new ArrayList<EdmMember>(enumType.getMembers().size());
- for (EnumMember member : enumType.getMembers()) {
- members.add(new EdmMemberImpl(edm, getFullQualifiedName(), member));
- }
- }
- return members;
- }
-
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java
index 0bdf441..a7d1366 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java
@@ -29,7 +29,7 @@ import org.apache.olingo.commons.api.edm.provider.EnumMember;
public class EdmMemberImpl extends EdmNamedImpl implements EdmMember {
- private final EdmAnnotationHelper helper;
+ private final EdmAnnotationHelperImpl helper;
private final FullQualifiedName enumFQN;
private final EnumMember member;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java
index a8bb8d9..e72a98e 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java
@@ -37,8 +37,8 @@ public class EdmNavigationPropertyImpl extends EdmElementImpl implements EdmNavi
private final FullQualifiedName structuredTypeName;
private final NavigationProperty navigationProperty;
+ private final EdmAnnotationHelperImpl helper;
private List<EdmReferentialConstraint> referentialConstraints;
- private final EdmAnnotationHelper helper;
private EdmEntityType typeImpl;
private EdmNavigationProperty partnerNavigationProperty;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImpl.java
index f8d69bf..217c732 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImpl.java
@@ -40,7 +40,7 @@ import org.apache.olingo.commons.api.edm.provider.Parameter;
public abstract class EdmOperationImpl extends EdmTypeImpl implements EdmOperation {
protected final Operation operation;
- protected final EdmAnnotationHelper helper;
+ protected final EdmAnnotationHelperImpl helper;
private final Map<String, EdmParameter> parameters = new LinkedHashMap<String, EdmParameter>();
private String entitySetPath;
private boolean isBound;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImportImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImportImpl.java
index ee5891d..3ace167 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImportImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmOperationImportImpl.java
@@ -36,7 +36,7 @@ public abstract class EdmOperationImportImpl extends EdmNamedImpl implements Edm
protected final EdmEntityContainer container;
private final Target entitySet;
private EdmEntitySet returnedEntitySet;
- private final EdmAnnotationHelper helper;
+ private final EdmAnnotationHelperImpl helper;
public EdmOperationImportImpl(final Edm edm, final EdmEntityContainer container,
final OperationImport operationImport) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java
index f5a25fa..157a779 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java
@@ -33,7 +33,7 @@ import org.apache.olingo.commons.api.edm.provider.Parameter;
public class EdmParameterImpl extends EdmElementImpl implements EdmParameter {
private final Parameter parameter;
- private final EdmAnnotationHelper helper;
+ private final EdmAnnotationHelperImpl helper;
private final EdmTypeInfo typeInfo;
private EdmType typeImpl;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java
index 61b6a22..973640e 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java
@@ -36,7 +36,7 @@ public class EdmPropertyImpl extends EdmElementImpl implements EdmProperty {
private final FullQualifiedName structuredTypeName;
private final Property property;
private final EdmTypeInfo typeInfo;
- private EdmAnnotationHelper helper;
+ private EdmAnnotationHelperImpl helper;
private EdmType propertyType;
public EdmPropertyImpl(final Edm edm, final FullQualifiedName structuredTypeName, final Property property) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java
index e8dbc23..4a8d7d8 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java
@@ -28,10 +28,9 @@ import org.apache.olingo.commons.api.edm.provider.ReferentialConstraint;
public class EdmReferentialConstraintImpl implements EdmReferentialConstraint {
- private final EdmAnnotationHelper helper;
+ private final EdmAnnotationHelperImpl helper;
private final ReferentialConstraint constraint;
-
public EdmReferentialConstraintImpl(final Edm edm, final ReferentialConstraint constraint) {
this.constraint = constraint;
this.helper = new EdmAnnotationHelperImpl(edm, constraint);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelper.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelper.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelper.java
deleted file mode 100644
index e00a28b..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelper.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.commons.core.edm.provider;
-
-import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
-import org.apache.olingo.commons.api.edm.EdmProperty;
-
-import java.util.Map;
-
-public interface EdmStructuredTypeHelper {
-
- Map<String, EdmProperty> getProperties();
-
- Map<String, EdmNavigationProperty> getNavigationProperties();
-
- boolean isOpenType();
-
- boolean isAbstract();
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelperImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelperImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelperImpl.java
index f72eef1..9a78bcd 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelperImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmStructuredTypeHelperImpl.java
@@ -29,7 +29,7 @@ import org.apache.olingo.commons.api.edm.provider.StructuralType;
import java.util.LinkedHashMap;
import java.util.Map;
-public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
+public class EdmStructuredTypeHelperImpl {
private final Edm edm;
private final FullQualifiedName structuredTypeName;
@@ -44,7 +44,6 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
this.structuredType = structuredType;
}
- @Override
public Map<String, EdmProperty> getProperties() {
if (properties == null) {
properties = new LinkedHashMap<String, EdmProperty>();
@@ -57,7 +56,6 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
return properties;
}
- @Override
public Map<String, EdmNavigationProperty> getNavigationProperties() {
if (navigationProperties == null) {
navigationProperties = new LinkedHashMap<String, EdmNavigationProperty>();
@@ -71,12 +69,10 @@ public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
return navigationProperties;
}
- @Override
public boolean isOpenType() {
return structuredType.isOpenType();
}
- @Override
public boolean isAbstract() {
return structuredType.isAbstract();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java
index cc3f11f..e1f7ce0 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java
@@ -37,19 +37,12 @@ import org.slf4j.LoggerFactory;
public class EdmTermImpl extends EdmNamedImpl implements EdmTerm {
private static final Logger LOG = LoggerFactory.getLogger(EdmTermImpl.class);
-
private final Term term;
-
private final FullQualifiedName fqn;
-
private final EdmTypeInfo typeInfo;
-
- private final EdmAnnotationHelper helper;
-
+ private final EdmAnnotationHelperImpl helper;
private EdmType termType;
-
private EdmTerm baseTerm;
-
private List<Class<?>> appliesTo;
public EdmTermImpl(final Edm edm, final String namespace, final Term term) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java
index d04f6dd..6831f07 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java
@@ -37,25 +37,16 @@ import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
public class EdmTypeDefinitionImpl extends EdmNamedImpl implements EdmTypeDefinition {
private TypeDefinition typeDefinition;
- private final EdmPrimitiveType edmPrimitiveTypeInstance;
- private final EdmAnnotationHelper helper;
private FullQualifiedName typeDefinitionName;
+ private EdmPrimitiveType edmPrimitiveTypeInstance;
+ private final EdmAnnotationHelperImpl helper;
public EdmTypeDefinitionImpl(final Edm edm, final FullQualifiedName typeDefinitionName,
final TypeDefinition typeDefinition) {
super(edm, typeDefinitionName.getName());
this.typeDefinitionName = typeDefinitionName;
this.typeDefinition = typeDefinition;
- try {
- if (typeDefinition.getUnderlyingType() == null) {
- throw new EdmException("Underlying Type for type definition: "
- + typeDefinitionName.getFullQualifiedNameAsString() + " must not be null.");
- }
- this.edmPrimitiveTypeInstance = EdmPrimitiveTypeFactory.getInstance(
- EdmPrimitiveTypeKind.valueOfFQN(typeDefinition.getUnderlyingType()));
- } catch (IllegalArgumentException e) {
- throw new EdmException("Invalid underlying type: " + typeDefinition.getUnderlyingType(), e);
- }
+
this.helper = new EdmAnnotationHelperImpl(edm, typeDefinition);
}
@@ -76,6 +67,18 @@ public class EdmTypeDefinitionImpl extends EdmNamedImpl implements EdmTypeDefini
@Override
public EdmPrimitiveType getUnderlyingType() {
+ if(edmPrimitiveTypeInstance == null){
+ try {
+ if (typeDefinition.getUnderlyingType() == null) {
+ throw new EdmException("Underlying Type for type definition: "
+ + typeDefinitionName.getFullQualifiedNameAsString() + " must not be null.");
+ }
+ this.edmPrimitiveTypeInstance = EdmPrimitiveTypeFactory.getInstance(
+ EdmPrimitiveTypeKind.valueOfFQN(typeDefinition.getUnderlyingType()));
+ } catch (IllegalArgumentException e) {
+ throw new EdmException("Invalid underlying type: " + typeDefinition.getUnderlyingType(), e);
+ }
+ }
return edmPrimitiveTypeInstance;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java
index ea05c24..337d700 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java
@@ -26,7 +26,6 @@ import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
public class EdmTypeImpl extends EdmNamedImpl implements EdmType {
protected final FullQualifiedName typeName;
-
protected final EdmTypeKind kind;
public EdmTypeImpl(final Edm edm, final FullQualifiedName typeName, final EdmTypeKind kind) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4d059b94/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
index 3882705..90ffca1 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ContainerProvider.java
@@ -251,6 +251,7 @@ public class ContainerProvider {
} else if (name.equals("ESInvisible")) {
return new EntitySet()
.setName("ESInvisible")
+ .setIncludeInServiceDocument(false)
.setType(EntityTypeProvider.nameETAllPrim);
} else if (name.equals("ESServerSidePaging")) {