org.eclipse.ditto.json.JsonArray.get()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(7.2k)|赞(0)|评价(0)|浏览(84)

本文整理了Java中org.eclipse.ditto.json.JsonArray.get()方法的一些代码示例,展示了JsonArray.get()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonArray.get()方法的具体详情如下:
包路径:org.eclipse.ditto.json.JsonArray
类名称:JsonArray
方法名:get

JsonArray.get介绍

[英]Returns the JSON value at the specified position in this array.
[中]返回此数组中指定位置的JSON值。

代码示例

代码示例来源:origin: eclipse/ditto

private static JsonValue getOrThrow(final JsonArray jsonArray, final int index) {
  return jsonArray.get(index).orElseThrow(() -> {
    final String msgPattern = "JsonArray did not contain a value for index <{0}>!";
    return new NullPointerException(MessageFormat.format(msgPattern, index));
  });
}

代码示例来源:origin: eclipse/ditto

private static List<Source> getSources(final JsonObject jsonObject, final ConnectionType type) {
  final Optional<JsonArray> sourcesArray = jsonObject.getValue(JsonFields.SOURCES);
  if (sourcesArray.isPresent()) {
    final JsonArray values = sourcesArray.get();
    return IntStream.range(0, values.getSize())
        .mapToObj(index -> values.get(index)
            .filter(JsonValue::isObject)
            .map(JsonValue::asObject)
            .map(valueAsObject -> ConnectivityModelFactory.sourceFromJson(valueAsObject, index, type)))
        .filter(Optional::isPresent)
        .map(Optional::get)
        .collect(Collectors.toList());
  } else {
    return Collections.emptyList();
  }
}

代码示例来源:origin: org.eclipse.ditto/ditto-model-connectivity

private static List<Source> getSources(final JsonObject jsonObject, final ConnectionType type) {
  final Optional<JsonArray> sourcesArray = jsonObject.getValue(JsonFields.SOURCES);
  if (sourcesArray.isPresent()) {
    final JsonArray values = sourcesArray.get();
    return IntStream.range(0, values.getSize())
        .mapToObj(index -> values.get(index)
            .filter(JsonValue::isObject)
            .map(JsonValue::asObject)
            .map(valueAsObject -> ConnectivityModelFactory.sourceFromJson(valueAsObject, index, type)))
        .filter(Optional::isPresent)
        .map(Optional::get)
        .collect(Collectors.toList());
  } else {
    return Collections.emptyList();
  }
}

代码示例来源:origin: org.eclipse.ditto/ditto-services-connectivity-messaging

@Override
public ExternalMessage apply(final ExternalMessage externalMessage) {
  final AuthorizationContext authorizationContext = getAuthorizationContextFromMessage(externalMessage);
  final AuthorizationContext filteredContext =
      PlaceholderFilter.filterAuthorizationContext(authorizationContext, externalMessage.getHeaders());
  final JsonArray authSubjectsArray = mapAuthorizationContextToSubjectsArray(filteredContext);
  final ExternalMessage externalMessageWithSourceHeader = authSubjectsArray.get(0)
      .map(JsonValue::asString)
      .map(firstAuthorizationSubject -> externalMessage.withHeader(DittoHeaderDefinition.SOURCE.getKey(),
          firstAuthorizationSubject))
      .orElse(externalMessage);
  return externalMessageWithSourceHeader.withHeader(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey(),
      authSubjectsArray.toString());
}

代码示例来源:origin: org.eclipse.ditto/ditto-services-connectivity-messaging

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())
        );
  }
}

代码示例来源:origin: eclipse/ditto

@Override
public ExternalMessage apply(final ExternalMessage externalMessage) {
  final AuthorizationContext authorizationContext = getAuthorizationContextFromMessage(externalMessage);
  final AuthorizationContext filteredContext =
      PlaceholderFilter.filterAuthorizationContext(authorizationContext, externalMessage.getHeaders());
  final JsonArray authSubjectsArray = mapAuthorizationContextToSubjectsArray(filteredContext);
  final ExternalMessage externalMessageWithSourceHeader = authSubjectsArray.get(0)
      .map(JsonValue::asString)
      .map(firstAuthorizationSubject -> externalMessage.withHeader(DittoHeaderDefinition.SOURCE.getKey(),
          firstAuthorizationSubject))
      .orElse(externalMessage);
  return externalMessageWithSourceHeader.withHeader(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey(),
      authSubjectsArray.toString());
}

代码示例来源:origin: org.eclipse.ditto/ditto-services-connectivity-messaging

static Optional<JsonArray> migrateSources(@Nonnull final JsonObject connectionJsonObject,
    final JsonArray authContext) {
  return connectionJsonObject.getValue(Connection.JsonFields.SOURCES)
      .map(sourcesArray -> IntStream.range(0, sourcesArray.getSize())
          .mapToObj(index -> sourcesArray.get(index)
              .filter(JsonValue::isObject)
              .map(JsonValue::asObject)
              .map(object -> {
                if (object.contains(Source.JsonFields.AUTHORIZATION_CONTEXT.getPointer())) {
                  // keep the authContext if it was already set in the target
                  return object;
                } else {
                  return object.set(Source.JsonFields.AUTHORIZATION_CONTEXT, authContext);
                }
              })
              .orElse(null)
          ).collect(JsonCollectors.valuesToArray())
      );
}

代码示例来源:origin: eclipse/ditto

static Optional<JsonArray> migrateSources(@Nonnull final JsonObject connectionJsonObject,
    final JsonArray authContext) {
  return connectionJsonObject.getValue(Connection.JsonFields.SOURCES)
      .map(sourcesArray -> IntStream.range(0, sourcesArray.getSize())
          .mapToObj(index -> sourcesArray.get(index)
              .filter(JsonValue::isObject)
              .map(JsonValue::asObject)
              .map(object -> {
                if (object.contains(Source.JsonFields.AUTHORIZATION_CONTEXT.getPointer())) {
                  // keep the authContext if it was already set in the target
                  return object;
                } else {
                  return object.set(Source.JsonFields.AUTHORIZATION_CONTEXT, authContext);
                }
              })
              .orElse(null)
          ).collect(JsonCollectors.valuesToArray())
      );
}

代码示例来源:origin: eclipse/ditto

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())
        );
  }
}

代码示例来源:origin: eclipse/ditto

private static void compareValuesWithFieldKey(final JsonKey key,
    final JsonValue expectedFieldValue,
    final JsonValue actualFieldValue,
    final boolean compareFieldDefinitions) {
  if (expectedFieldValue.isObject() && actualFieldValue.isObject() && !compareFieldDefinitions) {
    DittoJsonAssertions.assertThat(actualFieldValue.asObject())
        .isEqualToIgnoringFieldDefinitions(expectedFieldValue.asObject());
  } else if (areArraysOfEqualSize(expectedFieldValue, actualFieldValue) && !compareFieldDefinitions) {
    final JsonArray expectedArray = expectedFieldValue.asArray();
    final JsonArray actualArray = actualFieldValue.asArray();
    IntStream.range(0, expectedArray.getSize())
        .forEach(i ->
            expectedArray.get(i).ifPresent(expectedElement ->
                actualArray.get(i).ifPresent(actualElement ->
                    compareValuesWithFieldKey(key, expectedElement, actualElement, false))));
  } else {
    Assertions.assertThat(actualFieldValue)
        .as("Values of JsonField <%s> are equal", key)
        .isEqualTo(expectedFieldValue);
  }
}

相关文章

微信公众号

最新文章

更多