use of com.google.protobuf.Any in project core-java by SpineEventEngine.
the class TypeConverterShould method map_uint64_to_long.
@Test
public void map_uint64_to_long() {
final long value = 42L;
final UInt64Value wrapped = UInt64Value.newBuilder().setValue(value).build();
final Any packed = AnyPacker.pack(wrapped);
final long mapped = TypeConverter.toObject(packed, Long.class);
assertEquals(value, mapped);
}
use of com.google.protobuf.Any in project core-java by SpineEventEngine.
the class TypeConverterShould method checkMapping.
private static void checkMapping(Object javaObject, Message protoObject) {
final Any wrapped = AnyPacker.pack(protoObject);
final Object mappedJavaObject = TypeConverter.toObject(wrapped, javaObject.getClass());
assertEquals(javaObject, mappedJavaObject);
final Any restoredWrapped = TypeConverter.toAny(mappedJavaObject);
final Message restored = AnyPacker.unpack(restoredWrapped);
assertEquals(protoObject, restored);
}
use of com.google.protobuf.Any in project core-java by SpineEventEngine.
the class TypeConverterShould method map_uint32_to_int.
@Test
public void map_uint32_to_int() {
final int value = 42;
final UInt32Value wrapped = UInt32Value.newBuilder().setValue(value).build();
final Any packed = AnyPacker.pack(wrapped);
final int mapped = TypeConverter.toObject(packed, Integer.class);
assertEquals(value, mapped);
}
use of com.google.protobuf.Any in project core-java by SpineEventEngine.
the class MatchFilter method checkFields.
private static boolean checkFields(Message object, FieldFilter filter) {
final Optional<Field> fieldOptional = Field.forFilter(object.getClass(), filter);
if (!fieldOptional.isPresent()) {
return false;
}
final Field field = fieldOptional.get();
final Optional<Message> value;
try {
value = field.getValue(object);
} catch (IllegalStateException ignored) {
// Wrong Message class -> does not satisfy the criteria.
return false;
}
final Collection<Any> expectedAnys = filter.getValueList();
final Collection<Message> expectedValues = Collections2.transform(expectedAnys, unpackFunc());
if (!value.isPresent()) {
/* If there is no value in the field return `true`
if the list of required values is also empty. */
final boolean nothingIsExpected = expectedValues.isEmpty();
return nothingIsExpected;
}
final boolean result = expectedValues.contains(value.get());
return result;
}
use of com.google.protobuf.Any in project core-java by SpineEventEngine.
the class AnyPackerShould method unpack_spine_message_from_Any.
@Test
public void unpack_spine_message_from_Any() {
final Any any = AnyPacker.pack(spineMsg);
final UserId actual = AnyPacker.unpack(any);
assertEquals(spineMsg, actual);
}
Aggregations