You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/03/29 16:58:49 UTC
[2/9] git commit: [OLINGO-200] Introducing interfaces for domain
object
[OLINGO-200] Introducing interfaces for domain object
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/ceda4740
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/ceda4740
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/ceda4740
Branch: refs/heads/olingo200
Commit: ceda474058f1f7c369ee6f4b52157ee7464aa16c
Parents: e0d1b6f
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Sat Mar 29 14:48:17 2014 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Sat Mar 29 14:48:17 2014 +0100
----------------------------------------------------------------------
.../olingo/client/api/CommonODataClient.java | 3 -
.../olingo/client/core/AbstractODataClient.java | 8 +-
.../client/core/op/AbstractODataBinder.java | 17 +-
.../client/core/op/AbstractODataReader.java | 4 +-
.../client/core/it/AbstractTestITCase.java | 35 +-
.../client/core/it/v3/AsyncTestITCase.java | 2 +-
.../core/it/v3/EntityCreateTestITCase.java | 22 +-
.../core/it/v3/EntityUpdateTestITCase.java | 2 +-
.../it/v3/NavigationLinkCreateTestITCase.java | 43 ++-
.../client/core/it/v3/OpenTypeTestITCase.java | 65 ++--
.../client/core/it/v3/PropertyTestITCase.java | 10 +-
.../client/core/v3/PrimitiveValueTest.java | 62 ++--
.../olingo/client/core/v3/PropertyTest.java | 10 +-
.../client/core/v4/PrimitiveValueTest.java | 4 +-
.../commons/api/domain/AbstractODataValue.java | 14 +
.../api/domain/ODataCollectionValue.java | 64 +---
.../commons/api/domain/ODataComplexValue.java | 59 +--
.../olingo/commons/api/domain/ODataEntity.java | 240 +++---------
.../commons/api/domain/ODataEntitySet.java | 81 +---
.../commons/api/domain/ODataObjectFactory.java | 11 +-
.../commons/api/domain/ODataProperty.java | 104 +-----
.../olingo/commons/api/domain/ODataValue.java | 7 +
.../core/domain/ODataCollectionValueImpl.java | 90 +++++
.../core/domain/ODataComplexValueImpl.java | 89 +++++
.../commons/core/domain/ODataEntityImpl.java | 372 +++++++++++++++++++
.../commons/core/domain/ODataEntitySetImpl.java | 104 ++++++
.../core/domain/ODataObjectFactoryImpl.java | 171 +++++++++
.../core/domain/ODataPrimitiveValueImpl.java | 9 +
.../commons/core/domain/ODataPropertyImpl.java | 172 +++++++++
.../commons/core/op/ODataObjectFactoryImpl.java | 156 --------
30 files changed, 1269 insertions(+), 761 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
index e811744..af904b3 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
@@ -26,7 +26,6 @@ import org.apache.olingo.client.api.communication.request.retrieve.CommonRetriev
import org.apache.olingo.client.api.communication.request.streamed.CommonStreamedRequestFactory;
import org.apache.olingo.client.api.op.ClientODataDeserializer;
import org.apache.olingo.commons.api.domain.ODataObjectFactory;
-import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
import org.apache.olingo.client.api.op.CommonODataBinder;
import org.apache.olingo.client.api.op.CommonODataReader;
import org.apache.olingo.commons.api.op.ODataSerializer;
@@ -47,8 +46,6 @@ public interface CommonODataClient {
CommonFilterFactory getFilterFactory();
- ODataPrimitiveValue.Builder getPrimitiveValueBuilder();
-
ODataSerializer getSerializer();
ClientODataDeserializer getDeserializer();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
index 80c8d16..405f95d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/AbstractODataClient.java
@@ -21,8 +21,7 @@ package org.apache.olingo.client.core;
import org.apache.olingo.client.api.CommonODataClient;
import org.apache.olingo.commons.api.domain.ODataObjectFactory;
import org.apache.olingo.client.api.op.ODataWriter;
-import org.apache.olingo.commons.core.domain.ODataPrimitiveValueImpl;
-import org.apache.olingo.commons.core.op.ODataObjectFactoryImpl;
+import org.apache.olingo.commons.core.domain.ODataObjectFactoryImpl;
import org.apache.olingo.client.core.op.ODataWriterImpl;
public abstract class AbstractODataClient implements CommonODataClient {
@@ -34,11 +33,6 @@ public abstract class AbstractODataClient implements CommonODataClient {
private final ODataObjectFactory objectFactory = new ODataObjectFactoryImpl(getServiceVersion());
@Override
- public ODataPrimitiveValueImpl.BuilderImpl getPrimitiveValueBuilder() {
- return new ODataPrimitiveValueImpl.BuilderImpl(this.getServiceVersion());
- }
-
- @Override
public ODataWriter getWriter() {
return writer;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
index 36ff32b..2a0ea4f 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
@@ -42,6 +42,7 @@ import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
import org.apache.olingo.commons.api.domain.ODataLink;
import org.apache.olingo.commons.api.domain.ODataOperation;
import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.core.domain.ODataPropertyImpl;
import org.apache.olingo.commons.api.domain.ODataServiceDocument;
import org.apache.olingo.commons.api.domain.ODataValue;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
@@ -220,9 +221,9 @@ public abstract class AbstractODataBinder implements CommonODataBinder {
if (property.hasPrimitiveValue()) {
propertyResource.setType(property.getPrimitiveValue().getType().toString());
} else if (property.hasComplexValue()) {
- propertyResource.setType(property.getComplexValue().getType());
+ propertyResource.setType(property.getComplexValue().getTypeName());
} else if (property.hasCollectionValue()) {
- propertyResource.setType(property.getCollectionValue().getType());
+ propertyResource.setType(property.getCollectionValue().getTypeName());
}
}
@@ -284,7 +285,7 @@ public abstract class AbstractODataBinder implements CommonODataBinder {
}
for (Entry entryResource : resource.getEntries()) {
- entitySet.addEntity(getODataEntity(entryResource));
+ entitySet.getEntities().add(getODataEntity(entryResource));
}
return entitySet;
@@ -369,20 +370,20 @@ public abstract class AbstractODataBinder implements CommonODataBinder {
@Override
public ODataProperty getODataProperty(final Property property) {
- return new ODataProperty(property.getName(), getODataValue(property));
+ return new ODataPropertyImpl(property.getName(), getODataValue(property));
}
private ODataValue getODataValue(final Property resource) {
ODataValue value = null;
if (resource.getValue().isPrimitive()) {
- value = client.getPrimitiveValueBuilder().
+ value = client.getObjectFactory().newPrimitiveValueBuilder().
setText(resource.getValue().asPrimitive().get()).
setType(resource.getType() == null
? null
: EdmPrimitiveTypeKind.valueOfFQN(client.getServiceVersion(), resource.getType())).build();
} else if (resource.getValue().isGeospatial()) {
- value = client.getPrimitiveValueBuilder().
+ value = client.getObjectFactory().newPrimitiveValueBuilder().
setValue(resource.getValue().asGeospatial().get()).
setType(resource.getType() == null
|| EdmPrimitiveTypeKind.Geography.getFullQualifiedName().toString().equals(resource.getType())
@@ -390,13 +391,13 @@ public abstract class AbstractODataBinder implements CommonODataBinder {
? resource.getValue().asGeospatial().get().getEdmPrimitiveTypeKind()
: EdmPrimitiveTypeKind.valueOfFQN(client.getServiceVersion(), resource.getType())).build();
} else if (resource.getValue().isComplex()) {
- value = new ODataComplexValue(resource.getType());
+ value = client.getObjectFactory().newComplexValue(resource.getType());
for (Property property : resource.getValue().asComplex().get()) {
value.asComplex().add(getODataProperty(property));
}
} else if (resource.getValue().isCollection()) {
- value = new ODataCollectionValue(resource.getType());
+ value = client.getObjectFactory().newCollectionValue(resource.getType());
for (Value _value : resource.getValue().asCollection().get()) {
final JSONPropertyImpl fake = new JSONPropertyImpl();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
index ffc58e1..f21f16a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataReader.java
@@ -126,9 +126,9 @@ public abstract class AbstractODataReader implements CommonODataReader {
container.getMetadataETag(),
(T) client.getBinder().getODataProperty(container.getObject()));
} else if (ODataValue.class.isAssignableFrom(reference)) {
- res = new Container<T>(null, null, (T) client.getPrimitiveValueBuilder().
+ res = new Container<T>(null, null, (T) client.getObjectFactory().newPrimitiveValueBuilder().
setType(ODataValueFormat.fromString(format) == ODataValueFormat.TEXT
- ? EdmPrimitiveTypeKind.String : EdmPrimitiveTypeKind.Stream).
+ ? EdmPrimitiveTypeKind.String : EdmPrimitiveTypeKind.Stream).
setText(IOUtils.toString(src)).
build());
} else if (XMLMetadata.class.isAssignableFrom(reference)) {
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
index 73e6f2b..bba68de 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/AbstractTestITCase.java
@@ -213,8 +213,8 @@ public abstract class AbstractTestITCase {
entity.setMediaEntity(true);
entity.getProperties().add(getClient().getObjectFactory().newPrimitiveProperty("Information",
- getClient().getPrimitiveValueBuilder().setText(sampleinfo).setType(
- EdmPrimitiveTypeKind.String).build()));
+ getClient().getObjectFactory().newPrimitiveValueBuilder().setText(sampleinfo).setType(
+ EdmPrimitiveTypeKind.String).build()));
return entity;
}
@@ -227,45 +227,48 @@ public abstract class AbstractTestITCase {
// add name attribute
entity.getProperties().add(getClient().getObjectFactory().newPrimitiveProperty("Name",
- getClient().getPrimitiveValueBuilder().setText(sampleName).setType(
- EdmPrimitiveTypeKind.String).build()));
+ getClient().getObjectFactory().newPrimitiveValueBuilder().setText(sampleName).setType(
+ EdmPrimitiveTypeKind.String).build()));
// add key attribute
entity.getProperties().add(getClient().getObjectFactory().newPrimitiveProperty("CustomerId",
- getClient().getPrimitiveValueBuilder().setText(String.valueOf(id)).setType(
- EdmPrimitiveTypeKind.Int32).build()));
+ getClient().getObjectFactory().newPrimitiveValueBuilder().setText(String.valueOf(id)).setType(
+ EdmPrimitiveTypeKind.Int32).build()));
// add BackupContactInfo attribute (collection)
- final ODataCollectionValue backupContactInfoValue = new ODataCollectionValue(
+ final ODataCollectionValue backupContactInfoValue = getClient().getObjectFactory().newCollectionValue(
"Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails)");
entity.getProperties().add(getClient().getObjectFactory().newCollectionProperty("BackupContactInfo",
backupContactInfoValue));
// add BackupContactInfo.ContactDetails attribute (complex)
- final ODataComplexValue contactDetails = new ODataComplexValue(
+ final ODataComplexValue contactDetails = getClient().getObjectFactory().newComplexValue(
"Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails");
backupContactInfoValue.add(contactDetails);
// add BackupContactInfo.ContactDetails.AlternativeNames attribute (collection)
- final ODataCollectionValue altNamesValue = new ODataCollectionValue("Collection(Edm.String)");
- altNamesValue.add(getClient().getPrimitiveValueBuilder().
+ final ODataCollectionValue altNamesValue = getClient().getObjectFactory().
+ newCollectionValue("Collection(Edm.String)");
+ altNamesValue.add(getClient().getObjectFactory().newPrimitiveValueBuilder().
setText("myname").setType(EdmPrimitiveTypeKind.String).build());
contactDetails.add(getClient().getObjectFactory().newCollectionProperty("AlternativeNames", altNamesValue));
// add BackupContactInfo.ContactDetails.EmailBag attribute (collection)
- final ODataCollectionValue emailBagValue = new ODataCollectionValue("Collection(Edm.String)");
- emailBagValue.add(getClient().getPrimitiveValueBuilder().
+ final ODataCollectionValue emailBagValue = getClient().getObjectFactory().
+ newCollectionValue("Collection(Edm.String)");
+ emailBagValue.add(getClient().getObjectFactory().newPrimitiveValueBuilder().
setText("myname@mydomain.com").setType(EdmPrimitiveTypeKind.String).build());
contactDetails.add(getClient().getObjectFactory().newCollectionProperty("EmailBag", emailBagValue));
// add BackupContactInfo.ContactDetails.ContactAlias attribute (complex)
- final ODataComplexValue contactAliasValue = new ODataComplexValue(
+ final ODataComplexValue contactAliasValue = getClient().getObjectFactory().newComplexValue(
"Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases");
contactDetails.add(getClient().getObjectFactory().newComplexProperty("ContactAlias", contactAliasValue));
// add BackupContactInfo.ContactDetails.ContactAlias.AlternativeNames attribute (collection)
- final ODataCollectionValue aliasAltNamesValue = new ODataCollectionValue("Collection(Edm.String)");
- aliasAltNamesValue.add(getClient().getPrimitiveValueBuilder().
+ final ODataCollectionValue aliasAltNamesValue = getClient().getObjectFactory().
+ newCollectionValue("Collection(Edm.String)");
+ aliasAltNamesValue.add(getClient().getObjectFactory().newPrimitiveValueBuilder().
setText("myAlternativeName").setType(EdmPrimitiveTypeKind.String).build());
contactAliasValue.add(getClient().getObjectFactory().newCollectionProperty("AlternativeNames", aliasAltNamesValue));
@@ -511,7 +514,7 @@ public abstract class AbstractTestITCase {
assertNotEquals(newm, oldm);
changes.getProperties().add(getClient().getObjectFactory().newPrimitiveProperty(propertyName,
- getClient().getPrimitiveValueBuilder().setText(newm).build()));
+ getClient().getObjectFactory().newPrimitiveValueBuilder().setText(newm).build()));
update(type, changes, format, etag);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
index 8b7fa01..b77ebf8 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/AsyncTestITCase.java
@@ -75,7 +75,7 @@ public class AsyncTestITCase extends AbstractTestITCase {
entity.getProperties().remove(entity.getProperty("Description"));
entity.getProperties().add(client.getObjectFactory().newPrimitiveProperty("Description",
- client.getPrimitiveValueBuilder().setText("AsyncTest#updateEntity").build()));
+ client.getObjectFactory().newPrimitiveValueBuilder().setText("AsyncTest#updateEntity").build()));
final ODataEntityUpdateRequest updateReq =
client.getCUDRequestFactory().getEntityUpdateRequest(uri, UpdateType.MERGE, entity);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
index 6e4484c..1ebe190 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityCreateTestITCase.java
@@ -291,10 +291,10 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
client.getObjectFactory().newEntity("Microsoft.Test.OData.Services.AstoriaDefaultService.Order");
order.getProperties().add(client.getObjectFactory().newPrimitiveProperty("OrderId",
- client.getPrimitiveValueBuilder().setValue(key).setType(EdmPrimitiveTypeKind.Int32)
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(key).setType(EdmPrimitiveTypeKind.Int32)
.build()));
order.getProperties().add(client.getObjectFactory().newPrimitiveProperty("CustomerId",
- client.getPrimitiveValueBuilder().setValue(id).setType(EdmPrimitiveTypeKind.Int32)
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(id).setType(EdmPrimitiveTypeKind.Int32)
.build()));
final ODataEntityCreateRequest createReq = client.getCUDRequestFactory().getEntityCreateRequest(
@@ -388,9 +388,11 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
ODataEntity order = client.getObjectFactory().newEntity(
"Microsoft.Test.OData.Services.AstoriaDefaultService.Order");
order.getProperties().add(client.getObjectFactory().newPrimitiveProperty("CustomerId",
- client.getPrimitiveValueBuilder().setValue(id).setType(EdmPrimitiveTypeKind.Int32).build()));
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(id).
+ setType(EdmPrimitiveTypeKind.Int32).build()));
order.getProperties().add(client.getObjectFactory().newPrimitiveProperty("OrderId",
- client.getPrimitiveValueBuilder().setValue(id).setType(EdmPrimitiveTypeKind.Int32).build()));
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(id).
+ setType(EdmPrimitiveTypeKind.Int32).build()));
order.addLink(client.getObjectFactory().newEntityNavigationLink(
"Customer", URIUtils.getURI(getServiceRoot(), customer.getEditLink().toASCIIString())));
@@ -446,22 +448,22 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
"Microsoft.Test.OData.Services.AstoriaDefaultService.Message");
message.getProperties().add(client.getObjectFactory().newPrimitiveProperty("MessageId",
- client.getPrimitiveValueBuilder().setValue(1000).
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(1000).
setType(EdmPrimitiveTypeKind.Int32).build()));
message.getProperties().add(client.getObjectFactory().newPrimitiveProperty("FromUsername",
- client.getPrimitiveValueBuilder().setValue("1").
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue("1").
setType(EdmPrimitiveTypeKind.String).build()));
message.getProperties().add(client.getObjectFactory().newPrimitiveProperty("ToUsername",
- client.getPrimitiveValueBuilder().setValue("xlodhxzzusxecbzptxlfxprneoxkn").
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue("xlodhxzzusxecbzptxlfxprneoxkn").
setType(EdmPrimitiveTypeKind.String).build()));
message.getProperties().add(client.getObjectFactory().newPrimitiveProperty("Subject",
- client.getPrimitiveValueBuilder().setValue("Test subject").
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue("Test subject").
setType(EdmPrimitiveTypeKind.String).build()));
message.getProperties().add(client.getObjectFactory().newPrimitiveProperty("Body",
- client.getPrimitiveValueBuilder().setValue("Test body").
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue("Test body").
setType(EdmPrimitiveTypeKind.String).build()));
message.getProperties().add(client.getObjectFactory().newPrimitiveProperty("IsRead",
- client.getPrimitiveValueBuilder().setValue(false).
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(false).
setType(EdmPrimitiveTypeKind.Boolean).build()));
final CommonURIBuilder<?> builder =
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
index 40afeac..fed9ba4 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/EntityUpdateTestITCase.java
@@ -186,7 +186,7 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
final boolean before = message.getProperty("IsRead").getPrimitiveValue().toCastValue(Boolean.class);
message.getProperties().remove(message.getProperty("IsRead"));
message.getProperties().add(client.getObjectFactory().newPrimitiveProperty("IsRead",
- client.getPrimitiveValueBuilder().setValue(!before).
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(!before).
setType(EdmPrimitiveTypeKind.Boolean).build()));
return client.getCUDRequestFactory().getEntityUpdateRequest(UpdateType.MERGE, message);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
index b1e385d..5cc8770 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/NavigationLinkCreateTestITCase.java
@@ -210,9 +210,11 @@ public class NavigationLinkCreateTestITCase extends AbstractTestITCase {
client.getObjectFactory().newEntity("Microsoft.Test.OData.Services.AstoriaDefaultService.Order");
orderEntity.getProperties().add(client.getObjectFactory().newPrimitiveProperty("OrderId",
- client.getPrimitiveValueBuilder().setValue(key).setType(EdmPrimitiveTypeKind.Int32).build()));
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(key).
+ setType(EdmPrimitiveTypeKind.Int32).build()));
orderEntity.getProperties().add(client.getObjectFactory().newPrimitiveProperty("CustomerId",
- client.getPrimitiveValueBuilder().setValue(id).setType(EdmPrimitiveTypeKind.Int32).build()));
+ client.getObjectFactory().newPrimitiveValueBuilder().setValue(id).
+ setType(EdmPrimitiveTypeKind.Int32).build()));
final ODataEntityCreateRequest createReq = client.getCUDRequestFactory().getEntityCreateRequest(
client.getURIBuilder(testStaticServiceRootURL).appendEntitySetSegment("Order").build(),
@@ -268,48 +270,50 @@ public class NavigationLinkCreateTestITCase extends AbstractTestITCase {
// add name attribute
entity.getProperties().add(client.getObjectFactory().newPrimitiveProperty("Name",
- client.getPrimitiveValueBuilder().setText(name).setType(EdmPrimitiveTypeKind.String).build()));
+ client.getObjectFactory().newPrimitiveValueBuilder().setText(name).
+ setType(EdmPrimitiveTypeKind.String).build()));
// add key attribute
if (id != 0) {
entity.getProperties().add(client.getObjectFactory().newPrimitiveProperty("CustomerId",
- client.getPrimitiveValueBuilder().setText(String.valueOf(id)).
+ client.getObjectFactory().newPrimitiveValueBuilder().setText(String.valueOf(id)).
setType(EdmPrimitiveTypeKind.Int32).build()));
}
- final ODataCollectionValue backupContactInfoValue = new ODataCollectionValue(
+ final ODataCollectionValue backupContactInfoValue = getClient().getObjectFactory().newCollectionValue(
"Collection(Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails)");
-
- final ODataComplexValue contactDetails = new ODataComplexValue(
+ final ODataComplexValue contactDetails = getClient().getObjectFactory().newComplexValue(
"Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails");
-
- final ODataCollectionValue altNamesValue = new ODataCollectionValue("Collection(Edm.String)");
- altNamesValue.add(client.getPrimitiveValueBuilder().
+ final ODataCollectionValue altNamesValue = getClient().getObjectFactory().
+ newCollectionValue("Collection(Edm.String)");
+ altNamesValue.add(client.getObjectFactory().newPrimitiveValueBuilder().
setText("My Alternative name").setType(EdmPrimitiveTypeKind.String).build());
contactDetails.add(client.getObjectFactory().newCollectionProperty("AlternativeNames", altNamesValue));
- final ODataCollectionValue emailBagValue = new ODataCollectionValue("Collection(Edm.String)");
- emailBagValue.add(client.getPrimitiveValueBuilder().
+ final ODataCollectionValue emailBagValue = getClient().getObjectFactory().
+ newCollectionValue("Collection(Edm.String)");
+ emailBagValue.add(client.getObjectFactory().newPrimitiveValueBuilder().
setText("altname@mydomain.com").setType(EdmPrimitiveTypeKind.String).build());
contactDetails.add(client.getObjectFactory().newCollectionProperty("EmailBag", emailBagValue));
- final ODataComplexValue contactAliasValue = new ODataComplexValue(
+ final ODataComplexValue contactAliasValue = getClient().getObjectFactory().newComplexValue(
"Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases");
contactDetails.add(client.getObjectFactory().newComplexProperty("ContactAlias", contactAliasValue));
- final ODataCollectionValue aliasAltNamesValue = new ODataCollectionValue("Collection(Edm.String)");
- aliasAltNamesValue.add(client.getPrimitiveValueBuilder().
+ final ODataCollectionValue aliasAltNamesValue = getClient().getObjectFactory().
+ newCollectionValue("Collection(Edm.String)");
+ aliasAltNamesValue.add(client.getObjectFactory().newPrimitiveValueBuilder().
setText("myAlternativeName").setType(EdmPrimitiveTypeKind.String).build());
contactAliasValue.add(client.getObjectFactory().newCollectionProperty("AlternativeNames", aliasAltNamesValue));
- final ODataComplexValue homePhone = new ODataComplexValue(
+ final ODataComplexValue homePhone = getClient().getObjectFactory().newComplexValue(
"Microsoft.Test.OData.Services.AstoriaDefaultService.Phone");
homePhone.add(client.getObjectFactory().newPrimitiveProperty("PhoneNumber",
- client.getPrimitiveValueBuilder().setText("8437568356834568").
+ client.getObjectFactory().newPrimitiveValueBuilder().setText("8437568356834568").
setType(EdmPrimitiveTypeKind.String).build()));
homePhone.add(client.getObjectFactory().newPrimitiveProperty("Extension",
- client.getPrimitiveValueBuilder().setText("124365426534621534423ttrf").
+ client.getObjectFactory().newPrimitiveValueBuilder().setText("124365426534621534423ttrf").
setType(EdmPrimitiveTypeKind.String).
build()));
contactDetails.add(client.getObjectFactory().newComplexProperty("HomePhone", homePhone));
@@ -373,7 +377,8 @@ public class NavigationLinkCreateTestITCase extends AbstractTestITCase {
entity.setMediaEntity(true);
entity.getProperties().add(client.getObjectFactory().newPrimitiveProperty("Information",
- client.getPrimitiveValueBuilder().setText(info).setType(EdmPrimitiveTypeKind.String).build()));
+ client.getObjectFactory().newPrimitiveValueBuilder().setText(info).
+ setType(EdmPrimitiveTypeKind.String).build()));
return entity;
}
// validate newly created entities
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
index bb507e4..d00bf8b 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/OpenTypeTestITCase.java
@@ -93,50 +93,57 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
ODataEntity row = client.getObjectFactory().newEntity("Microsoft.Test.OData.Services.OpenTypesService.Row");
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("Id",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Guid).setValue(guid).
+ client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.Guid).setValue(guid).
build()));
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aString",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.String).setValue("string").
+ client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.String).setValue("string").
build()));
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aBoolean",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Boolean).setValue(true).
+ client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.Boolean).setValue(true).
build()));
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aLong",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Int64).setValue(15L).
+ client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.Int64).setValue(15L).
build()));
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aDouble",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Double).setValue(1.5D).
+ client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.Double).setValue(1.5D).
build()));
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aByte",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.SByte).setValue(Byte.MAX_VALUE).
+ client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.SByte).setValue(Byte.MAX_VALUE).
build()));
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aDate",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.DateTime).setValue(new Date()).
+ client.getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.DateTime).setValue(new Date()).
build()));
final Point point = new Point(Geospatial.Dimension.GEOGRAPHY, null);
point.setX(1.2);
point.setY(2.1);
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aPoint",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyPoint).
+ client.getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyPoint).
setValue(point).build()));
final List<Point> points = new ArrayList<Point>();
points.add(point);
points.add(point);
final MultiPoint multipoint = new MultiPoint(Geospatial.Dimension.GEOMETRY, null, points);
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aMultiPoint",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryMultiPoint).
+ client.getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryMultiPoint).
setValue(multipoint).build()));
final LineString lineString = new LineString(Geospatial.Dimension.GEOMETRY, null, points);
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aLineString",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryLineString).
+ client.getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryLineString).
setValue(lineString).build()));
final List<LineString> lineStrings = new ArrayList<LineString>();
lineStrings.add(lineString);
lineStrings.add(lineString);
final MultiLineString multiLineString = new MultiLineString(Geospatial.Dimension.GEOGRAPHY, null, lineStrings);
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aMultiLineString",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryMultiLineString).
+ client.getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryMultiLineString).
setValue(multiLineString).build()));
final Point otherPoint = new Point(Geospatial.Dimension.GEOGRAPHY, null);
otherPoint.setX(3.4);
@@ -146,14 +153,14 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
points.add(point);
final Polygon polygon = new Polygon(Geospatial.Dimension.GEOGRAPHY, null, points, points);
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aPolygon",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyPolygon).
+ client.getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyPolygon).
setValue(polygon).build()));
final List<Polygon> polygons = new ArrayList<Polygon>();
polygons.add(polygon);
polygons.add(polygon);
final MultiPolygon multiPolygon = new MultiPolygon(Geospatial.Dimension.GEOGRAPHY, null, polygons);
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aMultiPolygon",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyMultiPolygon).
+ client.getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyMultiPolygon).
setValue(multiPolygon).build()));
final List<Geospatial> geospatials = new ArrayList<Geospatial>();
geospatials.add(otherPoint);
@@ -162,46 +169,46 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
geospatials.add(multiPolygon);
final GeospatialCollection geoColl = new GeospatialCollection(Geospatial.Dimension.GEOGRAPHY, null, geospatials);
row.getProperties().add(client.getObjectFactory().newPrimitiveProperty("aCollection",
- client.getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyCollection).
+ client.getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyCollection).
setValue(geoColl).build()));
- final ODataComplexValue contactDetails =
- new ODataComplexValue("Microsoft.Test.OData.Services.OpenTypesService.ContactDetails");
+ final ODataComplexValue contactDetails = client.getObjectFactory().newComplexValue(
+ "Microsoft.Test.OData.Services.OpenTypesService.ContactDetails");
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("FirstContacted",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Binary).setValue("text".getBytes()).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("LastContacted",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.DateTimeOffset).setText("2001-04-05T05:05:05.001+00:01").build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("Contacted",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.DateTime).setText("2001-04-05T05:05:04.001").build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("GUID",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Guid).setValue(UUID.randomUUID()).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("PreferedContactTime",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Time).setText("-P9DT51M10.5063807S").build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("Byte",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Byte).setValue(Integer.valueOf(241)).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("SignedByte",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.SByte).setValue(Byte.MAX_VALUE).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("Double",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Double).setValue(Double.MAX_VALUE).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("Single",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Single).setValue(Float.MAX_VALUE).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("Short",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Int16).setValue(Short.MAX_VALUE).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("Int",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Int32).setValue(Integer.MAX_VALUE).build()));
contactDetails.add(client.getObjectFactory().newPrimitiveProperty("Long",
- client.getPrimitiveValueBuilder().
+ client.getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Int64).setValue(Long.MAX_VALUE).build()));
row.getProperties().add(client.getObjectFactory().newComplexProperty("aContact", contactDetails));
@@ -243,7 +250,7 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
assertEquals(EdmPrimitiveTypeKind.GeographyCollection,
row.getProperty("aCollection").getPrimitiveValue().getTypeKind());
assertEquals("Microsoft.Test.OData.Services.OpenTypesService.ContactDetails",
- row.getProperty("aContact").getComplexValue().getType());
+ row.getProperty("aContact").getComplexValue().getTypeName());
assertEquals(EdmPrimitiveTypeKind.SByte,
row.getProperty("aContact").getComplexValue().get("SignedByte").getPrimitiveValue().getTypeKind());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
index 93384bb..ddcd75f 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/it/v3/PropertyTestITCase.java
@@ -181,7 +181,7 @@ public class PropertyTestITCase extends AbstractTestITCase {
assertNotEquals(newMsg, oldMsg);
- final ODataPrimitiveValue newVal = client.getPrimitiveValueBuilder().setText(newMsg).build();
+ final ODataPrimitiveValue newVal = client.getObjectFactory().newPrimitiveValueBuilder().setText(newMsg).build();
final ODataValueUpdateRequest updateReq =
client.getCUDRequestFactory().getValueUpdateRequest(uriBuilder.build(), type, newVal);
@@ -222,7 +222,7 @@ public class PropertyTestITCase extends AbstractTestITCase {
final int origSize = originalValue.size();
- originalValue.add(client.getPrimitiveValueBuilder().setText(newItem).build());
+ originalValue.add(client.getObjectFactory().newPrimitiveValueBuilder().setText(newItem).build());
assertEquals(origSize + 1, originalValue.size());
final ODataPropertyUpdateRequest updateReq = client.getCUDRequestFactory().
@@ -268,12 +268,12 @@ public class PropertyTestITCase extends AbstractTestITCase {
final int origSize = originalValue.size();
- originalValue.add(client.getPrimitiveValueBuilder().setText(newItem).build());
+ originalValue.add(client.getObjectFactory().newPrimitiveValueBuilder().setText(newItem).build());
assertEquals(origSize + 1, originalValue.size());
final ODataPropertyUpdateRequest updateReq =
client.getCUDRequestFactory().getPropertyCollectionValueUpdateRequest(uriBuilder.build(),
- alternativeNames);
+ alternativeNames);
if (client.getConfiguration().isUseXHTTPMethod()) {
assertEquals(HttpMethod.POST, updateReq.getMethod());
} else {
@@ -315,7 +315,7 @@ public class PropertyTestITCase extends AbstractTestITCase {
assertNotEquals(newMsg, oldMsg);
phoneNumber = client.getObjectFactory().newPrimitiveProperty("PhoneNumber",
- client.getPrimitiveValueBuilder().setText(newMsg).build());
+ client.getObjectFactory().newPrimitiveValueBuilder().setText(newMsg).build());
final ODataPropertyUpdateRequest updateReq =
client.getCUDRequestFactory().getPropertyPrimitiveValueUpdateRequest(uriBuilder.build(), phoneNumber);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
index 04f392a..64301df 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PrimitiveValueTest.java
@@ -57,24 +57,25 @@ public class PrimitiveValueTest extends AbstractTest {
@Test
public void manageInt32() throws EdmPrimitiveTypeException {
final int primitive = -10;
- ODataValue value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Int32).
+ ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Int32).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.Int32, value.asPrimitive().getTypeKind());
assertEquals(Integer.valueOf(primitive), value.asPrimitive().toCastValue(Integer.class));
- value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Int32).setText("9").build();
+ value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.Int32).setText("9").build();
assertEquals("9", value.asPrimitive().toCastValue(Integer.class).toString());
}
@Test
public void manageString() throws EdmPrimitiveTypeException {
final String primitive = UUID.randomUUID().toString();
- ODataValue value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.String).
+ ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.String).
setText(primitive).build();
assertEquals(EdmPrimitiveTypeKind.String, value.asPrimitive().getTypeKind());
assertEquals(primitive, value.toString());
- value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.String).
+ value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.String).
setText("1126a28b-a4af-4bbd-bf0a-2b2c22635565").build();
assertEquals("1126a28b-a4af-4bbd-bf0a-2b2c22635565", value.asPrimitive().toCastValue(String.class).toString());
}
@@ -82,12 +83,12 @@ public class PrimitiveValueTest extends AbstractTest {
@Test
public void manageDecimal() throws EdmPrimitiveTypeException {
final BigDecimal primitive = new BigDecimal("-79228162514264337593543950335");
- ODataValue value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Decimal).
+ ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Decimal).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.Decimal, value.asPrimitive().getTypeKind());
assertEquals(primitive, value.asPrimitive().toCastValue(BigDecimal.class));
- value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Decimal).
+ value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Decimal).
setText("-79228162514264337593543950335").build();
assertEquals("-79228162514264337593543950335", value.asPrimitive().toCastValue(BigDecimal.class).toString());
}
@@ -99,7 +100,7 @@ public class PrimitiveValueTest extends AbstractTest {
expected.set(2013, 0, 10, 2, 0, 0);
expected.set(Calendar.MILLISECOND, 1667673);
- final ODataValue value = getClient().getPrimitiveValueBuilder().
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.DateTime).setValue(expected).build();
assertEquals(EdmPrimitiveTypeKind.DateTime, value.asPrimitive().getTypeKind());
@@ -123,7 +124,7 @@ public class PrimitiveValueTest extends AbstractTest {
public void manageTime() throws EdmPrimitiveTypeException {
final String primitive = "-P9DT51M10.5063807S";
final ODataValue value =
- getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Time).
+ getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Time).
setText(primitive).build();
assertEquals(EdmPrimitiveTypeKind.Time, value.asPrimitive().getTypeKind());
// performed cast to improve the check
@@ -137,7 +138,7 @@ public class PrimitiveValueTest extends AbstractTest {
expected.setTimeZone(TimeZone.getTimeZone("GMT"));
expected.set(2013, 0, 10, 2, 0, 0);
- final ODataValue value = getClient().getPrimitiveValueBuilder().
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.DateTimeOffset).setValue(expected).build();
assertEquals(EdmPrimitiveTypeKind.DateTimeOffset, value.asPrimitive().getTypeKind());
@@ -155,12 +156,12 @@ public class PrimitiveValueTest extends AbstractTest {
@Test
public void manageGuid() throws EdmPrimitiveTypeException {
final UUID primitive = UUID.fromString("1126a28b-a4af-4bbd-bf0a-2b2c22635565");
- ODataValue value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Guid).
+ ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Guid).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.Guid, value.asPrimitive().getTypeKind());
assertEquals(primitive, value.asPrimitive().toCastValue(UUID.class));
- value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Guid).
+ value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Guid).
setText("1126a28b-a4af-4bbd-bf0a-2b2c22635565").build();
assertEquals("1126a28b-a4af-4bbd-bf0a-2b2c22635565", value.asPrimitive().toCastValue(UUID.class).toString());
}
@@ -168,14 +169,15 @@ public class PrimitiveValueTest extends AbstractTest {
@Test
public void manageBinary() throws EdmPrimitiveTypeException {
final byte[] primitive = UUID.randomUUID().toString().getBytes();
- ODataValue value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Binary).
+ ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Binary).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.Binary, value.asPrimitive().getTypeKind());
assertEquals(
Base64.encodeBase64String(primitive),
Base64.encodeBase64String(value.asPrimitive().toCastValue(byte[].class)));
- value = getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.Binary).
+ value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.Binary).
setText(Base64.encodeBase64String("primitive".getBytes())).build();
assertEquals("primitive", new String(value.asPrimitive().toCastValue(byte[].class)));
}
@@ -186,8 +188,8 @@ public class PrimitiveValueTest extends AbstractTest {
primitive.setX(52.8606);
primitive.setY(173.334);
- final ODataValue value =
- getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyPoint).
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeographyPoint).
setValue(primitive).
build();
assertEquals(EdmPrimitiveTypeKind.GeographyPoint, value.asPrimitive().getTypeKind());
@@ -222,8 +224,9 @@ public class PrimitiveValueTest extends AbstractTest {
final LineString primitive = new LineString(Geospatial.Dimension.GEOGRAPHY, null, points);
- final ODataValue value = getClient().getPrimitiveValueBuilder().
- setType(EdmPrimitiveTypeKind.GeographyLineString).setValue(primitive).build();
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeographyLineString).
+ setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.GeographyLineString, value.asPrimitive().getTypeKind());
final Iterator<Point> iter = value.asPrimitive().toCastValue(LineString.class).iterator();
@@ -247,8 +250,9 @@ public class PrimitiveValueTest extends AbstractTest {
final MultiPoint primitive = new MultiPoint(Geospatial.Dimension.GEOMETRY, null, points);
- final ODataValue value = getClient().getPrimitiveValueBuilder().
- setType(EdmPrimitiveTypeKind.GeometryMultiPoint).setValue(primitive).build();
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeometryMultiPoint).
+ setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.GeometryMultiPoint, value.asPrimitive().getTypeKind());
final Iterator<Point> iter = value.asPrimitive().toCastValue(MultiPoint.class).iterator();
@@ -307,8 +311,8 @@ public class PrimitiveValueTest extends AbstractTest {
final MultiLineString primitive = new MultiLineString(Geospatial.Dimension.GEOMETRY, null, lines);
- final ODataValue value =
- getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryMultiLineString).
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeometryMultiLineString).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.GeometryMultiLineString, value.asPrimitive().getTypeKind());
@@ -360,8 +364,8 @@ public class PrimitiveValueTest extends AbstractTest {
final Polygon primitive = new Polygon(Geospatial.Dimension.GEOGRAPHY, null, interior, exterior);
- final ODataValue value =
- getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyPolygon).
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeographyPolygon).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.GeographyPolygon, value.asPrimitive().getTypeKind());
@@ -466,8 +470,8 @@ public class PrimitiveValueTest extends AbstractTest {
final MultiPolygon primitive = new MultiPolygon(Geospatial.Dimension.GEOMETRY, null, polygons);
- final ODataValue value =
- getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryMultiPolygon).
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeometryMultiPolygon).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.GeometryMultiPolygon, value.asPrimitive().getTypeKind());
@@ -512,8 +516,8 @@ public class PrimitiveValueTest extends AbstractTest {
final GeospatialCollection primitive = new GeospatialCollection(Geospatial.Dimension.GEOMETRY, null, collection);
- final ODataValue value =
- getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeometryCollection).
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeometryCollection).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.GeometryCollection, value.asPrimitive().getTypeKind());
@@ -544,8 +548,8 @@ public class PrimitiveValueTest extends AbstractTest {
final GeospatialCollection primitive = new GeospatialCollection(Geospatial.Dimension.GEOGRAPHY, null, collection);
- final ODataValue value =
- getClient().getPrimitiveValueBuilder().setType(EdmPrimitiveTypeKind.GeographyCollection).
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
+ setType(EdmPrimitiveTypeKind.GeographyCollection).
setValue(primitive).build();
assertEquals(EdmPrimitiveTypeKind.GeographyCollection, value.asPrimitive().getTypeKind());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PropertyTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PropertyTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PropertyTest.java
index 597e235..6d46398 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PropertyTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/PropertyTest.java
@@ -49,7 +49,7 @@ public class PropertyTest extends AbstractTest {
public void readPropertyValue() throws IOException {
final InputStream input = getClass().getResourceAsStream("Customer_-10_CustomerId_value.txt");
- final ODataPrimitiveValue value = getClient().getPrimitiveValueBuilder().
+ final ODataPrimitiveValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.String).
setText(IOUtils.toString(input)).
build();
@@ -71,7 +71,7 @@ public class PropertyTest extends AbstractTest {
comparable = written;
} else {
// This is needed because type information gets lost with JSON serialization
- final ODataPrimitiveValue typedValue = getClient().getPrimitiveValueBuilder().
+ final ODataPrimitiveValue typedValue = getClient().getObjectFactory().newPrimitiveValueBuilder().
setType(property.getPrimitiveValue().getTypeKind()).
setText(written.getPrimitiveValue().toString()).
build();
@@ -107,7 +107,8 @@ public class PropertyTest extends AbstractTest {
comparable = written;
} else {
// This is needed because type information gets lost with JSON serialization
- final ODataComplexValue typedValue = new ODataComplexValue(property.getComplexValue().getType());
+ final ODataComplexValue typedValue = getClient().getObjectFactory().
+ newComplexValue(property.getComplexValue().getTypeName());
for (final Iterator<ODataProperty> itor = written.getComplexValue().iterator(); itor.hasNext();) {
final ODataProperty prop = itor.next();
typedValue.add(prop);
@@ -144,7 +145,8 @@ public class PropertyTest extends AbstractTest {
comparable = written;
} else {
// This is needed because type information gets lost with JSON serialization
- final ODataCollectionValue typedValue = new ODataCollectionValue(property.getCollectionValue().getType());
+ final ODataCollectionValue typedValue = getClient().getObjectFactory().
+ newCollectionValue(property.getCollectionValue().getTypeName());
for (final Iterator<ODataValue> itor = written.getCollectionValue().iterator(); itor.hasNext();) {
final ODataValue value = itor.next();
typedValue.add(value);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
index 0fc9b18..e61a9df 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v4/PrimitiveValueTest.java
@@ -41,7 +41,7 @@ public class PrimitiveValueTest extends AbstractTest {
expected.clear();
expected.set(2013, 0, 10, 21, 45, 17);
- final ODataValue value = getClient().getPrimitiveValueBuilder().
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.TimeOfDay).setValue(expected).build();
assertEquals(EdmPrimitiveTypeKind.TimeOfDay, value.asPrimitive().getTypeKind());
@@ -59,7 +59,7 @@ public class PrimitiveValueTest extends AbstractTest {
expected.clear();
expected.set(2013, 0, 10);
- final ODataValue value = getClient().getPrimitiveValueBuilder().
+ final ODataValue value = getClient().getObjectFactory().newPrimitiveValueBuilder().
setType(EdmPrimitiveTypeKind.Date).setValue(expected).build();
assertEquals(EdmPrimitiveTypeKind.Date, value.asPrimitive().getTypeKind());
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java
index 3eb664b..1dbfdf8 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/AbstractODataValue.java
@@ -31,6 +31,20 @@ public abstract class AbstractODataValue implements ODataValue {
private static final long serialVersionUID = 7445422004232581877L;
/**
+ * Type name;
+ */
+ private final String typeName;
+
+ public AbstractODataValue(String typeName) {
+ this.typeName = typeName;
+ }
+
+ @Override
+ public String getTypeName() {
+ return typeName;
+ }
+
+ /**
* Check is is a primitive value.
*
* @return 'TRUE' if primitive; 'FALSE' otherwise.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java
index f583187..d0daf59 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataCollectionValue.java
@@ -18,81 +18,29 @@
*/
package org.apache.olingo.commons.api.domain;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
/**
* OData collection property value.
*/
-public class ODataCollectionValue extends AbstractODataValue implements Iterable<ODataValue> {
-
- private static final long serialVersionUID = -3665659846001987187L;
-
- /**
- * Type name;
- */
- private final String typeName;
-
- /**
- * Values.
- */
- private final List<ODataValue> values = new ArrayList<ODataValue>();
-
- /**
- * Constructor.
- *
- * @param typeName type name.
- */
- public ODataCollectionValue(final String typeName) {
- this.typeName = typeName;
- }
+public interface ODataCollectionValue extends ODataValue, Iterable<ODataValue> {
/**
* Adds a value to the collection.
*
* @param value value to be added.
*/
- public void add(final ODataValue value) {
- if (value.isPrimitive() || value.isComplex()) {
- values.add(value);
- }
- }
+ void add(ODataValue value);
/**
- * Value iterator.
- *
- * @return value iterator.
- */
- @Override
- public Iterator<ODataValue> iterator() {
- return values.iterator();
- }
-
- /**
- * Gets value type name.
+ * Checks if collection is empty.
*
- * @return value type name.
+ * @return 'TRUE' if empty; 'FALSE' otherwise.
*/
- public String getType() {
- return typeName;
- }
+ boolean isEmpty();
/**
* Gets collection size.
*
* @return collection size.
*/
- public int size() {
- return values.size();
- }
-
- /**
- * Checks if collection is empty.
- *
- * @return 'TRUE' if empty; 'FALSE' otherwise.
- */
- public boolean isEmpty() {
- return values.isEmpty();
- }
+ int size();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java
index b973718..ea4d832 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataComplexValue.java
@@ -18,44 +18,17 @@
*/
package org.apache.olingo.commons.api.domain;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
/**
* OData complex property value.
*/
-public class ODataComplexValue extends AbstractODataValue implements Iterable<ODataProperty> {
-
- private static final long serialVersionUID = -1878555027714020431L;
-
- /**
- * Type name.
- */
- private final String typeName;
-
- /**
- * Complex type fields.
- */
- private final Map<String, ODataProperty> fields = new LinkedHashMap<String, ODataProperty>();
-
- /**
- * Constructor.
- *
- * @param type type name.
- */
- public ODataComplexValue(final String typeName) {
- this.typeName = typeName;
- }
+public interface ODataComplexValue extends ODataValue, Iterable<ODataProperty> {
/**
* Adds field to the complex type.
*
* @param field field to be added.
*/
- public void add(final ODataProperty field) {
- fields.put(field.getName(), field);
- }
+ void add(ODataProperty field);
/**
* Gets field.
@@ -63,35 +36,13 @@ public class ODataComplexValue extends AbstractODataValue implements Iterable<OD
* @param name name of the field to be retrieved.
* @return requested field.
*/
- public ODataProperty get(final String name) {
- return fields.get(name);
- }
-
- /**
- * Complex property fields iterator.
- *
- * @return fields iterator.
- */
- @Override
- public Iterator<ODataProperty> iterator() {
- return fields.values().iterator();
- }
-
- /**
- * Gest value type name.
- *
- * @return value type name.
- */
- public String getType() {
- return typeName;
- }
+ ODataProperty get(String name);
/**
* Gets number of fields.
*
* @return number of fields.
*/
- public int size() {
- return fields.size();
- }
+ int size();
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java
index a5826d1..44214ac 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntity.java
@@ -19,122 +19,30 @@
package org.apache.olingo.commons.api.domain;
import java.net.URI;
-import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang3.StringUtils;
/**
* OData entity.
*/
-public class ODataEntity extends AbstractODataPayload implements ODataInvokeResult {
+public interface ODataEntity extends ODataInvokeResult {
- private static final long serialVersionUID = 8360640095932811034L;
+ String getName();
- /**
- * Entity reference.
- */
- private String reference;
-
- /**
- * ETag.
- */
- private String eTag;
-
- /**
- * Media entity flag.
- */
- private boolean mediaEntity = false;
-
- /**
- * In case of media entity, media content type.
- */
- private String mediaContentType;
-
- /**
- * In case of media entity, media content source.
- */
- private String mediaContentSource;
-
- /**
- * Edit link.
- */
- protected URI editLink;
-
- /**
- * Navigation links (might contain in-line entities or feeds).
- */
- protected final List<ODataLink> navigationLinks = new ArrayList<ODataLink>();
-
- /**
- * Association links.
- */
- protected final List<ODataLink> associationLinks = new ArrayList<ODataLink>();
-
- /**
- * Media edit links.
- */
- protected final List<ODataLink> editMediaLinks = new ArrayList<ODataLink>();
-
- /**
- * Operations (legacy, functions, actions).
- */
- protected final List<ODataOperation> operations = new ArrayList<ODataOperation>();
-
- /**
- * Entity properties.
- */
- protected final List<ODataProperty> properties = new ArrayList<ODataProperty>();
-
- /**
- * Constructor.
- *
- * @param name OData entity name.
- */
- public ODataEntity(final String name) {
- super(name);
- }
-
- /**
- * To request entity references in place of the actual entities, the client issues a GET request with /$ref appended
- * to the resource path.
- * <br />
- * If the resource path does not identify an entity or a collection of entities, the service returns 404 Not Found.
- * <br />
- * If the resource path terminates on a collection, the response MUST be the format-specific representation of a
- * collection of entity references pointing to the related entities. If no entities are related, the response is the
- * format-specific representation of an empty collection.
- * <br />
- * If the resource path terminates on a single entity, the response MUST be the format-specific representation of an
- * entity reference pointing to the related single entity. If the resource path terminates on a single entity and no
- * such entity exists, the service returns 404 Not Found.
- *
- * @return entity reference.
- */
- public String getReference() {
- return reference;
- }
-
- public void setReference(final String reference) {
- this.reference = reference;
- }
+ URI getLink();
/**
* Gets ETag.
*
* @return ETag.
*/
- public String getETag() {
- return eTag;
- }
+ String getETag();
/**
* Sets ETag.
*
* @param eTag ETag.
*/
- public void setETag(final String eTag) {
- this.eTag = eTag;
- }
+ void setETag(String eTag);
/**
* Searches for operation with given title.
@@ -142,25 +50,14 @@ public class ODataEntity extends AbstractODataPayload implements ODataInvokeResu
* @param title operation to look for
* @return operation if found with given title, <tt>null</tt> otherwise
*/
- public ODataOperation getOperation(final String title) {
- ODataOperation result = null;
- for (ODataOperation operation : operations) {
- if (title.equals(operation.getTitle())) {
- result = operation;
- }
- }
-
- return result;
- }
+ ODataOperation getOperation(String title);
/**
* Gets operations.
*
* @return operations.
*/
- public List<ODataOperation> getOperations() {
- return this.operations;
- }
+ List<ODataOperation> getOperations();
/**
* Searches for property with given name.
@@ -168,28 +65,14 @@ public class ODataEntity extends AbstractODataPayload implements ODataInvokeResu
* @param name property to look for
* @return property if found with given name, <tt>null</tt> otherwise
*/
- public ODataProperty getProperty(final String name) {
- ODataProperty result = null;
-
- if (StringUtils.isNotBlank(name)) {
- for (ODataProperty property : properties) {
- if (name.equals(property.getName())) {
- result = property;
- }
- }
- }
-
- return result;
- }
+ ODataProperty getProperty(String name);
/**
* Returns OData entity properties.
*
* @return OData entity properties.
*/
- public List<ODataProperty> getProperties() {
- return properties;
- }
+ List<ODataProperty> getProperties();
/**
* Puts the given link into one of available lists, based on its type.
@@ -197,28 +80,7 @@ public class ODataEntity extends AbstractODataPayload implements ODataInvokeResu
* @param link to be added
* @return <tt>true</tt> if the given link was added in one of available lists
*/
- public boolean addLink(final ODataLink link) {
- boolean result = false;
-
- switch (link.getType()) {
- case ASSOCIATION:
- result = associationLinks.contains(link) ? false : associationLinks.add(link);
- break;
-
- case ENTITY_NAVIGATION:
- case ENTITY_SET_NAVIGATION:
- result = navigationLinks.contains(link) ? false : navigationLinks.add(link);
- break;
-
- case MEDIA_EDIT:
- result = editMediaLinks.contains(link) ? false : editMediaLinks.add(link);
- break;
-
- default:
- }
-
- return result;
- }
+ boolean addLink(ODataLink link);
/**
* Removes the given link from any list (association, navigation, edit-media).
@@ -226,120 +88,110 @@ public class ODataEntity extends AbstractODataPayload implements ODataInvokeResu
* @param link to be removed
* @return <tt>true</tt> if the given link was contained in one of available lists
*/
- public boolean removeLink(final ODataLink link) {
- return associationLinks.remove(link) || navigationLinks.remove(link) || editMediaLinks.remove(link);
- }
+ boolean removeLink(ODataLink link);
/**
- * Returns all entity navigation links (including inline entities / feeds).
+ * Returns all entity association links.
*
* @return OData entity links.
*/
- public List<ODataLink> getNavigationLinks() {
- return navigationLinks;
- }
+ List<ODataLink> getAssociationLinks();
/**
- * Returns all entity association links.
+ * Returns all entity navigation links (including inline entities / feeds).
*
* @return OData entity links.
*/
- public List<ODataLink> getAssociationLinks() {
- return associationLinks;
- }
+ List<ODataLink> getNavigationLinks();
/**
* Returns all entity media edit links.
*
* @return OData entity links.
*/
- public List<ODataLink> getEditMediaLinks() {
- return editMediaLinks;
- }
+ List<ODataLink> getEditMediaLinks();
/**
* Returns OData entity edit link.
*
* @return entity edit link.
*/
- public URI getEditLink() {
- return editLink;
- }
+ URI getEditLink();
/**
* Sets OData entity edit link.
*
* @param editLink edit link.
*/
- public void setEditLink(final URI editLink) {
- this.editLink = editLink;
- }
-
- @Override
- public URI getLink() {
- return super.getLink() == null ? getEditLink() : super.getLink();
- }
+ void setEditLink(URI editLink);
/**
* TRUE if read-only entity.
*
* @return TRUE if read-only; FALSE otherwise.
*/
- public boolean isReadOnly() {
- return super.getLink() != null;
- }
+ boolean isReadOnly();
/**
* Checks if the current entity is a media entity.
*
* @return 'TRUE' if media entity; 'FALSE' otherwise.
*/
- public boolean isMediaEntity() {
- return mediaEntity;
- }
+ boolean isMediaEntity();
/**
* Sets media entity flag.
*
* @param isMediaEntity media entity flag value.
*/
- public void setMediaEntity(final boolean isMediaEntity) {
- this.mediaEntity = isMediaEntity;
- }
+ void setMediaEntity(boolean isMediaEntity);
/**
* Gets media content type.
*
* @return media content type.
*/
- public String getMediaContentType() {
- return mediaContentType;
- }
+ String getMediaContentType();
/**
* Sets media content type.
*
* @param mediaContentType media content type.
*/
- public void setMediaContentType(final String mediaContentType) {
- this.mediaContentType = mediaContentType;
- }
+ void setMediaContentType(String mediaContentType);
/**
* Gets media content source.
*
* @return media content source.
*/
- public String getMediaContentSource() {
- return mediaContentSource;
- }
+ String getMediaContentSource();
/**
* Sets media content source.
*
* @param mediaContentSource media content source.
*/
- public void setMediaContentSource(final String mediaContentSource) {
- this.mediaContentSource = mediaContentSource;
- }
+ void setMediaContentSource(String mediaContentSource);
+
+ /**
+ * To request entity references in place of the actual entities, the client issues a GET request with /$ref appended
+ * to the resource path.
+ * <br />
+ * If the resource path does not identify an entity or a collection of entities, the service returns 404 Not Found.
+ * <br />
+ * If the resource path terminates on a collection, the response MUST be the format-specific representation of a
+ * collection of entity references pointing to the related entities. If no entities are related, the response is the
+ * format-specific representation of an empty collection.
+ * <br />
+ * If the resource path terminates on a single entity, the response MUST be the format-specific representation of an
+ * entity reference pointing to the related single entity. If the resource path terminates on a single entity and no
+ * such entity exists, the service returns 404 Not Found.
+ *
+ * @return entity reference.
+ */
+ String getReference();
+
+ void setReference(String reference);
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java
index 083b7ad..99b6962 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataEntitySet.java
@@ -19,102 +19,39 @@
package org.apache.olingo.commons.api.domain;
import java.net.URI;
-import java.util.ArrayList;
import java.util.List;
/**
* OData entity collection. If pagination was used to get this instance, forward page navigation URI will be available.
*/
-public class ODataEntitySet extends AbstractODataPayload implements ODataInvokeResult {
-
- private static final long serialVersionUID = 9039605899821494024L;
-
- /**
- * Link to the next page.
- */
- protected URI next;
-
- /**
- * Number of ODataEntities contained in this feed. If <tt>$inlinecount</tt> was requested, this value comes from
- * there.
- */
- protected Integer count;
-
- /**
- * OData entities contained in this feed.
- */
- protected List<ODataEntity> entities = new ArrayList<ODataEntity>();
-
- /**
- * Constructor.
- */
- public ODataEntitySet() {
- super(null);
- }
-
- /**
- * Constructor.
- *
- * @param next next link.
- */
- public ODataEntitySet(final URI next) {
- super(null);
- this.next = next;
- }
+public interface ODataEntitySet extends ODataInvokeResult {
/**
* Gets next page link.
*
* @return next page link; null value if single page or last page reached.
*/
- public URI getNext() {
- return next;
- }
+ URI getNext();
/**
- * Sets in-line count.
+ * Gets contained entities.
*
- * @param count in-line count value.
+ * @return feed entries.
*/
- public void setCount(final int count) {
- this.count = count;
- }
+ List<ODataEntity> getEntities();
/**
* Gets in-line count.
*
* @return in-line count value.
*/
- public int getCount() {
- return count == null ? entities.size() : count;
- }
-
- /**
- * Adds entity to the current feed.
- *
- * @param entity entity to be added.
- * @return 'FALSE' if already exists; 'TRUE' otherwise.
- */
- public boolean addEntity(final ODataEntity entity) {
- return entities.contains(entity) ? false : entities.add(entity);
- }
+ int getCount();
/**
- * Removes an entity.
+ * Sets in-line count.
*
- * @param entity entity to be removed.
- * @return 'TRUE' in case of success; 'FALSE' otherwise.
+ * @param count in-line count value.
*/
- public boolean removeEntity(final ODataEntity entity) {
- return entities.remove(entity);
- }
+ void setCount(final int count);
- /**
- * Gets contained entities.
- *
- * @return feed entries.
- */
- public List<ODataEntity> getEntities() {
- return entities;
- }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java
index d8cbbbc..7114c5b 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataObjectFactory.java
@@ -22,11 +22,6 @@ import java.net.URI;
/**
* Entry point for generating OData domain objects.
- *
- * @see ODataEntitySet
- * @see ODataEntity
- * @see ODataProperty
- * @see ODataLink
*/
public interface ODataObjectFactory {
@@ -180,6 +175,12 @@ public interface ODataObjectFactory {
*/
ODataLink newMediaEditLink(String name, URI baseURI, String href);
+ ODataPrimitiveValue.Builder newPrimitiveValueBuilder();
+
+ ODataComplexValue newComplexValue(String typeName);
+
+ ODataCollectionValue newCollectionValue(String typeName);
+
/**
* Instantiates a new primitive property.
*
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java
index e43f68c..4cfa303 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataProperty.java
@@ -19,141 +19,73 @@
package org.apache.olingo.commons.api.domain;
import java.io.Serializable;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
/**
* OData entity property.
*/
-public class ODataProperty implements Serializable, ODataInvokeResult {
-
- private static final long serialVersionUID = 926939448778950450L;
-
- /**
- * Property name.
- */
- private final String name;
-
- /**
- * Property value.
- */
- private ODataValue value;
-
- /**
- * Constructor.
- *
- * @param name property name.
- * @param value property value.
- */
- public ODataProperty(final String name, final ODataValue value) {
- this.name = name;
- this.value = value;
- }
+public interface ODataProperty extends ODataInvokeResult, Serializable {
/**
* Returns property name.
*
* @return property name.
*/
- public String getName() {
- return name;
- }
-
- /**
- * Returns property value.
- *
- * @return property value.
- */
- public ODataValue getValue() {
- return value;
- }
+ String getName();
/**
* Checks if has null value.
*
* @return 'TRUE' if has null value; 'FALSE' otherwise.
*/
- public boolean hasNullValue() {
- return this.value == null;
- }
+ boolean hasNullValue();
/**
* Checks if has primitive value.
*
* @return 'TRUE' if has primitive value; 'FALSE' otherwise.
*/
- public boolean hasPrimitiveValue() {
- return !hasNullValue() && this.value.isPrimitive();
- }
+ boolean hasPrimitiveValue();
/**
* Gets primitive value.
*
* @return primitive value if exists; null otherwise.
*/
- public ODataPrimitiveValue getPrimitiveValue() {
- return hasPrimitiveValue() ? this.value.asPrimitive() : null;
- }
+ ODataPrimitiveValue getPrimitiveValue();
/**
- * Checks if has complex value.
- *
- * @return 'TRUE' if has complex value; 'FALSE' otherwise.
- */
- public boolean hasComplexValue() {
- return !hasNullValue() && this.value.isComplex();
- }
-
- /**
- * Gets complex value.
+ * Returns property value.
*
- * @return complex value if exists; null otherwise.
+ * @return property value.
*/
- public ODataComplexValue getComplexValue() {
- return hasComplexValue() ? this.value.asComplex() : null;
- }
+ ODataValue getValue();
/**
* Checks if has collection value.
*
* @return 'TRUE' if has collection value; 'FALSE' otherwise.
*/
- public boolean hasCollectionValue() {
- return !hasNullValue() && this.value.isCollection();
- }
+ boolean hasCollectionValue();
/**
* Gets collection value.
*
* @return collection value if exists; null otherwise.
*/
- public ODataCollectionValue getCollectionValue() {
- return hasCollectionValue() ? this.value.asCollection() : null;
- }
+ ODataCollectionValue getCollectionValue();
/**
- * {@inheritDoc }
+ * Checks if has complex value.
+ *
+ * @return 'TRUE' if has complex value; 'FALSE' otherwise.
*/
- @Override
- public boolean equals(final Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
- }
+ boolean hasComplexValue();
/**
- * {@inheritDoc }
+ * Gets complex value.
+ *
+ * @return complex value if exists; null otherwise.
*/
- @Override
- public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
- }
+ ODataComplexValue getComplexValue();
- /**
- * {@inheritDoc }
- */
- @Override
- public String toString() {
- return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
- }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ceda4740/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java
index b427e8f..6db4b2b 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataValue.java
@@ -26,6 +26,13 @@ import java.io.Serializable;
public interface ODataValue extends Serializable {
/**
+ * Gets value type name.
+ *
+ * @return value type name.
+ */
+ String getTypeName();
+
+ /**
* Check is is a primitive value.
*
* @return 'TRUE' if primitive; 'FALSE' otherwise.