test_class.declarator: CONNECTION_ID = TestConstants.createRandomConnectionId()
test_class.modifier: private static final
test_class.original_string: private static final ConnectionId CONNECTION_ID = TestConstants.createRandomConnectionId();
test_class.type: ConnectionId
test_class.var_name: CONNECTION_ID
test_class.declarator: defaultSpecificConfig = new HashMap<>()
test_class.modifier: private static
test_class.original_string: private static Map<String, String> defaultSpecificConfig = new HashMap<>();
test_class.type: Map<String, String>
test_class.var_name: defaultSpecificConfig
test_class.declarator: actorSystem
test_class.modifier: private static
test_class.original_string: private static ActorSystem actorSystem;
test_class.type: ActorSystem
test_class.var_name: actorSystem
test_class.declarator: underTest
test_class.modifier: private
test_class.original_string: private HttpPushValidator underTest;
test_class.type: HttpPushValidator
test_class.var_name: underTest
test_class.file: services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/httppush/HttpPushValidatorTest.java
test_class.identifier: HttpPushValidatorTest
test_case.body: @Test
      public void testValidTargetAddress() {
          final DittoHeaders emptyDittoHeaders = DittoHeaders.empty();
          underTest.validate(getConnectionWithTarget("POST:events"), emptyDittoHeaders, actorSystem);
          underTest.validate(getConnectionWithTarget("PUT:ditto/{{thing:id}}"), emptyDittoHeaders, actorSystem);
          underTest.validate(getConnectionWithTarget("PATCH:/{{thing:namespace}}/{{thing:name}}"), emptyDittoHeaders,
                  actorSystem);
          underTest.validate(getConnectionWithTarget("PUT:events#{{topic:full}}"), emptyDittoHeaders, actorSystem);
          underTest.validate(getConnectionWithTarget("POST:ditto?{{header:x}}"), emptyDittoHeaders, actorSystem);
          underTest.validate(getConnectionWithTarget("POST:"), emptyDittoHeaders, actorSystem);
      }
test_case.class_method_signature: HttpPushValidatorTest.testValidTargetAddress()
test_case.full_signature: @Test public void testValidTargetAddress()
test_case.identifier: testValidTargetAddress
test_case.invocations: empty validate getConnectionWithTarget validate getConnectionWithTarget validate getConnectionWithTarget validate getConnectionWithTarget validate getConnectionWithTarget validate getConnectionWithTarget
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testValidTargetAddress()
focal_class.declarator: HTTPS = "https"
focal_class.modifier: private static final
focal_class.original_string: private static final String HTTPS = "https";
focal_class.type: String
focal_class.var_name: HTTPS
focal_class.declarator: HTTP = "http"
focal_class.modifier: private static final
focal_class.original_string: private static final String HTTP = "http";
focal_class.type: String
focal_class.var_name: HTTP
focal_class.declarator: ACCEPTED_SCHEMES = Collections.unmodifiableList(Arrays.asList(HTTP, HTTPS))
focal_class.modifier: private static final
focal_class.original_string: private static final Collection<String> ACCEPTED_SCHEMES = Collections.unmodifiableList(Arrays.asList(HTTP, HTTPS));
focal_class.type: Collection<String>
focal_class.var_name: ACCEPTED_SCHEMES
focal_class.declarator: SECURE_SCHEMES = Collections.singletonList(HTTPS)
focal_class.modifier: private static final
focal_class.original_string: private static final Collection<String> SECURE_SCHEMES = Collections.singletonList(HTTPS);
focal_class.type: Collection<String>
focal_class.var_name: SECURE_SCHEMES
focal_class.declarator: SUPPORTED_METHODS =
              Collections.unmodifiableList(Arrays.asList(HttpMethods.PUT, HttpMethods.PATCH, HttpMethods.POST))
focal_class.modifier: private static final
focal_class.original_string: private static final Collection<HttpMethod> SUPPORTED_METHODS =
              Collections.unmodifiableList(Arrays.asList(HttpMethods.PUT, HttpMethods.PATCH, HttpMethods.POST));
focal_class.type: Collection<HttpMethod>
focal_class.var_name: SUPPORTED_METHODS
focal_class.declarator: SUPPORTED_METHOD_NAMES = SUPPORTED_METHODS.stream()
              .map(HttpMethod::name)
              .collect(Collectors.joining(", "))
focal_class.modifier: private static final
focal_class.original_string: private static final String SUPPORTED_METHOD_NAMES = SUPPORTED_METHODS.stream()
              .map(HttpMethod::name)
              .collect(Collectors.joining(", "));
