@Override public <T> FeatureProperties set(final JsonFieldDefinition<T> fieldDefinition, @Nullable final T value) { return determineResult(() -> wrapped.set(fieldDefinition, value)); }
private static JsonObject setFieldInHierarchy(final JsonObject target, final JsonPointer pointer, final JsonField jsonField) { if (1 >= pointer.getLevelCount()) { return target.set(jsonField); } final JsonKey rootKey = pointer.getRoot().orElse(ROOT_KEY); final JsonObject newTarget = target.getValue(rootKey) .filter(JsonValue::isObject) .filter(jsonValue -> !jsonValue.isNull()) .map(JsonValue::asObject) .orElseGet(ImmutableJsonObject::empty); // let the recursion begin ]:-) return target.setValue(rootKey, setFieldInHierarchy(newTarget, pointer.nextLevel(), jsonField)); }
@Override public FeatureProperties set(final JsonField field) { return determineResult(() -> wrapped.set(field)); }
private static JsonObject setFieldInHierarchy(final JsonObject target, final JsonPointer pointer, final JsonField jsonField) { if (1 >= pointer.getLevelCount()) { return target.set(jsonField); } final JsonKey rootKey = pointer.getRoot().orElse(ROOT_KEY); final JsonObject newTarget = target.getValue(rootKey) .filter(JsonValue::isObject) .filter(jsonValue -> !jsonValue.isNull()) .map(JsonValue::asObject) .orElseGet(ImmutableJsonObject::empty); // let the recursion begin ]:-) return target.setValue(rootKey, setFieldInHierarchy(newTarget, pointer.nextLevel(), jsonField)); }
@Override public <T> Attributes set(final JsonFieldDefinition<T> fieldDefinition, @Nullable final T value) { return determineResult(() -> wrapped.set(fieldDefinition, value)); }
@Override public Attributes set(final JsonField field) { return determineResult(() -> wrapped.set(field)); }
@Override public FeatureProperties set(final JsonField field) { return determineResult(() -> wrapped.set(field)); }
@Override public Attributes set(final JsonField field) { return determineResult(() -> wrapped.set(field)); }
@Override public <T> FeatureProperties set(final JsonFieldDefinition<T> fieldDefinition, @Nullable final T value) { return determineResult(() -> wrapped.set(fieldDefinition, value)); }
@Override public <T> Attributes set(final JsonFieldDefinition<T> fieldDefinition, @Nullable final T value) { return determineResult(() -> wrapped.set(fieldDefinition, value)); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { final JsonObject thingJson = thing.toJson(schemaVersion, FieldType.regularOrSpecial()); final JsonObject withInlinePolicyThingJson = getInitialPolicy().map(ip -> thingJson.set(JSON_INLINE_POLICY, ip)).orElse(thingJson); final JsonObject fullThingJson = getPolicyIdOrPlaceholder().map( containedPolicyIdOrPlaceholder -> withInlinePolicyThingJson.set(JSON_COPY_POLICY_FROM, containedPolicyIdOrPlaceholder)).orElse(withInlinePolicyThingJson); return Optional.of(fullThingJson); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { final JsonObject thingJson = thing.toJson(schemaVersion, FieldType.regularOrSpecial()); final JsonObject withInlinePolicyThingJson = getInitialPolicy().map(ip -> thingJson.set(JSON_INLINE_POLICY, ip)).orElse(thingJson); final JsonObject fullThingJson = getPolicyIdOrPlaceholder().map( containedPolicyIdOrPlaceholder -> withInlinePolicyThingJson.set(JSON_COPY_POLICY_FROM, containedPolicyIdOrPlaceholder)).orElse(withInlinePolicyThingJson); return Optional.of(fullThingJson); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { final JsonObject thingJson = thing.toJson(schemaVersion, FieldType.regularOrSpecial()); final JsonObject withInlinePolicyThingJson = getInitialPolicy().map(ip -> thingJson.set(JSON_INLINE_POLICY, ip)).orElse(thingJson); final JsonObject fullThingJson = getPolicyIdOrPlaceholder().map( containedPolicyIdOrPlaceholder -> withInlinePolicyThingJson.set(JSON_POLICY_ID_OR_PLACEHOLDER, containedPolicyIdOrPlaceholder)).orElse(withInlinePolicyThingJson); return Optional.of(fullThingJson); }
@Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion) { final JsonObject thingJson = thing.toJson(schemaVersion, FieldType.regularOrSpecial()); final JsonObject withInlinePolicyThingJson = getInitialPolicy().map(ip -> thingJson.set(JSON_INLINE_POLICY, ip)).orElse(thingJson); final JsonObject fullThingJson = getPolicyIdOrPlaceholder().map( containedPolicyIdOrPlaceholder -> withInlinePolicyThingJson.set(JSON_POLICY_ID_OR_PLACEHOLDER, containedPolicyIdOrPlaceholder)).orElse(withInlinePolicyThingJson); return Optional.of(fullThingJson); }
@Override public <T> Attributes set(final JsonFieldDefinition<T> fieldDefinition, @Nullable final T value) { return ImmutableAttributes.of(JsonFactory.newObject().set(fieldDefinition, value)); }
@Override public <T> Attributes set(final JsonFieldDefinition<T> fieldDefinition, @Nullable final T value) { return ImmutableAttributes.of(JsonFactory.newObject().set(fieldDefinition, value)); }
@Override public Attributes set(final JsonField field) { return ImmutableAttributes.of(JsonFactory.newObject().set(field)); }
@Override public Attributes set(final JsonField field) { return ImmutableAttributes.of(JsonFactory.newObject().set(field)); }
static Optional<JsonArray> migrateTargets(@Nonnull final JsonObject connectionJsonObject, final JsonArray authContext) { return connectionJsonObject.getValue(Connection.JsonFields.TARGETS) .map(targetsArray -> IntStream.range(0, targetsArray.getSize()) .mapToObj(index -> targetsArray.get(index) .filter(JsonValue::isObject) .map(JsonValue::asObject) .map(object -> { if (object.contains(Target.JsonFields.AUTHORIZATION_CONTEXT.getPointer())) { // keep the authContext if it was already set in the target return object; } else { return object.set(Target.JsonFields.AUTHORIZATION_CONTEXT, authContext); } }) .orElse(null) ).collect(JsonCollectors.valuesToArray()) ); } }
static Optional<JsonArray> migrateTargets(@Nonnull final JsonObject connectionJsonObject, final JsonArray authContext) { return connectionJsonObject.getValue(Connection.JsonFields.TARGETS) .map(targetsArray -> IntStream.range(0, targetsArray.getSize()) .mapToObj(index -> targetsArray.get(index) .filter(JsonValue::isObject) .map(JsonValue::asObject) .map(object -> { if (object.contains(Target.JsonFields.AUTHORIZATION_CONTEXT.getPointer())) { // keep the authContext if it was already set in the target return object; } else { return object.set(Target.JsonFields.AUTHORIZATION_CONTEXT, authContext); } }) .orElse(null) ).collect(JsonCollectors.valuesToArray()) ); } }