} else { // List List<com.google.protobuf.Value> mergedList = new ArrayList<>(); mergedList.addAll(last.getListValue().getValuesList()); concatLists(mergedList, first.getListValue().getValuesList()); merged = com.google.protobuf.Value.newBuilder()
case LIST_VALUE: List<Object> list = new ArrayList<>(); for (Value val : any.getListValue().getValuesList()) { list.add(fromProto(val));
private static Object valueToObject(Value value) { switch (value.getKindCase()) { case NULL_VALUE: return null; case NUMBER_VALUE: return value.getNumberValue(); case STRING_VALUE: return value.getStringValue(); case BOOL_VALUE: return value.getBoolValue(); case STRUCT_VALUE: return new StructMap(value.getStructValue()); case LIST_VALUE: return Lists.transform(value.getListValue().getValuesList(), VALUE_TO_OBJECT); default: throw new IllegalArgumentException(String.format("Unsupported protobuf value %s", value)); } }
case 6: hash = (37 * hash) + LIST_VALUE_FIELD_NUMBER; hash = (53 * hash) + getListValue().hashCode(); break; case 0:
break; case 6: result = result && getListValue() .equals(other.getListValue()); break; case 0:
list.add(null); } else { ListValue structValue = value.getListValue(); list.add(decodeStructValue(elementType, structValue));
case ARRAY: checkType(fieldType, proto, KindCase.LIST_VALUE); ListValue listValue = proto.getListValue(); return decodeArrayValue(fieldType.getArrayElementType(), listValue); case STRUCT: checkType(fieldType, proto, KindCase.LIST_VALUE); ListValue structValue = proto.getListValue(); return decodeStructValue(fieldType, structValue); default:
mergeListValue(other.getListValue()); break;
kind == KindCase.STRING_VALUE ? value.getStringValue() : new ArrayList<com.google.protobuf.Value>(value.getListValue().getValuesList()); while (current.getChunkedValue() && pos == current.getValuesCount()) { if (!ensureReady(StreamValue.RESULT)) { } else { concatLists( (List<com.google.protobuf.Value>) merged, newValue.getListValue().getValuesList());
/** * <pre> * Represents a repeated `Value`. * </pre> * * <code>optional .google.protobuf.ListValue list_value = 6;</code> */ public com.google.protobuf.ListValue getListValue() { return instance.getListValue(); } /**
} else { // List List<com.google.protobuf.Value> mergedList = new ArrayList<>(); mergedList.addAll(last.getListValue().getValuesList()); concatLists(mergedList, first.getListValue().getValuesList()); merged = com.google.protobuf.Value.newBuilder()
private static Object valueToObject(Value value) { switch (value.getKindCase()) { case NULL_VALUE: return null; case NUMBER_VALUE: return value.getNumberValue(); case STRING_VALUE: return value.getStringValue(); case BOOL_VALUE: return value.getBoolValue(); case STRUCT_VALUE: return new StructMap(value.getStructValue()); case LIST_VALUE: return Lists.transform(value.getListValue().getValuesList(), VALUE_TO_OBJECT); default: throw new IllegalArgumentException(String.format("Unsupported protobuf value %s", value)); } }
case LIST_VALUE: List<Object> list = new ArrayList<>(); for (Value val : any.getListValue().getValuesList()) { list.add(fromProto(val));
private static JsonElement valueToJsonElement(Value value) { if (value.hasStructValue()) { return structToJsonObject(value.getStructValue()); } else if (value.hasListValue()) { JsonArray values = new JsonArray(); for (Value listElement : value.getListValue().getValuesList()) { values.add(valueToJsonElement(listElement)); } return values; } else if (value.getKindCase().equals(Value.KindCase.NULL_VALUE)) { return JsonNull.INSTANCE; } else if (value.getKindCase().equals(Value.KindCase.BOOL_VALUE)) { return new JsonPrimitive(value.getBoolValue()); } else if (value.getKindCase().equals(Value.KindCase.STRING_VALUE)) { return new JsonPrimitive(value.getStringValue()); } else if (value.getKindCase().equals(Value.KindCase.NUMBER_VALUE)) { return new JsonPrimitive(value.getNumberValue()); } else { throw new ClarifaiException("Unknown metadata Value field type."); } } }
list.add(null); } else { ListValue structValue = value.getListValue(); list.add(decodeStructValue(elementType, structValue));
@Test public void itReadsListValue() throws IOException { String json = "{\"value\":[\"test\"]}"; HasValue valueWrapper = camelCase().readValue(json, HasValue.class); assertThat(valueWrapper.hasValue()).isTrue(); Value value = valueWrapper.getValue(); ListValue list = ListValue.newBuilder().addValues(Value.newBuilder().setStringValue("test").build()).build(); switch (value.getKindCase()) { case LIST_VALUE: assertThat(value.getListValue()).isEqualTo(list); break; default: fail("Unexpected value kind: " + value.getKindCase()); } }
case ARRAY: checkType(fieldType, proto, KindCase.LIST_VALUE); ListValue listValue = proto.getListValue(); return decodeArrayValue(fieldType.getArrayElementType(), listValue); case STRUCT: checkType(fieldType, proto, KindCase.LIST_VALUE); ListValue structValue = proto.getListValue(); return decodeStructValue(fieldType, structValue); default:
@Test public void itReadsNestedListValues() throws IOException { String json = "{\"listValue\":[[\"nested\"]]}"; HasListValue message = camelCase().readValue(json, HasListValue.class); assertThat(message.hasListValue()).isTrue(); assertThat(message.getListValue().getValuesList()).hasSize(1); Value value = message.getListValue().getValues(0); ListValue list = ListValue.newBuilder().addValues(Value.newBuilder().setStringValue("nested")).build(); switch (value.getKindCase()) { case LIST_VALUE: assertThat(value.getListValue()).isEqualToComparingFieldByField(list); break; default: fail("Unexpected value kind: " + value.getKindCase()); } }
@Test public void itReadsMixedListValue() throws IOException { String json = "{\"value\":[null,1.5,\"test\",true,{\"key\":\"nested\"},[\"nested\"]]}"; HasValue message = camelCase().readValue(json, HasValue.class); assertThat(message.hasValue()).isTrue(); Value value = message.getValue(); switch (value.getKindCase()) { case LIST_VALUE: ListValue list = value.getListValue(); Value nested = Value.newBuilder().setStringValue("nested").build(); Struct struct = Struct.newBuilder().putFields("key", nested).build(); ListValue nestedList = ListValue.newBuilder().addValues(nested).build(); assertThat(list.getValuesCount()).isEqualTo(6); assertThat(list.getValues(0)).isEqualTo(Value.newBuilder().setNullValue(NullValue.NULL_VALUE).build()); assertThat(list.getValues(1)).isEqualTo(Value.newBuilder().setNumberValue(1.5).build()); assertThat(list.getValues(2)).isEqualTo(Value.newBuilder().setStringValue("test").build()); assertThat(list.getValues(3)).isEqualTo(Value.newBuilder().setBoolValue(true).build()); assertThat(list.getValues(4)).isEqualTo(Value.newBuilder().setStructValue(struct).build()); assertThat(list.getValues(5)).isEqualTo(Value.newBuilder().setListValue(nestedList).build()); break; default: fail("Unexpected value kind: " + value.getKindCase()); } } }
kind == KindCase.STRING_VALUE ? value.getStringValue() : new ArrayList<com.google.protobuf.Value>(value.getListValue().getValuesList()); while (current.getChunkedValue() && pos == current.getValuesCount()) { if (!ensureReady(StreamValue.RESULT)) { } else { concatLists( (List<com.google.protobuf.Value>) merged, newValue.getListValue().getValuesList());