@SuppressWarnings("unchecked") private <E> boolean matchesInstance(E candidate, Object routingValue) { Object identifier = childEntity.getIdentifier(candidate); return Objects.equals(routingValue, identifier); } }
@Override protected <T> Object resolveCommandTarget(CommandMessage<?> msg, T parent, Field field, EntityModel<Object> childEntityModel) { Map<String, Property<Object>> commandHandlerRoutingKeys = extractCommandHandlerRoutingKeys(field, childEntityModel); Object routingValue = commandHandlerRoutingKeys.get(msg.getCommandName()) .getValue(msg.getPayload()); Iterable<?> iterable = ReflectionUtils.getFieldValue(field, parent); return StreamSupport.stream(iterable.spliterator(), false) .filter(i -> Objects.equals(routingValue, childEntityModel.getIdentifier(i))) .findFirst() .orElse(null); }
@SuppressWarnings("unchecked") private <E> boolean matchesInstance(E candidate, Object routingValue) { Object identifier = childEntity.getIdentifier(candidate); return Objects.equals(routingValue, identifier); } }
@Override protected <T> Object resolveCommandTarget(CommandMessage<?> msg, T parent, Field field, EntityModel<Object> childEntityModel) { Map<String, Property<Object>> commandHandlerRoutingKeys = extractCommandHandlerRoutingKeys(field, childEntityModel); Object routingValue = commandHandlerRoutingKeys.get(msg.getCommandName()) .getValue(msg.getPayload()); Iterable<?> iterable = ReflectionUtils.getFieldValue(field, parent); return StreamSupport.stream(iterable.spliterator(), false) .filter(i -> Objects.equals(routingValue, childEntityModel.getIdentifier(i))) .findFirst() .orElse(null); }