From 055d868f0c8827e4de7a4fe65177392e4846a688 Mon Sep 17 00:00:00 2001 From: Ajay Kannan Date: Tue, 5 Apr 2016 15:32:09 -0700 Subject: [PATCH] Remove check for empty list and add deprecated to javadoc for meaning in builder. --- .../main/java/com/google/gcloud/datastore/ListValue.java | 1 - .../src/main/java/com/google/gcloud/datastore/Value.java | 5 +++-- .../java/com/google/gcloud/datastore/ValueBuilder.java | 1 + .../java/com/google/gcloud/datastore/DatastoreTest.java | 9 +++++++-- .../java/com/google/gcloud/datastore/ListValueTest.java | 8 +++++++- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ListValue.java b/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ListValue.java index 9d4fe9c186d5..ad73303cd62d 100644 --- a/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ListValue.java +++ b/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ListValue.java @@ -108,7 +108,6 @@ public List> get() { @Override public ListValue build() { - Preconditions.checkState(!get().isEmpty(), "value list could not be empty"); return new ListValue(this); } } diff --git a/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/Value.java b/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/Value.java index 4f3d39f1dae1..4a87e48fa862 100644 --- a/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/Value.java +++ b/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/Value.java @@ -35,7 +35,6 @@ public abstract class Value extends Serializable, B extends BaseBuilder> implements ValueBuilder { @@ -113,11 +111,13 @@ public B excludeFromIndexes(boolean excludeFromIndexes) { return self(); } + @Deprecated @Override public int getMeaning() { return meaning; } + @Deprecated @Override public B meaning(int meaning) { this.meaning = meaning; @@ -144,6 +144,7 @@ private B self() { public abstract P build(); } + @SuppressWarnings("deprecation")

, B extends BaseBuilder> Value(ValueBuilder builder) { valueType = builder.getValueType(); excludeFromIndexes = builder.getExcludeFromIndexes(); diff --git a/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ValueBuilder.java b/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ValueBuilder.java index 236118a18620..0a24db3ff5a6 100644 --- a/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ValueBuilder.java +++ b/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ValueBuilder.java @@ -33,6 +33,7 @@ public interface ValueBuilder, B extends ValueBuilder>emptyList()); private static final DateTimeValue DATE_TIME_VALUE = new DateTimeValue(DateTime.now()); private static final LatLngValue LAT_LNG_VALUE = new LatLngValue(new LatLng(37.422035, -122.084124)); @@ -110,6 +111,7 @@ public class DatastoreTest { .set("bool", BOOL_VALUE) .set("partial1", EntityValue.of(PARTIAL_ENTITY1)) .set("list", LIST_VALUE2) + .set("emptyList", EMPTY_LIST_VALUE) .build(); private static final Entity ENTITY2 = Entity.builder(ENTITY1).key(KEY2).remove("str") .set("name", "Dan").setNull("null").set("age", 20).build(); @@ -738,7 +740,9 @@ public void testGet() { assertEquals(LAT_LNG_VALUE, value5); FullEntity value6 = entity.getEntity("partial1"); assertEquals(PARTIAL_ENTITY1, value6); - assertEquals(6, entity.names().size()); + ListValue value7 = entity.getValue("emptyList"); + assertEquals(EMPTY_LIST_VALUE, value7); + assertEquals(7, entity.names().size()); assertFalse(entity.contains("bla")); } @@ -783,7 +787,8 @@ public void testGetArrayNoDeferredResults() { assertEquals(ENTITY2, partial2); assertEquals(ValueType.BOOLEAN, entity3.getValue("bool").type()); assertEquals(LAT_LNG_VALUE, entity3.getValue("latLng")); - assertEquals(7, entity3.names().size()); + assertEquals(EMPTY_LIST_VALUE, entity3.getValue("emptyList")); + assertEquals(8, entity3.names().size()); assertFalse(entity3.contains("bla")); try { entity3.getString("str"); diff --git a/gcloud-java-datastore/src/test/java/com/google/gcloud/datastore/ListValueTest.java b/gcloud-java-datastore/src/test/java/com/google/gcloud/datastore/ListValueTest.java index 6245c715d476..41551939eba4 100644 --- a/gcloud-java-datastore/src/test/java/com/google/gcloud/datastore/ListValueTest.java +++ b/gcloud-java-datastore/src/test/java/com/google/gcloud/datastore/ListValueTest.java @@ -24,6 +24,7 @@ import org.junit.Test; +import java.util.Collections; import java.util.List; public class ListValueTest { @@ -37,12 +38,14 @@ public void testToBuilder() throws Exception { assertEquals(value, value.toBuilder().build()); } - @SuppressWarnings("deprecation") @Test public void testOf() throws Exception { ListValue value = ListValue.of(CONTENT); assertEquals(CONTENT, value.get()); assertFalse(value.excludeFromIndexes()); + value = ListValue.of(Collections.>emptyList()); + assertEquals(Collections.>emptyList(), value.get()); + assertFalse(value.excludeFromIndexes()); } @SuppressWarnings("deprecation") @@ -59,5 +62,8 @@ public void testBuilder() throws Exception { builder.addValue(v); } assertEquals(CONTENT, builder.build().get()); + + builder = builder.set(Collections.>emptyList()); + assertEquals(Collections.>emptyList(), builder.build().get()); } }