Repository: olingo-odata4
Updated Branches:
  refs/heads/OLINGO-423_EdmxReferenceHandling e3121831b -> fd033d7de


[OLINGO-423] Added convenience and tests


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/fd033d7d
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/fd033d7d
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/fd033d7d

Branch: refs/heads/OLINGO-423_EdmxReferenceHandling
Commit: fd033d7deccc833a2df2cb42530079bd2a7deea5
Parents: e312183
Author: Michael Bolz <[email protected]>
Authored: Mon Oct 13 15:23:22 2014 +0200
Committer: Michael Bolz <[email protected]>
Committed: Mon Oct 13 15:23:22 2014 +0200

----------------------------------------------------------------------
 .../EdmxReferenceIncludeAnnotationImpl.java     |  4 +++
 .../core/edmx/EdmxReferenceIncludeImpl.java     |  4 +++
 .../serializer/xml/MetadataDocumentTest.java    | 35 +++++++++++++++++---
 3 files changed, 38 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/fd033d7d/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeAnnotationImpl.java
----------------------------------------------------------------------
diff --git 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeAnnotationImpl.java
 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeAnnotationImpl.java
index 1a4d7b4..575c115 100644
--- 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeAnnotationImpl.java
+++ 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeAnnotationImpl.java
@@ -34,6 +34,10 @@ public class EdmxReferenceIncludeAnnotationImpl implements 
EdmxReferenceIncludeA
     this.targetNamespace = targetNamespace;
   }
 
+  public EdmxReferenceIncludeAnnotationImpl(String termNamespace) {
+    this(termNamespace, null, null);
+  }
+
   @Override
   public String getTermNamespace() {
     return termNamespace;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/fd033d7d/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeImpl.java
----------------------------------------------------------------------
diff --git 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeImpl.java
 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeImpl.java
index 0da95df..0a4ecd3 100644
--- 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeImpl.java
+++ 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/edmx/EdmxReferenceIncludeImpl.java
@@ -31,6 +31,10 @@ public class EdmxReferenceIncludeImpl implements 
EdmxReferenceInclude {
     this.alias = alias;
   }
 
+  public EdmxReferenceIncludeImpl(String namespace) {
+    this(namespace, null);
+  }
+
   @Override
   public String getNamespace() {
     return namespace;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/fd033d7d/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
----------------------------------------------------------------------
diff --git 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
index 85ac1e8..2856cc4 100644
--- 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
+++ 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java
@@ -117,11 +117,26 @@ public class MetadataDocumentTest {
             new EdmxReferenceIncludeAnnotationImpl("ReferenceWithAllTermNs.5", 
"Q.5", "TargetNS.5"));
     edmxReferences.add(referenceWithAll);
 
+    EdmxReferenceImpl referenceWithAllAndNull = new EdmxReferenceImpl(
+            
URI.create("http://localhost/odata/odata/v4.0/referenceWithAllAndNull";));
+    referenceWithAllAndNull.addInclude(new 
EdmxReferenceIncludeImpl("referenceWithAllAndNull.1"));
+    referenceWithAllAndNull.addInclude(new 
EdmxReferenceIncludeImpl("referenceWithAllAndNull.2", null));
+    referenceWithAllAndNull.addIncludeAnnotation(
+            new 
EdmxReferenceIncludeAnnotationImpl("ReferenceWithAllTermNs.4"));
+    referenceWithAllAndNull.addIncludeAnnotation(
+            new 
EdmxReferenceIncludeAnnotationImpl("ReferenceWithAllTermAndNullNs.5", "Q.5", 
null));
+    referenceWithAllAndNull.addIncludeAnnotation(
+            new 
EdmxReferenceIncludeAnnotationImpl("ReferenceWithAllTermAndNullNs.6", null, 
"TargetNS"));
+    referenceWithAllAndNull.addIncludeAnnotation(
+            new 
EdmxReferenceIncludeAnnotationImpl("ReferenceWithAllTermAndNullNs.7", null, 
null));
+    edmxReferences.add(referenceWithAllAndNull);
+
     ServiceMetadata serviceMetadata = new 
ServiceMetadataImpl(ODataServiceVersion.V40,
             new TestMetadataProvider(), edmxReferences);
     InputStream metadata = serializer.metadataDocument(serviceMetadata);
     assertNotNull(metadata);
 
+
     String metadataString = IOUtils.toString(metadata);
     // edmx reference
     assertTrue(metadataString.contains(
@@ -144,13 +159,23 @@ public class MetadataDocumentTest {
             "</edmx:Reference>"));
     assertTrue(metadataString.contains(
             "<edmx:Reference 
Uri=\"http://localhost/odata/odata/v4.0/referenceWithAll\";>" +
-            "<edmx:Include Namespace=\"ReferenceWithAll.1\" Alias=\"Core1\"/>" 
+
-            "<edmx:Include Namespace=\"ReferenceWithAll.2\" Alias=\"Core2\"/>" 
+
-            "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermNs.4\" " +
+                    "<edmx:Include Namespace=\"ReferenceWithAll.1\" 
Alias=\"Core1\"/>" +
+                    "<edmx:Include Namespace=\"ReferenceWithAll.2\" 
Alias=\"Core2\"/>" +
+                    "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermNs.4\" " +
                     "Qualifier=\"Q.4\" TargetNamespace=\"TargetNS.4\"/>" +
-            "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermNs.5\" " +
+                    "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermNs.5\" " +
                     "Qualifier=\"Q.5\" TargetNamespace=\"TargetNS.5\"/>" +
-            "</edmx:Reference>"));
+                    "</edmx:Reference>"));
+    assertTrue(metadataString.contains(
+            "<edmx:Reference 
Uri=\"http://localhost/odata/odata/v4.0/referenceWithAllAndNull\";>" +
+                    "<edmx:Include Namespace=\"referenceWithAllAndNull.1\"/>" +
+                    "<edmx:Include Namespace=\"referenceWithAllAndNull.2\"/>" +
+                    "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermNs.4\"/>" +
+                    "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermAndNullNs.5\" Qualifier=\"Q.5\"/>" +
+                    "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermAndNullNs.6\" " +
+                                              "TargetNamespace=\"TargetNS\"/>" 
+
+                    "<edmx:IncludeAnnotations 
TermNamespace=\"ReferenceWithAllTermAndNullNs.7\"/>" +
+                    "</edmx:Reference>"));
   }
 
   @Test

Reply via email to