本文整理了Java中org.eclipse.ditto.json.JsonObject.toBuilder()
方法的一些代码示例,展示了JsonObject.toBuilder()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonObject.toBuilder()
方法的具体详情如下:
包路径:org.eclipse.ditto.json.JsonObject
类名称:JsonObject
方法名:toBuilder
[英]Returns a new mutable builder with a fluent API for a JsonObject. The returned builder is already initialised with the data of the this JSON object. This method is useful if an existing JSON object should be strongly modified but the amount of creating objects should be kept low at the same time.
[中]返回一个新的可变生成器,其中包含JsonObject的流畅API。已使用此JSON对象的数据初始化返回的生成器。如果现有的JSON对象应该被强烈修改,但同时创建对象的数量应该保持在较低的水平,则此方法非常有用。
代码示例来源:origin: eclipse/ditto
@Override
public JsonObject apply(final JsonObject connectionJsonObject) {
final Optional<JsonArray> sources = connectionJsonObject.getValue(Connection.JsonFields.SOURCES);
if (sources.isPresent() && needsSourceFilterMigration(connectionJsonObject)) {
final JsonArray sourcesArray = sources.get().stream()
.filter(JsonValue::isObject)
.map(JsonValue::asObject)
.map(MigrateSourceFilters::migrateSourceFilters)
.collect(JsonCollectors.valuesToArray());
return connectionJsonObject.toBuilder().set(Connection.JsonFields.SOURCES, sourcesArray).build();
} else {
return connectionJsonObject;
}
}
代码示例来源:origin: org.eclipse.ditto/ditto-services-connectivity-messaging
@Override
public JsonObject apply(final JsonObject connectionJsonObject) {
final Optional<JsonArray> sources = connectionJsonObject.getValue(Connection.JsonFields.SOURCES);
if (sources.isPresent() && needsSourceFilterMigration(connectionJsonObject)) {
final JsonArray sourcesArray = sources.get().stream()
.filter(JsonValue::isObject)
.map(JsonValue::asObject)
.map(MigrateSourceFilters::migrateSourceFilters)
.collect(JsonCollectors.valuesToArray());
return connectionJsonObject.toBuilder().set(Connection.JsonFields.SOURCES, sourcesArray).build();
} else {
return connectionJsonObject;
}
}
代码示例来源:origin: org.eclipse.ditto/ditto-services-connectivity-messaging
static JsonObject migrateSourceFilters(final JsonObject source) {
return source.getValue(Enforcement.JsonFields.FILTERS)
.filter(JsonValue::isArray)
.map(JsonValue::asArray)
.map(a -> JsonFactory.newObjectBuilder()
.set(Enforcement.JsonFields.INPUT, ConnectivityModelFactory.SOURCE_ADDRESS_ENFORCEMENT)
.set(Enforcement.JsonFields.FILTERS, a)
.build())
.map(enforcement -> source.toBuilder()
.remove(Enforcement.JsonFields.FILTERS)
.set(Source.JsonFields.ENFORCEMENT, enforcement))
.map(JsonObjectBuilder::build)
.orElse(source);
}
}
代码示例来源:origin: eclipse/ditto
static JsonObject migrateSourceFilters(final JsonObject source) {
return source.getValue(Enforcement.JsonFields.FILTERS)
.filter(JsonValue::isArray)
.map(JsonValue::asArray)
.map(a -> JsonFactory.newObjectBuilder()
.set(Enforcement.JsonFields.INPUT, ConnectivityModelFactory.SOURCE_ADDRESS_ENFORCEMENT)
.set(Enforcement.JsonFields.FILTERS, a)
.build())
.map(enforcement -> source.toBuilder()
.remove(Enforcement.JsonFields.FILTERS)
.set(Source.JsonFields.ENFORCEMENT, enforcement))
.map(JsonObjectBuilder::build)
.orElse(source);
}
}
代码示例来源:origin: org.eclipse.ditto/ditto-model-connectivity
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) {
final JsonObjectBuilder jsonObjectBuilder = delegate.toJson(schemaVersion, predicate).toBuilder();
jsonObjectBuilder.set(MqttSource.JsonFields.QOS, qos);
return jsonObjectBuilder.build();
}
代码示例来源:origin: org.eclipse.ditto/ditto-model-connectivity
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) {
final JsonObjectBuilder jsonObjectBuilder = delegate.toJson(schemaVersion, predicate).toBuilder();
jsonObjectBuilder.set(MqttSource.JsonFields.QOS, qos);
return jsonObjectBuilder.build();
}
代码示例来源:origin: eclipse/ditto
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) {
final JsonObjectBuilder jsonObjectBuilder = delegate.toJson(schemaVersion, predicate).toBuilder();
jsonObjectBuilder.set(MqttSource.JsonFields.QOS, qos);
return jsonObjectBuilder.build();
}
代码示例来源:origin: eclipse/ditto
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> predicate) {
final JsonObjectBuilder jsonObjectBuilder = delegate.toJson(schemaVersion, predicate).toBuilder();
jsonObjectBuilder.set(MqttSource.JsonFields.QOS, qos);
return jsonObjectBuilder.build();
}
代码示例来源:origin: org.eclipse.ditto/ditto-services-connectivity-messaging
@Override
public JsonObject apply(final JsonObject connectionJsonObject) {
final Optional<JsonArray> globalAuthorizationContext = connectionJsonObject.getValue(AUTHORIZATION_CONTEXT);
if (globalAuthorizationContext.isPresent()) {
// in the old, deprecated format, use the global authorization context as sources and targets contexts
final JsonObjectBuilder migrationConnectionBuilder = connectionJsonObject.toBuilder();
final JsonArray authContext = globalAuthorizationContext.get();
MigrateAuthorizationContexts.migrateSources(connectionJsonObject, authContext)
.ifPresent(s -> migrationConnectionBuilder.set(Connection.JsonFields.SOURCES, s));
MigrateAuthorizationContexts.migrateTargets(connectionJsonObject, authContext)
.ifPresent(t -> migrationConnectionBuilder.set(Connection.JsonFields.TARGETS, t));
return migrationConnectionBuilder.build();
} else {
// no migration required
return connectionJsonObject;
}
}
代码示例来源:origin: eclipse/ditto
@Override
public JsonObject apply(final JsonObject connectionJsonObject) {
final Optional<JsonArray> globalAuthorizationContext = connectionJsonObject.getValue(AUTHORIZATION_CONTEXT);
if (globalAuthorizationContext.isPresent()) {
// in the old, deprecated format, use the global authorization context as sources and targets contexts
final JsonObjectBuilder migrationConnectionBuilder = connectionJsonObject.toBuilder();
final JsonArray authContext = globalAuthorizationContext.get();
MigrateAuthorizationContexts.migrateSources(connectionJsonObject, authContext)
.ifPresent(s -> migrationConnectionBuilder.set(Connection.JsonFields.SOURCES, s));
MigrateAuthorizationContexts.migrateTargets(connectionJsonObject, authContext)
.ifPresent(t -> migrationConnectionBuilder.set(Connection.JsonFields.TARGETS, t));
return migrationConnectionBuilder.build();
} else {
// no migration required
return connectionJsonObject;
}
}
代码示例来源:origin: eclipse/ditto
private static Optional<Policy> getInlinedOrDefaultPolicyForCreateThing(final CreateThing createThing) {
final Optional<JsonObject> initialPolicy = createThing.getInitialPolicy();
if (initialPolicy.isPresent()) {
final JsonObject policyJson = initialPolicy.get();
final JsonObjectBuilder policyJsonBuilder = policyJson.toBuilder();
final Thing thing = createThing.getThing();
if (thing.getPolicyId().isPresent() || !policyJson.contains(Policy.JsonFields.ID.getPointer())) {
final String policyId = thing.getPolicyId().orElse(createThing.getThingId());
policyJsonBuilder.set(Policy.JsonFields.ID, policyId);
}
return Optional.of(PoliciesModelFactory.newPolicy(policyJsonBuilder.build()));
} else {
return getDefaultPolicy(createThing.getDittoHeaders().getAuthorizationContext(), createThing.getThingId());
}
}
代码示例来源:origin: eclipse/ditto
private JsonObject createThingJsonObjectForPut(final String jsonString, final String thingId) {
final JsonObject inputJson = wrapJsonRuntimeException(() -> JsonFactory.newObject(jsonString));
final JsonObjectBuilder outputJsonBuilder = inputJson.toBuilder();
final Optional<JsonValue> optThingId = inputJson.getValue(Thing.JsonFields.ID.getPointer());
// verifies that thing ID agrees with ID from route
if (optThingId.isPresent()) {
final JsonValue thingIdFromBody = optThingId.get();
if (!thingIdFromBody.isString() || !thingId.equals(thingIdFromBody.asString())) {
throw ThingIdNotExplicitlySettableException.newBuilder(false).build();
}
} else {
outputJsonBuilder.set(Thing.JsonFields.ID, thingId).build();
}
return outputJsonBuilder.build();
}
代码示例来源:origin: eclipse/ditto
private void reportAggregatedThingAndPolicy(
final RetrieveThing retrieveThing,
final RetrieveThingResponse retrieveThingResponse,
final Policy policy,
final Enforcer enforcer,
final ActorRef sender) {
final RetrieveThingResponse limitedView =
buildJsonViewForThingQueryCommandResponse(retrieveThingResponse, enforcer);
final JsonObject inlinedPolicy =
policy.toInlinedJson(retrieveThing.getImplementedSchemaVersion(), FieldType.notHidden());
final JsonObject thingWithInlinedPolicy = limitedView.getEntity().asObject().toBuilder()
.setAll(inlinedPolicy)
.build();
replyToSender(limitedView.setEntity(thingWithInlinedPolicy), sender);
}
代码示例来源:origin: eclipse/ditto
private static Thing createThingForPost(final String jsonString) {
final JsonObject inputJson = wrapJsonRuntimeException(() -> JsonFactory.newObject(jsonString));
if (inputJson.contains(Thing.JsonFields.ID.getPointer())) {
throw ThingIdNotExplicitlySettableException.newBuilder(true).build();
}
final String thingId = ThingBuilder.generateRandomThingId();
final JsonObjectBuilder outputJsonBuilder = inputJson.toBuilder();
outputJsonBuilder.set(Thing.JsonFields.ID.getPointer(), thingId);
return ThingsModelFactory.newThingBuilder(outputJsonBuilder.build())
.setId(thingId)
.build();
}
内容来源于网络,如有侵权,请联系作者删除!