@Override public RetrieveFeatureResponse setDittoHeaders(final DittoHeaders dittoHeaders) { return of(thingId, feature, dittoHeaders); }
@Override public RetrieveFeatureResponse setDittoHeaders(final DittoHeaders dittoHeaders) { return of(thingId, feature, dittoHeaders); }
@Nonnull @Override public RetrieveFeatureResponse retrieved(final Feature feature) { return RetrieveFeatureResponse.of(command.getFeatureId(), feature, command.getDittoHeaders()); }
@Nonnull @Override public RetrieveFeatureResponse retrieved(final Feature feature) { return RetrieveFeatureResponse.of(command.getFeatureId(), feature, command.getDittoHeaders()); }
private Result getFeatureResult(final Features features, final String thingId, final RetrieveFeature command, @Nullable final Thing thing) { final String featureId = command.getFeatureId(); final DittoHeaders dittoHeaders = command.getDittoHeaders(); return features.getFeature(featureId) .map(feature -> getFeatureJson(feature, command)) .map(featureJson -> RetrieveFeatureResponse.of(thingId, featureId, featureJson, dittoHeaders)) .map(response -> ResultFactory.newQueryResult(command, thing, response, this)) .orElseGet(() -> ResultFactory.newErrorResult( ExceptionFactory.featureNotFound(thingId, featureId, dittoHeaders))); }
private Result getFeatureResult(final Features features, final String thingId, final RetrieveFeature command, @Nullable final Thing thing) { final String featureId = command.getFeatureId(); final DittoHeaders dittoHeaders = command.getDittoHeaders(); return features.getFeature(featureId) .map(feature -> getFeatureJson(feature, command)) .map(featureJson -> RetrieveFeatureResponse.of(thingId, featureId, featureJson, dittoHeaders)) .map(response -> ResultFactory.newQueryResult(command, thing, response, this)) .orElseGet(() -> ResultFactory.newErrorResult( ExceptionFactory.featureNotFound(thingId, featureId, dittoHeaders))); }
@Override public RetrieveFeatureResponse setEntity(final JsonValue entity) { checkNotNull(entity, "entity"); return of(thingId, getFeatureId(), entity.asObject(), getDittoHeaders()); }
@Override public RetrieveFeatureResponse setEntity(final JsonValue entity) { checkNotNull(entity, "entity"); return of(thingId, getFeatureId(), entity.asObject(), getDittoHeaders()); }
/** * Creates a response to a {@link RetrieveFeature} command from a JSON object. * * @param jsonObject the JSON object of which the response is to be created. * @param dittoHeaders the headers of the preceding command. * @return the response. * @throws NullPointerException if any argument is {@code null}. * @throws org.eclipse.ditto.json.JsonParseException if the passed in {@code jsonObject} was not in the expected * format. */ public static RetrieveFeatureResponse fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders) { return new CommandResponseJsonDeserializer<RetrieveFeatureResponse>(TYPE, jsonObject) .deserialize((statusCode) -> { final String thingId = jsonObject.getValueOrThrow(ThingQueryCommandResponse.JsonFields.JSON_THING_ID); final String extractedFeatureId = jsonObject.getValueOrThrow(JSON_FEATURE_ID); final JsonObject extractedFeatureJsonObject = jsonObject.getValueOrThrow(JSON_FEATURE); final Feature extractedFeature = (null != extractedFeatureJsonObject) ? ThingsModelFactory.newFeatureBuilder(extractedFeatureJsonObject) .useId(extractedFeatureId) .build() : ThingsModelFactory.nullFeature(extractedFeatureId); return of(thingId, extractedFeature, dittoHeaders); }); }
/** * Creates a response to a {@link RetrieveFeature} command from a JSON object. * * @param jsonObject the JSON object of which the response is to be created. * @param dittoHeaders the headers of the preceding command. * @return the response. * @throws NullPointerException if any argument is {@code null}. * @throws org.eclipse.ditto.json.JsonParseException if the passed in {@code jsonObject} was not in the expected * format. */ public static RetrieveFeatureResponse fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders) { return new CommandResponseJsonDeserializer<RetrieveFeatureResponse>(TYPE, jsonObject) .deserialize((statusCode) -> { final String thingId = jsonObject.getValueOrThrow(ThingQueryCommandResponse.JsonFields.JSON_THING_ID); final String extractedFeatureId = jsonObject.getValueOrThrow(JSON_FEATURE_ID); final JsonObject extractedFeatureJsonObject = jsonObject.getValueOrThrow(JSON_FEATURE); final Feature extractedFeature = (null != extractedFeatureJsonObject) ? ThingsModelFactory.newFeatureBuilder(extractedFeatureJsonObject) .useId(extractedFeatureId) .build() : ThingsModelFactory.nullFeature(extractedFeatureId); return of(thingId, extractedFeature, dittoHeaders); }); }
.of(thingIdFrom(adaptable), featureIdFrom(adaptable), featurePropertiesFrom(adaptable), dittoHeadersFrom(adaptable)));
.of(thingIdFrom(adaptable), featureIdFrom(adaptable), featurePropertiesFrom(adaptable), dittoHeadersFrom(adaptable)));