private static void validateMessageFeatureId(final String expectedFeatureId, final Message<?> message, final DittoHeaders dittoHeaders) { final Optional<String> messageFeatureIdOptional = message.getFeatureId(); if (!messageFeatureIdOptional.isPresent()) { final String msgPattern = "The Message did not contain a feature ID at all! Expected was feature ID <{0}>."; throw FeatureIdInvalidException.newBuilder() .message(MessageFormat.format(msgPattern, expectedFeatureId)) .dittoHeaders(dittoHeaders) .build(); } final String messageFeatureId = messageFeatureIdOptional.get(); if (!messageFeatureId.equals(expectedFeatureId)) { final String msgPattern = "The Message contained feature ID <{0}>. Expected was feature ID <{1}>."; throw FeatureIdInvalidException.newBuilder() .message(MessageFormat.format(msgPattern, messageFeatureId, expectedFeatureId)) .dittoHeaders(dittoHeaders) .build(); } }
private static void validateMessageFeatureId(final String expectedFeatureId, final Message<?> message, final DittoHeaders dittoHeaders) { final Optional<String> messageFeatureIdOptional = message.getFeatureId(); if (!messageFeatureIdOptional.isPresent()) { final String msgPattern = "The Message did not contain a feature ID at all! Expected was feature ID <{0}>."; throw FeatureIdInvalidException.newBuilder() .message(MessageFormat.format(msgPattern, expectedFeatureId)) .dittoHeaders(dittoHeaders) .build(); } final String messageFeatureId = messageFeatureIdOptional.get(); if (!messageFeatureId.equals(expectedFeatureId)) { final String msgPattern = "The Message contained feature ID <{0}>. Expected was feature ID <{1}>."; throw FeatureIdInvalidException.newBuilder() .message(MessageFormat.format(msgPattern, messageFeatureId, expectedFeatureId)) .dittoHeaders(dittoHeaders) .build(); } }
@Override default JsonPointer getResourcePath() { final Message<?> message = getMessage(); final String box = message.getDirection() == MessageDirection.TO ? MessageCommand.INBOX_PREFIX : MessageCommand.OUTBOX_PREFIX; final JsonPointer pathSuffix = JsonFactory.newPointer(JsonKey.of(box), JsonKey.of(MessageCommand.MESSAGES_PREFIX), JsonKey.of(message.getSubject())); final JsonPointer path = message.getFeatureId() .map(fId -> JsonFactory.newPointer(JsonKey.of(MessageCommand.FEATURES_PREFIX), JsonKey.of(fId))) .orElse(JsonPointer.empty()); return path.append(pathSuffix); }
@Override default JsonPointer getResourcePath() { final Message<?> message = getMessage(); final String box = message.getDirection() == MessageDirection.TO ? MessageCommand.INBOX_PREFIX : MessageCommand.OUTBOX_PREFIX; final JsonPointer pathSuffix = JsonFactory.newPointer(JsonKey.of(box), JsonKey.of(MessageCommand.MESSAGES_PREFIX), JsonKey.of(message.getSubject())); final JsonPointer path = message.getFeatureId() .map(fId -> JsonFactory.newPointer(JsonKey.of(MessageCommand.FEATURES_PREFIX), JsonKey.of(fId))) .orElse(JsonPointer.empty()); return path.append(pathSuffix); }
@Override default JsonPointer getResourcePath() { final Message<?> message = getMessage(); final String box = message.getDirection() == MessageDirection.TO ? INBOX_PREFIX : OUTBOX_PREFIX; final JsonPointer pathSuffix = JsonPointer.empty() .addLeaf(JsonKey.of(box)) .addLeaf(JsonKey.of(MESSAGES_PREFIX)) .addLeaf(JsonKey.of(message.getSubject())); final JsonPointer path = message.getFeatureId().map(fId -> JsonPointer.empty() .addLeaf(JsonKey.of(FEATURES_PREFIX)) .addLeaf(JsonKey.of(fId))) .orElse(JsonPointer.empty()); return path.append(pathSuffix); }
@Override default JsonPointer getResourcePath() { final Message<?> message = getMessage(); final String box = message.getDirection() == MessageDirection.TO ? INBOX_PREFIX : OUTBOX_PREFIX; final JsonPointer pathSuffix = JsonPointer.empty() .addLeaf(JsonKey.of(box)) .addLeaf(JsonKey.of(MESSAGES_PREFIX)) .addLeaf(JsonKey.of(message.getSubject())); final JsonPointer path = message.getFeatureId().map(fId -> JsonPointer.empty() .addLeaf(JsonKey.of(FEATURES_PREFIX)) .addLeaf(JsonKey.of(fId))) .orElse(JsonPointer.empty()); return path.append(pathSuffix); }