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/11/06 16:58:42 UTC
[4/5] olingo-odata4 git commit: [OLINGO-821] Verify Enum and TypeDef
support
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/639362ca/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataCreator.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataCreator.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataCreator.java
index ccc7de5..5c60b38 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataCreator.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataCreator.java
@@ -74,6 +74,7 @@ public class DataCreator {
data.put("ESFourKeyAlias", createESFourKeyAlias(edm, odata));
data.put("ESBase", createESBase(edm, odata));
data.put("ESCompMixPrimCollComp", createESCompMixPrimCollComp(edm, odata));
+ data.put("ESMixEnumDefCollComp", createESMixEnumDefCollComp(edm, odata));
linkESTwoPrim(data);
linkESAllPrim(data);
@@ -81,62 +82,83 @@ public class DataCreator {
linkESTwoKeyNav(data);
}
+ private EntityCollection createESMixEnumDefCollComp(Edm edm, OData odata) {
+ final EntityCollection entityCollection = new EntityCollection();
+
+ entityCollection.getEntities().add(createETMixEnumDefCollComp("key1", (short) 1));
+ entityCollection.getEntities().add(createETMixEnumDefCollComp("key1", (short) 3));
+ entityCollection.getEntities().add(createETMixEnumDefCollComp("key1", (short) 4));
+
+ setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETMixEnumDefCollComp));
+ createEntityId(edm, odata, "ESMixEnumDefCollComp", entityCollection);
+
+ return entityCollection;
+ }
+
+ private Entity createETMixEnumDefCollComp(String typeDefString, Short enumValue) {
+ return new Entity()
+ .addProperty(createPrimitive("PropertyEnumString", enumValue))
+ .addProperty(createPrimitive("PropertyDefString", typeDefString))
+ .addProperty(createPrimitiveCollection("CollPropertyEnumString", enumValue))
+ .addProperty(createPrimitiveCollection("CollPropertyDefString", typeDefString));
+ }
+
private EntityCollection createESCompMixPrimCollComp(final Edm edm, final OData odata) {
final EntityCollection entityCollection = new EntityCollection();
-
+
entityCollection.getEntities().add(createETCompMixPrimCollComp((short) 1));
entityCollection.getEntities().add(createETCompMixPrimCollComp((short) 2));
entityCollection.getEntities().add(createETCompMixPrimCollComp((short) 3));
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETCompMixPrimCollComp));
createEntityId(edm, odata, "ESCompMixPrimCollComp", entityCollection);
-
+
return entityCollection;
}
@SuppressWarnings("unchecked")
private Entity createETCompMixPrimCollComp(final Short propertyInt16) {
return new Entity()
- .addProperty(createPrimitive("PropertyInt16", propertyInt16))
- .addProperty(createComplex("PropertyMixedPrimCollComp",
- createPrimitive("PropertyInt16",(short) 1),
- createPrimitiveCollection("CollPropertyString",
- "Employee1@company.example",
- "Employee2@company.example",
- "Employee3@company.example"
- ),
- createComplex("PropertyComp",
- createPrimitive("PropertyInt16",(short) 333),
- createPrimitive("PropertyString", "TEST123")
- ),
- createComplexCollection("CollPropertyComp",
- Arrays.asList(new Property[] {
- createPrimitive("PropertyInt16",(short) 222),
- createPrimitive("PropertyString", "TEST9876")
- }),
- Arrays.asList(new Property[] {
- createPrimitive("PropertyInt16",(short) 333),
+ .addProperty(createPrimitive("PropertyInt16", propertyInt16))
+ .addProperty(createComplex("PropertyMixedPrimCollComp",
+ createPrimitive("PropertyInt16", (short) 1),
+ createPrimitiveCollection("CollPropertyString",
+ "Employee1@company.example",
+ "Employee2@company.example",
+ "Employee3@company.example"
+ ),
+ createComplex("PropertyComp",
+ createPrimitive("PropertyInt16", (short) 333),
createPrimitive("PropertyString", "TEST123")
- })
- )
- ));
+ ),
+ createComplexCollection("CollPropertyComp",
+ Arrays.asList(new Property[] {
+ createPrimitive("PropertyInt16", (short) 222),
+ createPrimitive("PropertyString", "TEST9876")
+ }),
+ Arrays.asList(new Property[] {
+ createPrimitive("PropertyInt16", (short) 333),
+ createPrimitive("PropertyString", "TEST123")
+ })
+ )
+ ));
}
private EntityCollection createESBase(final Edm edm, final OData odata) {
final EntityCollection entityCollection = new EntityCollection();
-
+
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 111))
+ .addProperty(createPrimitive("PropertyInt16", (short) 111))
.addProperty(createPrimitive("PropertyString", "TEST A"))
.addProperty(createPrimitive("AdditionalPropertyString_5", "TEST A 0815")));
-
+
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 222))
+ .addProperty(createPrimitive("PropertyInt16", (short) 222))
.addProperty(createPrimitive("PropertyString", "TEST B"))
.addProperty(createPrimitive("AdditionalPropertyString_5", "TEST C 0815")));
-
+
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 333))
+ .addProperty(createPrimitive("PropertyInt16", (short) 333))
.addProperty(createPrimitive("PropertyString", "TEST C"))
.addProperty(createPrimitive("AdditionalPropertyString_5", "TEST E 0815")));
@@ -148,21 +170,21 @@ public class DataCreator {
private EntityCollection createESFourKeyAlias(final Edm edm, final OData odata) {
final EntityCollection entityCollection = new EntityCollection();
-
+
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 1))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyInt16",(short) 11),
- createPrimitive("PropertyString", "Num11")
- ))
- .addProperty(createComplex("PropertyCompComp",
- createComplex("PropertyComp",
- createPrimitive("PropertyInt16",(short) 111),
- createPrimitive("PropertyString", "Num111")
- )
- ))
- );
-
+ .addProperty(createPrimitive("PropertyInt16", (short) 1))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyInt16", (short) 11),
+ createPrimitive("PropertyString", "Num11")
+ ))
+ .addProperty(createComplex("PropertyCompComp",
+ createComplex("PropertyComp",
+ createPrimitive("PropertyInt16", (short) 111),
+ createPrimitive("PropertyString", "Num111")
+ )
+ ))
+ );
+
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETFourKeyAlias));
createEntityId(edm, odata, "ESFourKeyAlias", entityCollection);
@@ -171,114 +193,114 @@ public class DataCreator {
private EntityCollection createESCompCollAllPrim(final Edm edm, final OData odata) {
final EntityCollection entityCollection = new EntityCollection();
-
+
entityCollection.getEntities().add(createETCompCollAllPrim((short) 5678));
entityCollection.getEntities().add(createETCompCollAllPrim((short) 12326));
-
+
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETCompCollAllPrim));
createEntityId(edm, odata, "ESCompCollAllPrim", entityCollection);
return entityCollection;
}
private Entity createETCompCollAllPrim(short propertyInt16) {
- return new Entity()
- .addProperty(createPrimitive("PropertyInt16", propertyInt16))
- .addProperty(createComplex("PropertyComp",
- createPrimitiveCollection("CollPropertyString",
- "Employee1@company.example",
- "Employee2@company.example",
- "Employee3@company.example"),
- createPrimitiveCollection("CollPropertyBoolean",
- true,
- false,
- true),
- createPrimitiveCollection("CollPropertyByte",
- (short) 50,
- (short) 200,
- (short) 249),
- createPrimitiveCollection("CollPropertySByte",
- (byte) -120,
- (byte) 120,
- (byte) 126),
- createPrimitiveCollection("CollPropertyInt16",
- (short) 1000,
- (short) 2000,
- (short) 30112),
- createPrimitiveCollection("CollPropertyInt32",
- 23232323,
- 11223355,
- 10000001),
- createPrimitiveCollection("CollPropertyInt64",
- 929292929292L,
- 333333333333L,
- 444444444444L),
- createPrimitiveCollection("CollPropertySingle",
- (float) 1790,
- (float) 26600,
- (float) 3210),
- createPrimitiveCollection("CollPropertyDouble",
- -17900D,
- -27800000D,
- 3210D),
- createPrimitiveCollection("CollPropertyDecimal",
- BigDecimal.valueOf(12),
- BigDecimal.valueOf(-2),
- BigDecimal.valueOf(1234)),
- createPrimitiveCollection("CollPropertyByte",
- (short) 50,
- (short) 200,
- (short) 249),
- createPrimitiveCollection("CollPropertyBinary",
- new byte[] { -85, -51, -17 },
- new byte[] { 1, 35, 69 },
- new byte[] { 84, 103, -119 }
- ),
- createPrimitiveCollection("CollPropertyDate",
- getDateTime(1958, 12, 3, 0, 0, 0),
- getDateTime(1999, 8, 5, 0, 0, 0),
- getDateTime(2013, 6, 25, 0, 0, 0)
- ),
- createPrimitiveCollection("CollPropertyDateTimeOffset",
- getDateTime(2015, 8, 12, 3, 8, 34),
- getDateTime(1970, 3, 28, 12, 11, 10),
- getDateTime(1948, 2, 17, 9, 9, 9)
- ),
- createPrimitiveCollection("CollPropertyDuration",
- getDuration(0, 0, 0, 13),
- getDuration(0, 5, 28, 20),
- getDuration(0, 1, 0, 0)
- ),
- createPrimitiveCollection("CollPropertyGuid",
- UUID.fromString("ffffff67-89ab-cdef-0123-456789aaaaaa"),
- UUID.fromString("eeeeee67-89ab-cdef-0123-456789bbbbbb"),
- UUID.fromString("cccccc67-89ab-cdef-0123-456789cccccc")
- ),
- createPrimitiveCollection("CollPropertyTimeOfDay",
- getTime(4, 14, 13),
- getTime(23, 59, 59),
- getTime(1, 12, 33)
- )
- ));
+ return new Entity()
+ .addProperty(createPrimitive("PropertyInt16", propertyInt16))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitiveCollection("CollPropertyString",
+ "Employee1@company.example",
+ "Employee2@company.example",
+ "Employee3@company.example"),
+ createPrimitiveCollection("CollPropertyBoolean",
+ true,
+ false,
+ true),
+ createPrimitiveCollection("CollPropertyByte",
+ (short) 50,
+ (short) 200,
+ (short) 249),
+ createPrimitiveCollection("CollPropertySByte",
+ (byte) -120,
+ (byte) 120,
+ (byte) 126),
+ createPrimitiveCollection("CollPropertyInt16",
+ (short) 1000,
+ (short) 2000,
+ (short) 30112),
+ createPrimitiveCollection("CollPropertyInt32",
+ 23232323,
+ 11223355,
+ 10000001),
+ createPrimitiveCollection("CollPropertyInt64",
+ 929292929292L,
+ 333333333333L,
+ 444444444444L),
+ createPrimitiveCollection("CollPropertySingle",
+ (float) 1790,
+ (float) 26600,
+ (float) 3210),
+ createPrimitiveCollection("CollPropertyDouble",
+ -17900D,
+ -27800000D,
+ 3210D),
+ createPrimitiveCollection("CollPropertyDecimal",
+ BigDecimal.valueOf(12),
+ BigDecimal.valueOf(-2),
+ BigDecimal.valueOf(1234)),
+ createPrimitiveCollection("CollPropertyByte",
+ (short) 50,
+ (short) 200,
+ (short) 249),
+ createPrimitiveCollection("CollPropertyBinary",
+ new byte[] { -85, -51, -17 },
+ new byte[] { 1, 35, 69 },
+ new byte[] { 84, 103, -119 }
+ ),
+ createPrimitiveCollection("CollPropertyDate",
+ getDateTime(1958, 12, 3, 0, 0, 0),
+ getDateTime(1999, 8, 5, 0, 0, 0),
+ getDateTime(2013, 6, 25, 0, 0, 0)
+ ),
+ createPrimitiveCollection("CollPropertyDateTimeOffset",
+ getDateTime(2015, 8, 12, 3, 8, 34),
+ getDateTime(1970, 3, 28, 12, 11, 10),
+ getDateTime(1948, 2, 17, 9, 9, 9)
+ ),
+ createPrimitiveCollection("CollPropertyDuration",
+ getDuration(0, 0, 0, 13),
+ getDuration(0, 5, 28, 20),
+ getDuration(0, 1, 0, 0)
+ ),
+ createPrimitiveCollection("CollPropertyGuid",
+ UUID.fromString("ffffff67-89ab-cdef-0123-456789aaaaaa"),
+ UUID.fromString("eeeeee67-89ab-cdef-0123-456789bbbbbb"),
+ UUID.fromString("cccccc67-89ab-cdef-0123-456789cccccc")
+ ),
+ createPrimitiveCollection("CollPropertyTimeOfDay",
+ getTime(4, 14, 13),
+ getTime(23, 59, 59),
+ getTime(1, 12, 33)
+ )
+ ));
}
-
+
private EntityCollection createESBaseTwoKeyNav(final Edm edm, final OData odata) {
final EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(
createESTwoKeyNavEntity((short) 1, "1")
- .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
-
+ .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
+
entityCollection.getEntities().add(
createESTwoKeyNavEntity((short) 1, "2")
- .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
-
+ .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
+
entityCollection.getEntities().add(
createESTwoKeyNavEntity((short) 2, "1")
- .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
-
+ .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
+
entityCollection.getEntities().add(
createESTwoKeyNavEntity((short) 3, "1")
- .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
-
+ .addProperty(createPrimitive("PropertyDate", getDateTime(2013, 12, 12, 0, 0, 0))));
+
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav));
createEntityId(edm, odata, "ESBaseTwoKeyNav", entityCollection);
@@ -288,19 +310,19 @@ public class DataCreator {
private EntityCollection createESTwoBase(final Edm edm, final OData odata) {
final EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 111))
+ .addProperty(createPrimitive("PropertyInt16", (short) 111))
.addProperty(createPrimitive("PropertyString", "TEST A"))
.addProperty(createPrimitive("AdditionalPropertyString_5", "TEST A 0815"))
.addProperty(createPrimitive("AdditionalPropertyString_6", "TEST B 0815")));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 222))
+ .addProperty(createPrimitive("PropertyInt16", (short) 222))
.addProperty(createPrimitive("PropertyString", "TEST B"))
.addProperty(createPrimitive("AdditionalPropertyString_5", "TEST C 0815"))
.addProperty(createPrimitive("AdditionalPropertyString_6", "TEST D 0815")));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 333))
+ .addProperty(createPrimitive("PropertyInt16", (short) 333))
.addProperty(createPrimitive("PropertyString", "TEST C"))
.addProperty(createPrimitive("AdditionalPropertyString_5", "TEST E 0815"))
.addProperty(createPrimitive("AdditionalPropertyString_6", "TEST F 0815")));
@@ -315,89 +337,89 @@ public class DataCreator {
final EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(
new Entity()
- .addProperty(createPrimitive("PropertyKey",(short) 1))
- .addProperty(createPrimitive("PropertyInt16", null))
- .addProperty(createPrimitive("PropertyString", null))
- .addProperty(createPrimitive("PropertyBoolean", null))
- .addProperty(createPrimitive("PropertyByte", null))
- .addProperty(createPrimitive("PropertySByte", null))
- .addProperty(createPrimitive("PropertyInt32", null))
- .addProperty(createPrimitive("PropertyInt64", null))
- .addProperty(createPrimitive("PropertySingle", null))
- .addProperty(createPrimitive("PropertyDouble", null))
- .addProperty(createPrimitive("PropertyDecimal", null))
- .addProperty(createPrimitive("PropertyBinary", null))
- .addProperty(createPrimitive("PropertyDate", null))
- .addProperty(createPrimitive("PropertyDateTimeOffset", null))
- .addProperty(createPrimitive("PropertyDuration", null))
- .addProperty(createPrimitive("PropertyGuid", null))
- .addProperty(createPrimitive("PropertyTimeOfDay", null))
- .addProperty(createPrimitiveCollection("CollPropertyString",
- "spiderman@comic.com",
- null,
- "spidergirl@comic.com"))
- .addProperty(createPrimitiveCollection("CollPropertyBoolean",
- true,
- null,
- false))
- .addProperty(createPrimitiveCollection("CollPropertyByte",
- (short) 50,
- null,
- (short) 249))
- .addProperty(createPrimitiveCollection("CollPropertySByte",
- (byte) -120,
- null,
- (byte) 126))
- .addProperty(createPrimitiveCollection("CollPropertyInt16",
- (short) 1000,
- null,
- (short) 30112))
- .addProperty(createPrimitiveCollection("CollPropertyInt32",
- 23232323,
- null,
- 10000001))
- .addProperty(createPrimitiveCollection("CollPropertyInt64",
- 929292929292L,
- null,
- 444444444444L))
- .addProperty(createPrimitiveCollection("CollPropertySingle",
- (float) 1790,
- null,
- (float) 3210))
- .addProperty(createPrimitiveCollection("CollPropertyDouble",
- -17900D,
- null,
- 3210D))
- .addProperty(createPrimitiveCollection("CollPropertyDecimal",
- BigDecimal.valueOf(12),
- null,
- BigDecimal.valueOf(1234)))
- .addProperty(createPrimitiveCollection("CollPropertyBinary",
- new byte[] { -85, -51, -17 },
- null,
- new byte[] { 84, 103, -119 } ))
- .addProperty(createPrimitiveCollection("CollPropertyDate",
- getDateTime(1958, 12, 3, 0, 0, 0),
- null,
- getDateTime(2013, 6, 25, 0, 0, 0)))
- .addProperty(createPrimitiveCollection("CollPropertyDateTimeOffset",
- getDateTime(2015, 8, 12, 3, 8, 34),
- null,
- getDateTime(1948, 2, 17, 9, 9, 9)))
- .addProperty(createPrimitiveCollection("CollPropertyDuration",
- getDuration(0, 0, 0, 13),
- null,
- getDuration(0, 1, 0, 0)))
- .addProperty(createPrimitiveCollection("CollPropertyGuid",
- UUID.fromString("ffffff67-89ab-cdef-0123-456789aaaaaa"),
- null,
- UUID.fromString("cccccc67-89ab-cdef-0123-456789cccccc")))
- .addProperty(createPrimitiveCollection("CollPropertyTimeOfDay",
- getTime(4, 14, 13),
- null,
- getTime(0, 37, 13))
- ));
-
+ .addProperty(createPrimitive("PropertyKey", (short) 1))
+ .addProperty(createPrimitive("PropertyInt16", null))
+ .addProperty(createPrimitive("PropertyString", null))
+ .addProperty(createPrimitive("PropertyBoolean", null))
+ .addProperty(createPrimitive("PropertyByte", null))
+ .addProperty(createPrimitive("PropertySByte", null))
+ .addProperty(createPrimitive("PropertyInt32", null))
+ .addProperty(createPrimitive("PropertyInt64", null))
+ .addProperty(createPrimitive("PropertySingle", null))
+ .addProperty(createPrimitive("PropertyDouble", null))
+ .addProperty(createPrimitive("PropertyDecimal", null))
+ .addProperty(createPrimitive("PropertyBinary", null))
+ .addProperty(createPrimitive("PropertyDate", null))
+ .addProperty(createPrimitive("PropertyDateTimeOffset", null))
+ .addProperty(createPrimitive("PropertyDuration", null))
+ .addProperty(createPrimitive("PropertyGuid", null))
+ .addProperty(createPrimitive("PropertyTimeOfDay", null))
+ .addProperty(createPrimitiveCollection("CollPropertyString",
+ "spiderman@comic.com",
+ null,
+ "spidergirl@comic.com"))
+ .addProperty(createPrimitiveCollection("CollPropertyBoolean",
+ true,
+ null,
+ false))
+ .addProperty(createPrimitiveCollection("CollPropertyByte",
+ (short) 50,
+ null,
+ (short) 249))
+ .addProperty(createPrimitiveCollection("CollPropertySByte",
+ (byte) -120,
+ null,
+ (byte) 126))
+ .addProperty(createPrimitiveCollection("CollPropertyInt16",
+ (short) 1000,
+ null,
+ (short) 30112))
+ .addProperty(createPrimitiveCollection("CollPropertyInt32",
+ 23232323,
+ null,
+ 10000001))
+ .addProperty(createPrimitiveCollection("CollPropertyInt64",
+ 929292929292L,
+ null,
+ 444444444444L))
+ .addProperty(createPrimitiveCollection("CollPropertySingle",
+ (float) 1790,
+ null,
+ (float) 3210))
+ .addProperty(createPrimitiveCollection("CollPropertyDouble",
+ -17900D,
+ null,
+ 3210D))
+ .addProperty(createPrimitiveCollection("CollPropertyDecimal",
+ BigDecimal.valueOf(12),
+ null,
+ BigDecimal.valueOf(1234)))
+ .addProperty(createPrimitiveCollection("CollPropertyBinary",
+ new byte[] { -85, -51, -17 },
+ null,
+ new byte[] { 84, 103, -119 }))
+ .addProperty(createPrimitiveCollection("CollPropertyDate",
+ getDateTime(1958, 12, 3, 0, 0, 0),
+ null,
+ getDateTime(2013, 6, 25, 0, 0, 0)))
+ .addProperty(createPrimitiveCollection("CollPropertyDateTimeOffset",
+ getDateTime(2015, 8, 12, 3, 8, 34),
+ null,
+ getDateTime(1948, 2, 17, 9, 9, 9)))
+ .addProperty(createPrimitiveCollection("CollPropertyDuration",
+ getDuration(0, 0, 0, 13),
+ null,
+ getDuration(0, 1, 0, 0)))
+ .addProperty(createPrimitiveCollection("CollPropertyGuid",
+ UUID.fromString("ffffff67-89ab-cdef-0123-456789aaaaaa"),
+ null,
+ UUID.fromString("cccccc67-89ab-cdef-0123-456789cccccc")))
+ .addProperty(createPrimitiveCollection("CollPropertyTimeOfDay",
+ getTime(4, 14, 13),
+ null,
+ getTime(0, 37, 13))
+ ));
+
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETAllNullable));
createEntityId(edm, odata, "ESAllNullable", entityCollection);
return entityCollection;
@@ -456,36 +478,36 @@ public class DataCreator {
@SuppressWarnings("unchecked")
private Entity createETKeyNavEntity(final short propertyInt16, final String propertyString) {
return new Entity()
- .addProperty(createPrimitive("PropertyInt16", propertyInt16))
+ .addProperty(createPrimitive("PropertyInt16", propertyInt16))
.addProperty(createPrimitive("PropertyString", propertyString))
- .addProperty(createComplex("PropertyCompNav",
+ .addProperty(createComplex("PropertyCompNav",
createPrimitive("PropertyInt16", 1)))
.addProperty(createKeyNavAllPrimComplexValue("PropertyCompAllPrim"))
- .addProperty(createComplex("PropertyCompTwoPrim",
- createPrimitive("PropertyInt16",(short) 16),
+ .addProperty(createComplex("PropertyCompTwoPrim",
+ createPrimitive("PropertyInt16", (short) 16),
createPrimitive("PropertyString", "Test123")))
- .addProperty(createPrimitiveCollection("CollPropertyString",
- "Employee1@company.example",
+ .addProperty(createPrimitiveCollection("CollPropertyString",
+ "Employee1@company.example",
"Employee2@company.example",
"Employee3@company.example"))
- .addProperty(createPrimitiveCollection("CollPropertyInt16",
- (short) 1000,
- (short) 2000,
+ .addProperty(createPrimitiveCollection("CollPropertyInt16",
+ (short) 1000,
+ (short) 2000,
(short) 30112))
.addProperty(createComplexCollection("CollPropertyComp",
Arrays.asList(
- createPrimitive("PropertyInt16",(short) 1),
+ createPrimitive("PropertyInt16", (short) 1),
createKeyNavAllPrimComplexValue("PropertyComp")),
Arrays.asList(
- createPrimitive("PropertyInt16",(short) 2),
+ createPrimitive("PropertyInt16", (short) 2),
createKeyNavAllPrimComplexValue("PropertyComp")),
Arrays.asList(
- createPrimitive("PropertyInt16",(short) 3),
+ createPrimitive("PropertyInt16", (short) 3),
createKeyNavAllPrimComplexValue("PropertyComp"))))
- .addProperty(createComplex("PropertyCompCompNav",
- createPrimitive("PropertyString", "1"),
- createComplex("PropertyCompNav",
- createPrimitive("PropertyInt16",(short) 1))));
+ .addProperty(createComplex("PropertyCompCompNav",
+ createPrimitive("PropertyString", "1"),
+ createComplex("PropertyCompNav",
+ createPrimitive("PropertyInt16", (short) 1))));
}
private EntityCollection createESTwoKeyNav(final Edm edm, final OData odata) {
@@ -507,50 +529,50 @@ public class DataCreator {
return new Entity()
.addProperty(createPrimitive("PropertyInt16", propertyInt16))
.addProperty(createPrimitive("PropertyString", propertyString))
- .addProperty(createComplex("PropertyComp",
+ .addProperty(createComplex("PropertyComp",
createPrimitive("PropertyInt16", 11),
- createComplex("PropertyComp",
+ createComplex("PropertyComp",
createPrimitive("PropertyString", "StringValue"),
createPrimitive("PropertyBinary", new byte[] { 1, 35, 69, 103, -119, -85, -51, -17 }),
- createPrimitive("PropertyBoolean", true),
+ createPrimitive("PropertyBoolean", true),
createPrimitive("PropertyByte", (short) 255),
createPrimitive("PropertyDate", getDateTime(2012, 12, 3, 7, 16, 23)),
- createPrimitive("PropertyDecimal", BigDecimal.valueOf(34)),
+ createPrimitive("PropertyDecimal", BigDecimal.valueOf(34)),
createPrimitive("PropertySingle", (float) 179000000000000000000D),
- createPrimitive("PropertyDouble", -179000000000000000000D),
+ createPrimitive("PropertyDouble", -179000000000000000000D),
createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
createPrimitive("PropertyGuid", UUID.fromString("01234567-89ab-cdef-0123-456789abcdef")),
createPrimitive("PropertyInt16", Short.MAX_VALUE),
createPrimitive("PropertyInt32", Integer.MAX_VALUE),
- createPrimitive("PropertyInt64", Long.MAX_VALUE),
+ createPrimitive("PropertyInt64", Long.MAX_VALUE),
createPrimitive("PropertySByte", Byte.MAX_VALUE),
createPrimitive("PropertyTimeOfDay", getTime(21, 5, 59)))))
- .addProperty(createComplex("PropertyCompNav",
+ .addProperty(createComplex("PropertyCompNav",
createPrimitive("PropertyInt16", (short) 1),
createKeyNavAllPrimComplexValue("PropertyComp")))
.addProperty(createComplexCollection("CollPropertyComp"))
- .addProperty(createComplexCollection("CollPropertyCompNav",
+ .addProperty(createComplexCollection("CollPropertyCompNav",
Arrays.asList(
createPrimitive("PropertyInt16", (short) 1))))
- .addProperty(createPrimitiveCollection("CollPropertyString",
- "1",
+ .addProperty(createPrimitiveCollection("CollPropertyString",
+ "1",
"2"))
- .addProperty(createComplex("PropertyCompTwoPrim",
- createPrimitive("PropertyInt16", (short) 11),
+ .addProperty(createComplex("PropertyCompTwoPrim",
+ createPrimitive("PropertyInt16", (short) 11),
createPrimitive("PropertyString", "11")));
}
protected Property createKeyNavAllPrimComplexValue(final String name) {
- return createComplex(name,
+ return createComplex(name,
createPrimitive("PropertyString", "First Resource - positive values"),
createPrimitive("PropertyBinary", new byte[] { 1, 35, 69, 103, -119, -85, -51, -17 }),
- createPrimitive("PropertyBoolean", true),
+ createPrimitive("PropertyBoolean", true),
createPrimitive("PropertyByte", (short) 255),
createPrimitive("PropertyDate", getDateTime(2012, 12, 3, 7, 16, 23)),
createPrimitive("PropertyDateTimeOffset", getTimestamp(2012, 12, 3, 7, 16, 23, 0)),
- createPrimitive("PropertyDecimal", 34),
+ createPrimitive("PropertyDecimal", 34),
createPrimitive("PropertySingle", (float) 179000000000000000000D),
- createPrimitive("PropertyDouble", -179000000000000000000D),
+ createPrimitive("PropertyDouble", -179000000000000000000D),
createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
createPrimitive("PropertyGuid", UUID.fromString("01234567-89ab-cdef-0123-456789abcdef")),
createPrimitive("PropertyInt16", Short.MAX_VALUE), createPrimitive("PropertyInt32", Integer.MAX_VALUE),
@@ -563,32 +585,32 @@ public class DataCreator {
final EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
- .addProperty(createComplex("PropertyComp",
- createComplexCollection("CollPropertyComp",
- Arrays.asList(
- createPrimitive("PropertyInt16",(short) 555),
- createPrimitive("PropertyString", "1 Test Complex in Complex Property")),
- Arrays.asList(
- createPrimitive("PropertyInt16",(short) 666),
- createPrimitive("PropertyString", "2 Test Complex in Complex Property")),
- Arrays.asList(
- createPrimitive("PropertyInt16",(short) 777),
- createPrimitive("PropertyString", "3 Test Complex in Complex Property"))))));
+ .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
+ .addProperty(createComplex("PropertyComp",
+ createComplexCollection("CollPropertyComp",
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 555),
+ createPrimitive("PropertyString", "1 Test Complex in Complex Property")),
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 666),
+ createPrimitive("PropertyString", "2 Test Complex in Complex Property")),
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 777),
+ createPrimitive("PropertyString", "3 Test Complex in Complex Property"))))));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", 12345))
- .addProperty(createComplex("PropertyComp",
- createComplexCollection("CollPropertyComp",
- Arrays.asList(
- createPrimitive("PropertyInt16",(short) 888),
- createPrimitive("PropertyString", "11 Test Complex in Complex Property")),
- Arrays.asList(
- createPrimitive("PropertyInt16",(short) 999),
- createPrimitive("PropertyString", "12 Test Complex in Complex Property")),
- Arrays.asList(
- createPrimitive("PropertyInt16",(short) 0),
- createPrimitive("PropertyString", "13 Test Complex in Complex Property"))))));
+ .addProperty(createPrimitive("PropertyInt16", 12345))
+ .addProperty(createComplex("PropertyComp",
+ createComplexCollection("CollPropertyComp",
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 888),
+ createPrimitive("PropertyString", "11 Test Complex in Complex Property")),
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 999),
+ createPrimitive("PropertyString", "12 Test Complex in Complex Property")),
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 0),
+ createPrimitive("PropertyString", "13 Test Complex in Complex Property"))))));
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETCompCollComp));
createEntityId(edm, odata, "ESCompCollComp", entityCollection);
@@ -600,20 +622,20 @@ public class DataCreator {
EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 32766))
- .addProperty(createPrimitive("PropertyString", "Test String1")));
+ .addProperty(createPrimitive("PropertyInt16", (short) 32766))
+ .addProperty(createPrimitive("PropertyString", "Test String1")));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) -365))
- .addProperty(createPrimitive("PropertyString", "Test String2")));
+ .addProperty(createPrimitive("PropertyInt16", (short) -365))
+ .addProperty(createPrimitive("PropertyString", "Test String2")));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) -32766))
- .addProperty(createPrimitive("PropertyString", null)));
+ .addProperty(createPrimitive("PropertyInt16", (short) -32766))
+ .addProperty(createPrimitive("PropertyString", null)));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
- .addProperty(createPrimitive("PropertyString", "Test String4")));
+ .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
+ .addProperty(createPrimitive("PropertyString", "Test String4")));
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETTwoPrim));
createEntityId(edm, odata, "ESTwoPrim", entityCollection);
@@ -630,26 +652,26 @@ public class DataCreator {
EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
- .addProperty(createPrimitive("PropertyString", "First Resource - positive values"))
- .addProperty(createPrimitive("PropertyBoolean", true))
- .addProperty(createPrimitive("PropertyByte", (short) 255))
- .addProperty(createPrimitive("PropertySByte", Byte.MAX_VALUE))
- .addProperty(createPrimitive("PropertyInt32", Integer.MAX_VALUE))
- .addProperty(createPrimitive("PropertyInt64", Long.MAX_VALUE))
- .addProperty(createPrimitive("PropertySingle", (float) 1.79000000E+20))
- .addProperty(createPrimitive("PropertyDouble", -1.7900000000000000E+19))
- .addProperty(createPrimitive("PropertyDecimal", BigDecimal.valueOf(34)))
- .addProperty(createPrimitive("PropertyBinary",
- new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }))
- .addProperty(createPrimitive("PropertyDate", getDateTime(2012, 12, 3, 0, 0, 0)))
- .addProperty(createPrimitive("PropertyDateTimeOffset", getDateTime(2012, 12, 3, 7, 16, 23)))
- .addProperty(createPrimitive("PropertyDuration", BigDecimal.valueOf(6)))
- .addProperty(createPrimitive("PropertyGuid", GUID))
- .addProperty(createPrimitive("PropertyTimeOfDay", getTime(3, 26, 5))));
+ .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
+ .addProperty(createPrimitive("PropertyString", "First Resource - positive values"))
+ .addProperty(createPrimitive("PropertyBoolean", true))
+ .addProperty(createPrimitive("PropertyByte", (short) 255))
+ .addProperty(createPrimitive("PropertySByte", Byte.MAX_VALUE))
+ .addProperty(createPrimitive("PropertyInt32", Integer.MAX_VALUE))
+ .addProperty(createPrimitive("PropertyInt64", Long.MAX_VALUE))
+ .addProperty(createPrimitive("PropertySingle", (float) 1.79000000E+20))
+ .addProperty(createPrimitive("PropertyDouble", -1.7900000000000000E+19))
+ .addProperty(createPrimitive("PropertyDecimal", BigDecimal.valueOf(34)))
+ .addProperty(createPrimitive("PropertyBinary",
+ new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }))
+ .addProperty(createPrimitive("PropertyDate", getDateTime(2012, 12, 3, 0, 0, 0)))
+ .addProperty(createPrimitive("PropertyDateTimeOffset", getDateTime(2012, 12, 3, 7, 16, 23)))
+ .addProperty(createPrimitive("PropertyDuration", BigDecimal.valueOf(6)))
+ .addProperty(createPrimitive("PropertyGuid", GUID))
+ .addProperty(createPrimitive("PropertyTimeOfDay", getTime(3, 26, 5))));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", Short.MIN_VALUE))
+ .addProperty(createPrimitive("PropertyInt16", Short.MIN_VALUE))
.addProperty(createPrimitive("PropertyString", "Second Resource - negative values"))
.addProperty(createPrimitive("PropertyBoolean", false))
.addProperty(createPrimitive("PropertyByte", (short) 0))
@@ -668,7 +690,7 @@ public class DataCreator {
.addProperty(createPrimitive("PropertyTimeOfDay", getTime(23, 49, 14))));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 0))
+ .addProperty(createPrimitive("PropertyInt16", (short) 0))
.addProperty(createPrimitive("PropertyString", ""))
.addProperty(createPrimitive("PropertyBoolean", false))
.addProperty(createPrimitive("PropertyByte", (short) 0))
@@ -695,93 +717,93 @@ public class DataCreator {
EntityCollection entityCollection = new EntityCollection();
Entity entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyString", "First Resource - first"),
- createPrimitive("PropertyBinary",
- new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }),
- createPrimitive("PropertyBoolean", true),
- createPrimitive("PropertyByte", (short) 255),
- createPrimitive("PropertyDate", getDateTime(2012, 10, 3, 0, 0, 0)),
- createPrimitive("PropertyDateTimeOffset", getTimestamp(2012, 10, 3, 7, 16, 23, 123456700)),
- createPrimitive("PropertyDecimal", BigDecimal.valueOf(34.27)),
- createPrimitive("PropertySingle", (float) 1.79000000E+20),
- createPrimitive("PropertyDouble", -1.7900000000000000E+19),
- createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
- createPrimitive("PropertyGuid", GUID),
- createPrimitive("PropertyInt16", Short.MAX_VALUE),
- createPrimitive("PropertyInt32", Integer.MAX_VALUE),
- createPrimitive("PropertyInt64", Long.MAX_VALUE),
- createPrimitive("PropertySByte", Byte.MAX_VALUE),
- createPrimitive("PropertyTimeOfDay", getTime(1, 0, 1))));
+ .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyString", "First Resource - first"),
+ createPrimitive("PropertyBinary",
+ new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }),
+ createPrimitive("PropertyBoolean", true),
+ createPrimitive("PropertyByte", (short) 255),
+ createPrimitive("PropertyDate", getDateTime(2012, 10, 3, 0, 0, 0)),
+ createPrimitive("PropertyDateTimeOffset", getTimestamp(2012, 10, 3, 7, 16, 23, 123456700)),
+ createPrimitive("PropertyDecimal", BigDecimal.valueOf(34.27)),
+ createPrimitive("PropertySingle", (float) 1.79000000E+20),
+ createPrimitive("PropertyDouble", -1.7900000000000000E+19),
+ createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
+ createPrimitive("PropertyGuid", GUID),
+ createPrimitive("PropertyInt16", Short.MAX_VALUE),
+ createPrimitive("PropertyInt32", Integer.MAX_VALUE),
+ createPrimitive("PropertyInt64", Long.MAX_VALUE),
+ createPrimitive("PropertySByte", Byte.MAX_VALUE),
+ createPrimitive("PropertyTimeOfDay", getTime(1, 0, 1))));
entity.setETag("W/\"" + Short.MAX_VALUE + '\"');
entityCollection.getEntities().add(entity);
entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16",(short) 7))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyString", "Second Resource - second"),
- createPrimitive("PropertyBinary",
- new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }),
- createPrimitive("PropertyBoolean", true),
- createPrimitive("PropertyByte", (short) 255),
- createPrimitive("PropertyDate", getDateTime(2013, 11, 4, 0, 0, 0)),
- createPrimitive("PropertyDateTimeOffset", getDateTime(2013, 11, 4, 7, 16, 23)),
- createPrimitive("PropertyDecimal", BigDecimal.valueOf(34.27)),
- createPrimitive("PropertySingle", (float) 1.79000000E+20),
- createPrimitive("PropertyDouble", -1.7900000000000000E+02),
- createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
- createPrimitive("PropertyGuid", GUID),
- createPrimitive("PropertyInt16", (short) 25),
- createPrimitive("PropertyInt32", Integer.MAX_VALUE),
- createPrimitive("PropertyInt64", Long.MAX_VALUE),
- createPrimitive("PropertySByte", Byte.MAX_VALUE),
- createPrimitive("PropertyTimeOfDay", getTimestamp(1, 1, 1, 7, 45, 12, 765432100))));
+ .addProperty(createPrimitive("PropertyInt16", (short) 7))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyString", "Second Resource - second"),
+ createPrimitive("PropertyBinary",
+ new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }),
+ createPrimitive("PropertyBoolean", true),
+ createPrimitive("PropertyByte", (short) 255),
+ createPrimitive("PropertyDate", getDateTime(2013, 11, 4, 0, 0, 0)),
+ createPrimitive("PropertyDateTimeOffset", getDateTime(2013, 11, 4, 7, 16, 23)),
+ createPrimitive("PropertyDecimal", BigDecimal.valueOf(34.27)),
+ createPrimitive("PropertySingle", (float) 1.79000000E+20),
+ createPrimitive("PropertyDouble", -1.7900000000000000E+02),
+ createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
+ createPrimitive("PropertyGuid", GUID),
+ createPrimitive("PropertyInt16", (short) 25),
+ createPrimitive("PropertyInt32", Integer.MAX_VALUE),
+ createPrimitive("PropertyInt64", Long.MAX_VALUE),
+ createPrimitive("PropertySByte", Byte.MAX_VALUE),
+ createPrimitive("PropertyTimeOfDay", getTimestamp(1, 1, 1, 7, 45, 12, 765432100))));
entity.setETag("W/\"7\"");
entityCollection.getEntities().add(entity);
entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 0))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyString", "Third Resource - third"),
- createPrimitive("PropertyBinary",
- new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }),
- createPrimitive("PropertyBoolean", true),
- createPrimitive("PropertyByte", (short) 255),
- createPrimitive("PropertyDate", getDateTime(2014, 12, 5, 0, 0, 0)),
- createPrimitive("PropertyDateTimeOffset", getTimestamp(2014, 12, 5, 8, 17, 45, 123456700)),
- createPrimitive("PropertyDecimal", BigDecimal.valueOf(17.98)),
- createPrimitive("PropertySingle", 1.79000000E+20),
- createPrimitive("PropertyDouble", -1.7900000000000000E+02),
- createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
- createPrimitive("PropertyGuid", GUID),
- createPrimitive("PropertyInt16", (short) -25),
- createPrimitive("PropertyInt32", Integer.MAX_VALUE),
- createPrimitive("PropertyInt64", Long.MAX_VALUE),
- createPrimitive("PropertySByte", Byte.MAX_VALUE),
- createPrimitive("PropertyTimeOfDay", getTime(13, 27, 45))));
+ .addProperty(createPrimitive("PropertyInt16", (short) 0))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyString", "Third Resource - third"),
+ createPrimitive("PropertyBinary",
+ new byte[] { 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF }),
+ createPrimitive("PropertyBoolean", true),
+ createPrimitive("PropertyByte", (short) 255),
+ createPrimitive("PropertyDate", getDateTime(2014, 12, 5, 0, 0, 0)),
+ createPrimitive("PropertyDateTimeOffset", getTimestamp(2014, 12, 5, 8, 17, 45, 123456700)),
+ createPrimitive("PropertyDecimal", BigDecimal.valueOf(17.98)),
+ createPrimitive("PropertySingle", 1.79000000E+20),
+ createPrimitive("PropertyDouble", -1.7900000000000000E+02),
+ createPrimitive("PropertyDuration", BigDecimal.valueOf(6)),
+ createPrimitive("PropertyGuid", GUID),
+ createPrimitive("PropertyInt16", (short) -25),
+ createPrimitive("PropertyInt32", Integer.MAX_VALUE),
+ createPrimitive("PropertyInt64", Long.MAX_VALUE),
+ createPrimitive("PropertySByte", Byte.MAX_VALUE),
+ createPrimitive("PropertyTimeOfDay", getTime(13, 27, 45))));
entity.setETag("W/\"0\"");
entityCollection.getEntities().add(entity);
-
+
entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) -32768))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyString", null),
- createPrimitive("PropertyBinary", null),
- createPrimitive("PropertyBoolean", null),
- createPrimitive("PropertyByte", null),
- createPrimitive("PropertyDate", null),
- createPrimitive("PropertyDateTimeOffset", null),
- createPrimitive("PropertyDecimal", null),
- createPrimitive("PropertySingle", null),
- createPrimitive("PropertyDouble", null),
- createPrimitive("PropertyDuration", null),
- createPrimitive("PropertyGuid", null),
- createPrimitive("PropertyInt16", null),
- createPrimitive("PropertyInt32", null),
- createPrimitive("PropertyInt64", null),
- createPrimitive("PropertySByte", null),
- createPrimitive("PropertyTimeOfDay", null)));
+ .addProperty(createPrimitive("PropertyInt16", (short) -32768))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyString", null),
+ createPrimitive("PropertyBinary", null),
+ createPrimitive("PropertyBoolean", null),
+ createPrimitive("PropertyByte", null),
+ createPrimitive("PropertyDate", null),
+ createPrimitive("PropertyDateTimeOffset", null),
+ createPrimitive("PropertyDecimal", null),
+ createPrimitive("PropertySingle", null),
+ createPrimitive("PropertyDouble", null),
+ createPrimitive("PropertyDuration", null),
+ createPrimitive("PropertyGuid", null),
+ createPrimitive("PropertyInt16", null),
+ createPrimitive("PropertyInt32", null),
+ createPrimitive("PropertyInt64", null),
+ createPrimitive("PropertySByte", null),
+ createPrimitive("PropertyTimeOfDay", null)));
entity.setETag("W/\"-32768\"");
entityCollection.getEntities().add(entity);
@@ -803,73 +825,73 @@ public class DataCreator {
return entityCollection;
}
-
+
private Entity createETCollAllPrim(final Short propertyInt16) {
- return new Entity()
- .addProperty(createPrimitive("PropertyInt16", propertyInt16))
- .addProperty(createPrimitiveCollection("CollPropertyString",
- "Employee1@company.example",
- "Employee2@company.example",
- "Employee3@company.example"))
- .addProperty(createPrimitiveCollection("CollPropertyBoolean",
- true,
- false,
- true))
- .addProperty(createPrimitiveCollection("CollPropertyByte",
- (short) 50,
- (short) 200,
- (short) 249))
- .addProperty(createPrimitiveCollection("CollPropertySByte",
- -120,
- 120,
- 126))
- .addProperty(createPrimitiveCollection("CollPropertyInt16",
- (short) 1000,
- (short) 2000,
- (short) 30112))
- .addProperty(createPrimitiveCollection("CollPropertyInt32",
- 23232323,
- 11223355,
- 10000001))
- .addProperty(createPrimitiveCollection("CollPropertyInt64",
- 929292929292L,
- 333333333333L,
- 444444444444L))
- .addProperty(createPrimitiveCollection("CollPropertySingle",
- 1.79000000E+03,
- 2.66000000E+04,
- 3.21000000E+03))
- .addProperty(createPrimitiveCollection("CollPropertyDouble",
- -1.7900000000000000E+04,
- -2.7800000000000000E+07,
- 3.2100000000000000E+03))
- .addProperty(createPrimitiveCollection("CollPropertyDecimal",
- BigDecimal.valueOf(12),
- BigDecimal.valueOf(-2),
+ return new Entity()
+ .addProperty(createPrimitive("PropertyInt16", propertyInt16))
+ .addProperty(createPrimitiveCollection("CollPropertyString",
+ "Employee1@company.example",
+ "Employee2@company.example",
+ "Employee3@company.example"))
+ .addProperty(createPrimitiveCollection("CollPropertyBoolean",
+ true,
+ false,
+ true))
+ .addProperty(createPrimitiveCollection("CollPropertyByte",
+ (short) 50,
+ (short) 200,
+ (short) 249))
+ .addProperty(createPrimitiveCollection("CollPropertySByte",
+ -120,
+ 120,
+ 126))
+ .addProperty(createPrimitiveCollection("CollPropertyInt16",
+ (short) 1000,
+ (short) 2000,
+ (short) 30112))
+ .addProperty(createPrimitiveCollection("CollPropertyInt32",
+ 23232323,
+ 11223355,
+ 10000001))
+ .addProperty(createPrimitiveCollection("CollPropertyInt64",
+ 929292929292L,
+ 333333333333L,
+ 444444444444L))
+ .addProperty(createPrimitiveCollection("CollPropertySingle",
+ 1.79000000E+03,
+ 2.66000000E+04,
+ 3.21000000E+03))
+ .addProperty(createPrimitiveCollection("CollPropertyDouble",
+ -1.7900000000000000E+04,
+ -2.7800000000000000E+07,
+ 3.2100000000000000E+03))
+ .addProperty(createPrimitiveCollection("CollPropertyDecimal",
+ BigDecimal.valueOf(12),
+ BigDecimal.valueOf(-2),
BigDecimal.valueOf(1234)))
- .addProperty(createPrimitiveCollection("CollPropertyBinary",
- new byte[] { (byte) 0xAB, (byte) 0xCD, (byte) 0xEF },
- new byte[] { 0x01, 0x23, 0x45 },
+ .addProperty(createPrimitiveCollection("CollPropertyBinary",
+ new byte[] { (byte) 0xAB, (byte) 0xCD, (byte) 0xEF },
+ new byte[] { 0x01, 0x23, 0x45 },
new byte[] { 0x54, 0x67, (byte) 0x89 }))
- .addProperty(createPrimitiveCollection("CollPropertyDate",
- getDateTime(1958, 12, 3, 0, 0, 0),
- getDateTime(1999, 8, 5, 0, 0, 0),
+ .addProperty(createPrimitiveCollection("CollPropertyDate",
+ getDateTime(1958, 12, 3, 0, 0, 0),
+ getDateTime(1999, 8, 5, 0, 0, 0),
getDateTime(2013, 6, 25, 0, 0, 0)))
- .addProperty(createPrimitiveCollection("CollPropertyDateTimeOffset",
- getDateTime(2015, 8, 12, 3, 8, 34),
- getDateTime(1970, 3, 28, 12, 11, 10),
+ .addProperty(createPrimitiveCollection("CollPropertyDateTimeOffset",
+ getDateTime(2015, 8, 12, 3, 8, 34),
+ getDateTime(1970, 3, 28, 12, 11, 10),
getDateTime(1948, 2, 17, 9, 9, 9)))
- .addProperty(createPrimitiveCollection("CollPropertyDuration",
- BigDecimal.valueOf(13),
- BigDecimal.valueOf(19680),
- BigDecimal.valueOf(3600)))
- .addProperty(createPrimitiveCollection("CollPropertyGuid",
- UUID.fromString("ffffff67-89ab-cdef-0123-456789aaaaaa"),
+ .addProperty(createPrimitiveCollection("CollPropertyDuration",
+ BigDecimal.valueOf(13),
+ BigDecimal.valueOf(19680),
+ BigDecimal.valueOf(3600)))
+ .addProperty(createPrimitiveCollection("CollPropertyGuid",
+ UUID.fromString("ffffff67-89ab-cdef-0123-456789aaaaaa"),
UUID.fromString("eeeeee67-89ab-cdef-0123-456789bbbbbb"),
UUID.fromString("cccccc67-89ab-cdef-0123-456789cccccc")))
- .addProperty(createPrimitiveCollection("CollPropertyTimeOfDay",
- getTime(4, 14, 13),
- getTime(23, 59, 59),
+ .addProperty(createPrimitiveCollection("CollPropertyTimeOfDay",
+ getTime(4, 14, 13),
+ getTime(23, 59, 59),
getTime(1, 12, 33)));
}
@@ -877,63 +899,63 @@ public class DataCreator {
EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
- .addProperty(createPrimitiveCollection("CollPropertyString",
- "Employee1@company.example",
- "Employee2@company.example",
+ .addProperty(createPrimitive("PropertyInt16", Short.MAX_VALUE))
+ .addProperty(createPrimitiveCollection("CollPropertyString",
+ "Employee1@company.example",
+ "Employee2@company.example",
"Employee3@company.example"))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyInt16", (short) 111),
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyInt16", (short) 111),
createPrimitive("PropertyString", "TEST A")))
.addProperty(createColPropertyComp()));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 7))
- .addProperty(createPrimitiveCollection("CollPropertyString",
- "Employee1@company.example",
- "Employee2@company.example",
- "Employee3@company.example"))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyInt16", (short) 222),
- createPrimitive("PropertyString", "TEST B")))
- .addProperty(createColPropertyComp()));
+ .addProperty(createPrimitive("PropertyInt16", (short) 7))
+ .addProperty(createPrimitiveCollection("CollPropertyString",
+ "Employee1@company.example",
+ "Employee2@company.example",
+ "Employee3@company.example"))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyInt16", (short) 222),
+ createPrimitive("PropertyString", "TEST B")))
+ .addProperty(createColPropertyComp()));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short)0))
- .addProperty(createPrimitiveCollection("CollPropertyString",
- "Employee1@company.example",
- "Employee2@company.example",
- "Employee3@company.example"))
- .addProperty(createComplex("PropertyComp",
- createPrimitive("PropertyInt16", (short) 333),
- createPrimitive("PropertyString", "TEST C")))
- .addProperty(createColPropertyComp()));
+ .addProperty(createPrimitive("PropertyInt16", (short) 0))
+ .addProperty(createPrimitiveCollection("CollPropertyString",
+ "Employee1@company.example",
+ "Employee2@company.example",
+ "Employee3@company.example"))
+ .addProperty(createComplex("PropertyComp",
+ createPrimitive("PropertyInt16", (short) 333),
+ createPrimitive("PropertyString", "TEST C")))
+ .addProperty(createColPropertyComp()));
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETMixPrimCollComp));
createEntityId(edm, odata, "ESMixPrimCollComp", entityCollection);
-
+
return entityCollection;
}
-
- @SuppressWarnings("unchecked")
- private Property createColPropertyComp() {
- return createComplexCollection("CollPropertyComp",
- Arrays.asList(
- createPrimitive("PropertyInt16", (short) 123),
- createPrimitive("PropertyString", "TEST 1")),
- Arrays.asList(
- createPrimitive("PropertyInt16", (short) 456),
- createPrimitive("PropertyString", "TEST 2")),
- Arrays.asList(
- createPrimitive("PropertyInt16", (short) 789),
- createPrimitive("PropertyString", "TEST 3")));
- }
-
- private EntityCollection createESAllKey(final Edm edm, final OData odata) {
+
+ @SuppressWarnings("unchecked")
+ private Property createColPropertyComp() {
+ return createComplexCollection("CollPropertyComp",
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 123),
+ createPrimitive("PropertyString", "TEST 1")),
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 456),
+ createPrimitive("PropertyString", "TEST 2")),
+ Arrays.asList(
+ createPrimitive("PropertyInt16", (short) 789),
+ createPrimitive("PropertyString", "TEST 3")));
+ }
+
+ private EntityCollection createESAllKey(final Edm edm, final OData odata) {
EntityCollection entityCollection = new EntityCollection();
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyString", "First"))
+ .addProperty(createPrimitive("PropertyString", "First"))
.addProperty(createPrimitive("PropertyBoolean", true))
.addProperty(createPrimitive("PropertyByte", (short) 255))
.addProperty(createPrimitive("PropertySByte", Byte.MAX_VALUE))
@@ -948,7 +970,7 @@ public class DataCreator {
.addProperty(createPrimitive("PropertyTimeOfDay", getTime(2, 48, 21))));
entityCollection.getEntities().add(new Entity()
- .addProperty(createPrimitive("PropertyString", "Second"))
+ .addProperty(createPrimitive("PropertyString", "Second"))
.addProperty(createPrimitive("PropertyBoolean", true))
.addProperty(createPrimitive("PropertyByte", (short) 254))
.addProperty(createPrimitive("PropertySByte", (byte) 124))
@@ -961,7 +983,7 @@ public class DataCreator {
.addProperty(createPrimitive("PropertyDuration", BigDecimal.valueOf(6)))
.addProperty(createPrimitive("PropertyGuid", GUID))
.addProperty(createPrimitive("PropertyTimeOfDay", getTime(2, 48, 21))));
-
+
setEntityType(entityCollection, edm.getEntityType(EntityTypeProvider.nameETAllKey));
createEntityId(edm, odata, "ESAllKey", entityCollection);
@@ -974,7 +996,7 @@ public class DataCreator {
Entity entity = new Entity();
entity.addProperty(createPrimitive("PropertyInt16", (short) 1));
entity.addProperty(createComplex("PropertyComp",
- createComplex("PropertyComp",
+ createComplex("PropertyComp",
createPrimitive("PropertyInt16", (short) 123),
createPrimitive("PropertyString", "String 1"))));
entityCollection.getEntities().add(entity);
@@ -982,7 +1004,7 @@ public class DataCreator {
entity = new Entity();
entity.addProperty(createPrimitive("PropertyInt16", (short) 2));
entity.addProperty(createComplex("PropertyComp",
- createComplex("PropertyComp",
+ createComplex("PropertyComp",
createPrimitive("PropertyInt16", (short) 987),
createPrimitive("PropertyString", "String 2"))));
entityCollection.getEntities().add(entity);
@@ -997,32 +1019,32 @@ public class DataCreator {
EntityCollection entityCollection = new EntityCollection();
Entity entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 1))
- .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("darkturquoise")));
+ .addProperty(createPrimitive("PropertyInt16", (short) 1))
+ .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("darkturquoise")));
entity.setMediaContentType("image/svg+xml");
entity.setMediaETag("W/\"1\"");
entity.getMediaEditLinks().add(buildMediaLink("ESMedia", "ESMedia(1)/$value"));
entityCollection.getEntities().add(entity);
entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 2))
- .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("royalblue")));
+ .addProperty(createPrimitive("PropertyInt16", (short) 2))
+ .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("royalblue")));
entity.setMediaContentType("image/svg+xml");
entity.setMediaETag("W/\"2\"");
entity.getMediaEditLinks().add(buildMediaLink("ESMedia", "ESMedia(2)/$value"));
entityCollection.getEntities().add(entity);
entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 3))
- .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("crimson")));
+ .addProperty(createPrimitive("PropertyInt16", (short) 3))
+ .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("crimson")));
entity.setMediaContentType("image/svg+xml");
entity.setMediaETag("W/\"3\"");
entity.getMediaEditLinks().add(buildMediaLink("ESMedia", "ESMedia(3)/$value"));
entityCollection.getEntities().add(entity);
entity = new Entity()
- .addProperty(createPrimitive("PropertyInt16", (short) 4))
- .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("black")));
+ .addProperty(createPrimitive("PropertyInt16", (short) 4))
+ .addProperty(createPrimitive(DataProvider.MEDIA_PROPERTY_NAME, createImage("black")));
entity.setMediaContentType("image/svg+xml");
entity.setMediaETag("W/\"4\"");
entity.getMediaEditLinks().add(buildMediaLink("ESMedia", "ESMedia(4)/$value"));
@@ -1045,8 +1067,8 @@ public class DataCreator {
final EntityCollection entityCollection = data.get("ESTwoPrim");
final List<Entity> targetEntities = data.get("ESAllPrim").getEntities();
- setLinks(entityCollection.getEntities().get(1), "NavPropertyETAllPrimMany", targetEntities.get(1),
- targetEntities.get(2));
+ setLinks(entityCollection.getEntities().get(1), "NavPropertyETAllPrimMany", targetEntities.get(1),
+ targetEntities.get(2));
setLink(entityCollection.getEntities().get(3), "NavPropertyETAllPrimOne", targetEntities.get(0));
}
@@ -1057,9 +1079,9 @@ public class DataCreator {
setLinks(entityCollection.getEntities().get(0), "NavPropertyETTwoPrimMany", targetEntities.get(1));
setLink(entityCollection.getEntities().get(0), "NavPropertyETTwoPrimOne", targetEntities.get(3));
- setLinks(entityCollection.getEntities().get(2), "NavPropertyETTwoPrimMany", targetEntities.get(0),
- targetEntities.get(2),
- targetEntities.get(3));
+ setLinks(entityCollection.getEntities().get(2), "NavPropertyETTwoPrimMany", targetEntities.get(0),
+ targetEntities.get(2),
+ targetEntities.get(3));
}
private void linkESKeyNav(final Map<String, EntityCollection> data) {
@@ -1069,10 +1091,10 @@ public class DataCreator {
final List<Entity> esMediaTargets = data.get("ESMedia").getEntities();
// NavPropertyETKeyNavMany
- setLinks(entityCollection.getEntities().get(0), "NavPropertyETKeyNavMany", esKeyNavTargets.get(0),
- esKeyNavTargets.get(1));
- setLinks(entityCollection.getEntities().get(1), "NavPropertyETKeyNavMany", esKeyNavTargets.get(1),
- esKeyNavTargets.get(2));
+ setLinks(entityCollection.getEntities().get(0), "NavPropertyETKeyNavMany", esKeyNavTargets.get(0),
+ esKeyNavTargets.get(1));
+ setLinks(entityCollection.getEntities().get(1), "NavPropertyETKeyNavMany", esKeyNavTargets.get(1),
+ esKeyNavTargets.get(2));
// NavPropertyETKeyNavOne
setLink(entityCollection.getEntities().get(0), "NavPropertyETKeyNavOne", esKeyNavTargets.get(1));
@@ -1095,11 +1117,11 @@ public class DataCreator {
setLink(entityCollection.getEntities().get(2), "NavPropertyETMediaOne", esMediaTargets.get(2));
// NavPropertyETMediaMany
- setLinks(entityCollection.getEntities().get(0), "NavPropertyETMediaMany", esMediaTargets.get(0),
- esMediaTargets.get(2));
+ setLinks(entityCollection.getEntities().get(0), "NavPropertyETMediaMany", esMediaTargets.get(0),
+ esMediaTargets.get(2));
setLinks(entityCollection.getEntities().get(1), "NavPropertyETMediaMany", esMediaTargets.get(2));
- setLinks(entityCollection.getEntities().get(2), "NavPropertyETMediaMany", esMediaTargets.get(0),
- esMediaTargets.get(1));
+ setLinks(entityCollection.getEntities().get(2), "NavPropertyETMediaMany", esMediaTargets.get(0),
+ esMediaTargets.get(1));
}
private void linkESTwoKeyNav(final Map<String, EntityCollection> data) {
@@ -1114,12 +1136,12 @@ public class DataCreator {
setLink(entityCollection.getEntities().get(3), "NavPropertyETKeyNavOne", esKeyNavTargets.get(2));
// NavPropertyETKeyNavMany
- setLinks(entityCollection.getEntities().get(0), "NavPropertyETKeyNavMany", esKeyNavTargets.get(0),
- esKeyNavTargets.get(1));
- setLinks(entityCollection.getEntities().get(1), "NavPropertyETKeyNavMany", esKeyNavTargets.get(0),
- esKeyNavTargets.get(1));
- setLinks(entityCollection.getEntities().get(2), "NavPropertyETKeyNavMany", esKeyNavTargets.get(1),
- esKeyNavTargets.get(2));
+ setLinks(entityCollection.getEntities().get(0), "NavPropertyETKeyNavMany", esKeyNavTargets.get(0),
+ esKeyNavTargets.get(1));
+ setLinks(entityCollection.getEntities().get(1), "NavPropertyETKeyNavMany", esKeyNavTargets.get(0),
+ esKeyNavTargets.get(1));
+ setLinks(entityCollection.getEntities().get(2), "NavPropertyETKeyNavMany", esKeyNavTargets.get(1),
+ esKeyNavTargets.get(2));
// NavPropertyETTwoKeyNavOne
setLink(entityCollection.getEntities().get(0), "NavPropertyETTwoKeyNavOne", esTwoKeyNavTargets.get(0));
@@ -1172,10 +1194,10 @@ public class DataCreator {
}
protected static int getDuration(final int days, final int hours, final int minutes, final int seconds) {
- return days * 24 * 60 * 60
- + hours * 60 * 60
- + minutes * 60
- + seconds;
+ return days * 24 * 60 * 60
+ + hours * 60 * 60
+ + minutes * 60
+ + seconds;
}
protected static Calendar getTime(final int hour, final int minute, final int second) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/639362ca/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataProvider.java
index 045360b..d91f923 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/data/DataProvider.java
@@ -41,6 +41,7 @@ import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.edm.EdmComplexType;
import org.apache.olingo.commons.api.edm.EdmEntitySet;
import org.apache.olingo.commons.api.edm.EdmEntityType;
+import org.apache.olingo.commons.api.edm.EdmEnumType;
import org.apache.olingo.commons.api.edm.EdmFunction;
import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
import org.apache.olingo.commons.api.edm.EdmParameter;
@@ -50,6 +51,7 @@ import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
import org.apache.olingo.commons.api.edm.EdmProperty;
import org.apache.olingo.commons.api.edm.EdmStructuredType;
import org.apache.olingo.commons.api.edm.EdmType;
+import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
import org.apache.olingo.commons.api.http.HttpStatusCode;
@@ -174,23 +176,28 @@ public class DataProvider {
throws DataProviderException {
// Weak key construction
final HashMap<String, Object> keys = new HashMap<String, Object>();
- for (final String keyName : entityType.getKeyPredicateNames()) {
- final FullQualifiedName typeName = entityType.getProperty(keyName).getType().getFullQualifiedName();
+ List<String> keyPredicateNames = entityType.getKeyPredicateNames();
+ for (final String keyName : keyPredicateNames) {
+ EdmType type = entityType.getProperty(keyName).getType();
+ FullQualifiedName typeName = type.getFullQualifiedName();
+ if (type instanceof EdmTypeDefinition) {
+ typeName = ((EdmTypeDefinition) type).getUnderlyingType().getFullQualifiedName();
+ }
Object newValue;
-
+
if (EdmPrimitiveTypeKind.Int16.getFullQualifiedName().equals(typeName)) {
- newValue = (short) KEY_INT_16.incrementAndGet();
-
- while(!isFree(newValue, keyName, entities)) {
- newValue = (short) KEY_INT_16.incrementAndGet();
- }
+ newValue = (short) KEY_INT_16.incrementAndGet();
+
+ while (!isFree(newValue, keyName, entities)) {
+ newValue = (short) KEY_INT_16.incrementAndGet();
+ }
} else if (EdmPrimitiveTypeKind.Int32.getFullQualifiedName().equals(typeName)) {
newValue = KEY_INT_32.incrementAndGet();
-
- while(!isFree(newValue, keyName, entities)) {
+
+ while (!isFree(newValue, keyName, entities)) {
newValue = KEY_INT_32.incrementAndGet();
}
- } else if(EdmPrimitiveTypeKind.Int64.getFullQualifiedName().equals(typeName)) {
+ } else if (EdmPrimitiveTypeKind.Int64.getFullQualifiedName().equals(typeName)) {
// Integer keys
newValue = KEY_INT_64.incrementAndGet();
@@ -204,6 +211,12 @@ public class DataProvider {
while (!isFree(newValue, keyName, entities)) {
newValue = String.valueOf(KEY_STRING.incrementAndGet());
}
+ } else if (type instanceof EdmEnumType) {
+ /* In case of an enum key we only support composite keys. This way we can 0 as a key */
+ if (keyPredicateNames.size() <= 1) {
+ throw new DataProviderException("Single Enum as key not supported", HttpStatusCode.NOT_IMPLEMENTED);
+ }
+ newValue = new Short((short) 1);
} else {
throw new DataProviderException("Key type not supported", HttpStatusCode.NOT_IMPLEMENTED);
}
@@ -583,21 +596,21 @@ public class DataProvider {
return ActionData.entityCollectionAction(name, actionParameters, odata, edm);
}
- public void createReference(final Entity entity, final EdmNavigationProperty navigationProperty, final URI entityId,
+ public void createReference(final Entity entity, final EdmNavigationProperty navigationProperty, final URI entityId,
final String rawServiceRoot) throws DataProviderException {
- setLink(navigationProperty, entity, getEntityByReference(entityId.toASCIIString(), rawServiceRoot));
+ setLink(navigationProperty, entity, getEntityByReference(entityId.toASCIIString(), rawServiceRoot));
}
- public void deleteReference(final Entity entity, final EdmNavigationProperty navigationProperty,
+ public void deleteReference(final Entity entity, final EdmNavigationProperty navigationProperty,
final String entityId, final String rawServiceRoot) throws DataProviderException {
if (navigationProperty.isCollection()) {
final Entity targetEntity = getEntityByReference(entityId, rawServiceRoot);
final Link navigationLink = entity.getNavigationLink(navigationProperty.getName());
-
- if (navigationLink != null && navigationLink.getInlineEntitySet() != null
+
+ if (navigationLink != null && navigationLink.getInlineEntitySet() != null
&& navigationLink.getInlineEntitySet().getEntities().contains(targetEntity)) {
-
+
// Remove partner single-valued navigation property
if (navigationProperty.getPartner() != null) {
final EdmNavigationProperty edmPartnerNavigationProperty = navigationProperty.getPartner();
@@ -614,7 +627,7 @@ public class DataProvider {
}
}
}
-
+
// Remove target entity from collection-valued navigation property
navigationLink.getInlineEntitySet().getEntities().remove(targetEntity);
} else {
@@ -629,7 +642,7 @@ public class DataProvider {
}
}
- protected Entity getEntityByReference(final String entityId, final String rawServiceRoot)
+ protected Entity getEntityByReference(final String entityId, final String rawServiceRoot)
throws DataProviderException {
try {
final UriResourceEntitySet uriResource = odata.createUriHelper().parseEntityId(edm, entityId, rawServiceRoot);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/639362ca/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java
index b3b9864..7db6fcf 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/ComplexTypeProvider.java
@@ -179,7 +179,7 @@ public class ComplexTypeProvider {
return new CsdlComplexType()
.setName(nameCTMixEnumDef.getName())
.setProperties(Arrays.asList(
- PropertyProvider.propertyEnumString_ENString_Nullable,
+ PropertyProvider.propertyEnumString_ENString,
PropertyProvider.collPropertyEnumString_ENString,
PropertyProvider.propertyTypeDefinition_TDString,
PropertyProvider.collPropertyTypeDefinition_TDString));
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/639362ca/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java
index a1067ca..1ba33c1 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/EntityTypeProvider.java
@@ -437,12 +437,12 @@ public class EntityTypeProvider {
} else if (entityTypeName.equals(nameETMixEnumDefCollComp)) {
return new CsdlEntityType()
.setName(nameETMixEnumDefCollComp.getName())
- .setKey(Arrays.asList(new CsdlPropertyRef().setName("PropertyInt16")))
+ .setKey(Arrays.asList(new CsdlPropertyRef().setName("PropertyEnumString"),
+ new CsdlPropertyRef().setName("PropertyDefString")))
.setProperties(Arrays.asList(
- PropertyProvider.propertyInt16_NotNullable,
- PropertyProvider.propertyEnumString_ENString,
+ PropertyProvider.propertyEnumString_ENString_NonNullable,
PropertyProvider.collPropertyEnumString_ENString,
- PropertyProvider.propertyTypeDefinition_TDString,
+ PropertyProvider.propertyTypeDefinition_TDString_NonNullable,
PropertyProvider.collPropertyTypeDefinition_TDString,
PropertyProvider.propertyComp_CTMixEnumTypeDefColl,
PropertyProvider.propertyCompColl_CTMixEnumTypeDefColl));
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/639362ca/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java
index c8c4549..05fb93a 100644
--- a/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java
+++ b/lib/server-tecsvc/src/main/java/org/apache/olingo/server/tecsvc/provider/PropertyProvider.java
@@ -760,12 +760,12 @@ public class PropertyProvider {
.setType(EntityTypeProvider.nameETTwoKeyNav);
// EnumProperties --------------------------------------------------------------------------------------------------
- public static final CsdlProperty propertyEnumString_ENString = new CsdlProperty()
+ public static final CsdlProperty propertyEnumString_ENString_NonNullable = new CsdlProperty()
.setName("PropertyEnumString")
.setType(EnumTypeProvider.nameENString)
.setNullable(false);
- public static final CsdlProperty propertyEnumString_ENString_Nullable = new CsdlProperty()
+ public static final CsdlProperty propertyEnumString_ENString = new CsdlProperty()
.setName("PropertyEnumString")
.setType(EnumTypeProvider.nameENString);
@@ -779,6 +779,11 @@ public class PropertyProvider {
.setName("PropertyDefString")
.setType(TypeDefinitionProvider.nameTDString);
+ public static final CsdlProperty propertyTypeDefinition_TDString_NonNullable = new CsdlProperty()
+ .setName("PropertyDefString")
+ .setType(TypeDefinitionProvider.nameTDString)
+ .setNullable(false);
+
public static final CsdlProperty collPropertyTypeDefinition_TDString = new CsdlProperty()
.setName("CollPropertyDefString")
.setType(TypeDefinitionProvider.nameTDString)
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/639362ca/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializerEntityTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializerEntityTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializerEntityTest.java
index b528b28..01e61f3 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializerEntityTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/json/ODataJsonDeserializerEntityTest.java
@@ -471,6 +471,31 @@ public class ODataJsonDeserializerEntityTest extends AbstractODataDeserializerTe
assertEquals("string", defProperty.getValue());
stream.close();
}
+
+ @Test
+ public void eTMixEnumDefCollCompTestWithEnumStrings() throws Exception {
+ InputStream stream = getFileAsStream("EntityETMixEnumDefCollCompWithEnumStrings.json");
+ final Entity entity = deserialize(stream, "ETMixEnumDefCollComp", ContentType.JSON);
+
+ assertEquals(6, entity.getProperties().size());
+
+ Property enumProperty = entity.getProperty("PropertyEnumString");
+ assertNotNull(enumProperty);
+ assertEquals((short) 2, enumProperty.getValue());
+
+ Property defProperty = entity.getProperty("PropertyDefString");
+ assertNotNull(defProperty);
+ assertEquals("def", defProperty.getValue());
+
+ Property complexProperty = entity.getProperty("PropertyCompMixedEnumDef");
+ List<Property> value = complexProperty.asComplex().getValue();
+ assertEquals((short) 2, value.get(0).getValue());
+
+ defProperty = ((ComplexValue) entity.getProperty("CollPropertyCompMixedEnumDef").asCollection().get(1))
+ .getValue().get(2);
+ assertEquals("def", defProperty.getValue());
+ stream.close();
+ }
@Test
public void eTCollAllPrimWithNullValue() throws Exception {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/639362ca/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/xml/ODataXmlDeserializerTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/xml/ODataXmlDeserializerTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/xml/ODataXmlDeserializerTest.java
index a257eaa..dcde3f2 100644
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/xml/ODataXmlDeserializerTest.java
+++ b/lib/server-test/src/test/java/org/apache/olingo/server/core/deserializer/xml/ODataXmlDeserializerTest.java
@@ -349,7 +349,6 @@ public class ODataXmlDeserializerTest extends AbstractODataDeserializerTest {
+ " xmlns:m=\"" + Constants.NS_METADATA + "\" xmlns:d=\"" + Constants.NS_DATASERVICES + "\">\n"
+ " <a:content type=\"application/xml\">\n"
+ " <m:properties>\n"
- + " <d:PropertyInt16 m:type=\"Int16\">1</d:PropertyInt16>\n"
+ " <d:PropertyEnumString m:type=\"#olingo.odata.test1.ENString\">String2,String3"
+ "</d:PropertyEnumString>\n"
+ " <d:CollPropertyEnumString m:type=\"#Collection(olingo.odata.test1.ENString)\">\n"
@@ -398,9 +397,8 @@ public class ODataXmlDeserializerTest extends AbstractODataDeserializerTest {
final Entity result = deserializer.entity(new ByteArrayInputStream(payload.getBytes()),
edmEntitySet.getEntityType()).getEntity();
- Assert.assertEquals(7, result.getProperties().size());
+ Assert.assertEquals(6, result.getProperties().size());
- Assert.assertEquals((short) 1, result.getProperty("PropertyInt16").asPrimitive());
Assert.assertEquals((short) 6, result.getProperty("PropertyEnumString").asEnum());
Assert.assertEquals(3, result.getProperty("CollPropertyEnumString").asCollection().size());
Assert.assertEquals("Test", result.getProperty("PropertyDefString").asPrimitive());