You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ra...@apache.org on 2018/03/21 07:55:40 UTC
olingo-odata2 git commit: [OLINGO-1244]Annotation edm provider
ignoring facets set on complex types
Repository: olingo-odata2
Updated Branches:
refs/heads/master f71f456e4 -> 91bd4b897
[OLINGO-1244]Annotation edm provider ignoring facets set on complex types
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/91bd4b89
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/91bd4b89
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/91bd4b89
Branch: refs/heads/master
Commit: 91bd4b897683f69b6f877a2ea630af4c2dde46e2
Parents: f71f456
Author: ramya vasanth <ra...@sap.com>
Authored: Wed Mar 21 13:25:33 2018 +0530
Committer: ramya vasanth <ra...@sap.com>
Committed: Wed Mar 21 13:25:33 2018 +0530
----------------------------------------------------------------------
.../annotation/processor/core/edm/AnnotationEdmProvider.java | 6 ++++--
.../processor/core/edm/AnnotationEdmProviderTest.java | 1 +
.../odata2/annotation/processor/core/model/Employee.java | 2 +-
3 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/91bd4b89/odata2-annotation-processor/annotation-processor-core/src/main/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProvider.java
----------------------------------------------------------------------
diff --git a/odata2-annotation-processor/annotation-processor-core/src/main/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProvider.java b/odata2-annotation-processor/annotation-processor-core/src/main/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProvider.java
index 3ccf6e4..bd0123b 100644
--- a/odata2-annotation-processor/annotation-processor-core/src/main/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProvider.java
+++ b/odata2-annotation-processor/annotation-processor-core/src/main/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProvider.java
@@ -468,7 +468,7 @@ public class AnnotationEdmProvider extends EdmProvider {
private Property createProperty(final EdmProperty ep, final Field field) {
if (isAnnotatedEntity(field.getType())) {
- return createComplexProperty(field);
+ return createComplexProperty(ep, field);
} else {
return createSimpleProperty(ep, field);
}
@@ -505,7 +505,7 @@ public class AnnotationEdmProvider extends EdmProvider {
return resultFacets;
}
- private Property createComplexProperty(final Field field) {
+ private Property createComplexProperty(EdmProperty ep, final Field field) {
ComplexProperty cp = new ComplexProperty();
// settings from property
String entityName = ANNOTATION_HELPER.getPropertyName(field);
@@ -515,6 +515,8 @@ public class AnnotationEdmProvider extends EdmProvider {
FullQualifiedName fqn = ANNOTATION_HELPER.extractComplexTypeFqn(field.getType());
cp.setType(fqn);
+ cp.setFacets(createFacets(ep.facets(), field.getAnnotation(EdmConcurrencyControl.class)));
+
return cp;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/91bd4b89/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProviderTest.java
----------------------------------------------------------------------
diff --git a/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProviderTest.java b/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProviderTest.java
index 778d349..f77a6f8 100644
--- a/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProviderTest.java
+++ b/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/edm/AnnotationEdmProviderTest.java
@@ -453,6 +453,7 @@ public class AnnotationEdmProviderTest {
new FullQualifiedName(ModelSharedConstants.NAMESPACE_1, "c_Location"));
assertEquals("c_Location", locationType.getName());
assertEquals(2, locationType.getProperties().size());
+ assertEquals(false, location.getFacets().isNullable());
}
@Test
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/91bd4b89/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/model/Employee.java
----------------------------------------------------------------------
diff --git a/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/model/Employee.java b/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/model/Employee.java
index ce709d7..3509b1b 100644
--- a/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/model/Employee.java
+++ b/odata2-annotation-processor/annotation-processor-core/src/test/java/org/apache/olingo/odata2/annotation/processor/core/model/Employee.java
@@ -58,7 +58,7 @@ public class Employee {
private String imageUrl;
@EdmProperty(name = "EntryDate", type = EdmType.DATE_TIME)
private Calendar entryDate;
- @EdmProperty(name = "Location")
+ @EdmProperty(name = "Location", facets = @EdmFacets(nullable = false))
private Location location;
public Employee(final String employeeId, final String name) {