focal_class.type: String
focal_class.var_name: SUPPORTED_METHOD_NAMES
focal_class.file: services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/httppush/HttpPushValidator.java
focal_class.identifier: HttpPushValidator
focal_class.class_method_signature: HttpPushValidator.newInstance()
focal_class.full_signature: public static HttpPushValidator newInstance()
focal_class.identifier: newInstance
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: HttpPushValidator
focal_class.signature: HttpPushValidator newInstance()
focal_class.class_method_signature: HttpPushValidator.type()
focal_class.full_signature: @Override public ConnectionType type()
focal_class.identifier: type
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ConnectionType
focal_class.signature: ConnectionType type()
focal_class.class_method_signature: HttpPushValidator.validate(final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)
focal_class.full_signature: @Override public void validate(final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)
focal_class.identifier: validate
focal_class.modifiers: @Override public
focal_class.parameters: (final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)
focal_class.return: void
focal_class.signature: void validate(final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)
focal_class.class_method_signature: HttpPushValidator.validateSource(final Source source, final DittoHeaders dittoHeaders,
              final Supplier<String> sourceDescription)
focal_class.full_signature: @Override protected void validateSource(final Source source, final DittoHeaders dittoHeaders,
              final Supplier<String> sourceDescription)
focal_class.identifier: validateSource
focal_class.modifiers: @Override protected
focal_class.parameters: (final Source source, final DittoHeaders dittoHeaders,
              final Supplier<String> sourceDescription)
focal_class.return: void
focal_class.signature: void validateSource(final Source source, final DittoHeaders dittoHeaders,
              final Supplier<String> sourceDescription)
focal_class.class_method_signature: HttpPushValidator.validateTarget(final Target target, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.full_signature: @Override protected void validateTarget(final Target target, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.identifier: validateTarget
focal_class.modifiers: @Override protected
focal_class.parameters: (final Target target, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.return: void
focal_class.signature: void validateTarget(final Target target, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.class_method_signature: HttpPushValidator.validateTargetAddress(final String targetAddress, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.full_signature: private void validateTargetAddress(final String targetAddress, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.identifier: validateTargetAddress
focal_class.modifiers: private
focal_class.parameters: (final String targetAddress, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.return: void
focal_class.signature: void validateTargetAddress(final String targetAddress, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescription)
focal_class.class_method_signature: HttpPushValidator.validateHttpMethod(final String methodName, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescriptor)
focal_class.full_signature: private void validateHttpMethod(final String methodName, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescriptor)
focal_class.identifier: validateHttpMethod
focal_class.modifiers: private
focal_class.parameters: (final String methodName, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescriptor)
focal_class.return: void
focal_class.signature: void validateHttpMethod(final String methodName, final DittoHeaders dittoHeaders,
              final Supplier<String> targetDescriptor)
focal_class.class_method_signature: HttpPushValidator.validateParallelism(final Map<String, String> specificConfig, final DittoHeaders dittoHeaders)
focal_class.full_signature: private void validateParallelism(final Map<String, String> specificConfig, final DittoHeaders dittoHeaders)
focal_class.identifier: validateParallelism
focal_class.modifiers: private
focal_class.parameters: (final Map<String, String> specificConfig, final DittoHeaders dittoHeaders)
focal_class.return: void
focal_class.signature: void validateParallelism(final Map<String, String> specificConfig, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: HttpPushValidator.parallelismValidationFailed(final String parallelismString,
              final DittoHeaders headers)
focal_class.full_signature: private static ConnectionConfigurationInvalidException parallelismValidationFailed(final String parallelismString,
              final DittoHeaders headers)
focal_class.identifier: parallelismValidationFailed
focal_class.modifiers: private static
focal_class.parameters: (final String parallelismString,
              final DittoHeaders headers)
focal_class.return: ConnectionConfigurationInvalidException
focal_class.signature: ConnectionConfigurationInvalidException parallelismValidationFailed(final String parallelismString,
              final DittoHeaders headers)
focal_class.class_method_signature: HttpPushValidator.isSecureScheme(final String scheme)
focal_class.full_signature: static boolean isSecureScheme(final String scheme)
focal_class.identifier: isSecureScheme
focal_class.modifiers: static
focal_class.parameters: (final String scheme)
focal_class.return: boolean
focal_class.signature: boolean isSecureScheme(final String scheme)
focal_class.superclass: extends AbstractProtocolValidator
focal_method.body: @Override
      public void validate(final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem) {
          validateUriScheme(connection, dittoHeaders, ACCEPTED_SCHEMES, SECURE_SCHEMES, "HTTP");
          validateSourceConfigs(connection, dittoHeaders);
          validateTargetConfigs(connection, dittoHeaders);
          validatePayloadMappings(connection, actorSystem, dittoHeaders);
          validateParallelism(connection.getSpecificConfig(), dittoHeaders);
      }
focal_method.class_method_signature: HttpPushValidator.validate(final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)
focal_method.full_signature: @Override public void validate(final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)
focal_method.identifier: validate
focal_method.invocations: validateUriScheme validateSourceConfigs validateTargetConfigs validatePayloadMappings validateParallelism getSpecificConfig
focal_method.modifiers: @Override public
focal_method.parameters: (final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)
focal_method.return: void
focal_method.signature: void validate(final Connection connection, final DittoHeaders dittoHeaders, final ActorSystem actorSystem)