private Optional<Policy> checkInitialPolicy(final CreateThing createThing, final JsonObject inlinedPolicy, final ActorRef sender) { try { // Java doesn't permit conversion of this early return into assignment to final variable. return Optional.of(PoliciesModelFactory.newPolicy(inlinedPolicy)); } catch (final JsonRuntimeException | DittoJsonException e) { final String thingId = createThing.getThingId(); final DittoRuntimeException error = PolicyInvalidException.newBuilderForCause(e, thingId) .dittoHeaders(createThing.getDittoHeaders()) .build(); replyToSender(error, sender); } catch (final DittoRuntimeException e) { final DittoHeaders dittoHeaders = createThing.getDittoHeaders(); if (e instanceof PolicyException) { // user error; no need to log stack trace. replyToSender(e.setDittoHeaders(dittoHeaders), sender); } else { reportError("Error during creation of inline policy from JSON", sender, e, dittoHeaders); } } return Optional.empty(); }
signal = adapter.fromAdaptable(jsonifiableAdaptable); } catch (final DittoRuntimeException e) { throw e.setDittoHeaders(e.getDittoHeaders().toBuilder().origin(connectionCorrelationId).build());
messageMappingProcessor.forward(e.setDittoHeaders(DittoHeaders.of(headers)), getContext());
messageMappingProcessor.forward(e.setDittoHeaders(DittoHeaders.of(headers)), getContext());
if (headers != null) { messageMappingProcessor.forward(e.setDittoHeaders(DittoHeaders.of(headers)), getContext());
if (headers != null) { messageMappingProcessor.forward(e.setDittoHeaders(DittoHeaders.of(headers)), getContext());