/** * Returns a new instance of {@code MessageHeadersBuilder}. * * @param direction the direction of the message. * @param thingId the thing ID of the message. * @param subject the subject of the message. * @return the instance. * @throws NullPointerException if any argument is {@code null}. * @throws IllegalArgumentException if {@code thingId} or {@code subject} is empty. * @throws SubjectInvalidException if {@code subject} is invalid. */ public static MessageHeadersBuilder newInstance(final MessageDirection direction, final CharSequence thingId, final CharSequence subject) { checkNotNull(direction, MessageHeaderDefinition.DIRECTION.getKey()); argumentNotEmpty(thingId, MessageHeaderDefinition.THING_ID.getKey()); argumentNotEmpty(subject, MessageHeaderDefinition.SUBJECT.getKey()); final Map<String, String> initialHeaders = new HashMap<>(); initialHeaders.put(MessageHeaderDefinition.DIRECTION.getKey(), direction.toString()); initialHeaders.put(MessageHeaderDefinition.THING_ID.getKey(), thingId.toString()); initialHeaders.put(MessageHeaderDefinition.SUBJECT.getKey(), subject.toString()); return of(initialHeaders); }
dittoHeadersBuilder.putHeader(SUBJECT.getKey(), topicPath.getSubject().orElse("")); adaptable.getPayload().getPath().getDirection().ifPresent(direction -> dittoHeadersBuilder.putHeader(DIRECTION.getKey(), direction.name())); adaptable.getPayload().getPath().getFeatureId().ifPresent(featureId -> dittoHeadersBuilder.putHeader(FEATURE_ID.getKey(), featureId));
dittoHeadersBuilder.putHeader(SUBJECT.getKey(), topicPath.getSubject().orElse("")); adaptable.getPayload().getPath().getDirection().ifPresent(direction -> dittoHeadersBuilder.putHeader(DIRECTION.getKey(), direction.name())); adaptable.getPayload().getPath().getFeatureId().ifPresent(featureId -> dittoHeadersBuilder.putHeader(FEATURE_ID.getKey(), featureId));