@Override public Optional<Enforcement> getEnforcement() { return delegate.getEnforcement(); }
@Override public Optional<Enforcement> getEnforcement() { return delegate.getEnforcement(); }
@Override protected void validateSource(final Source source, final DittoHeaders dittoHeaders, final Supplier<String> sourceDescription) { source.getEnforcement().ifPresent(enforcement -> { validateTemplate(enforcement.getInput(), PlaceholderFactory.newHeadersPlaceholder(), dittoHeaders); enforcement.getFilters().forEach(filterTemplate -> validateTemplate(filterTemplate, PlaceholderFactory.newThingPlaceholder(), dittoHeaders)); }); source.getHeaderMapping().ifPresent(mapping -> validateHeaderMapping(mapping, dittoHeaders)); }
@Override protected void validateSource(final Source source, final DittoHeaders dittoHeaders, final Supplier<String> sourceDescription) { source.getEnforcement().ifPresent(enforcement -> { validateTemplate(enforcement.getInput(), PlaceholderFactory.newHeadersPlaceholder(), dittoHeaders); enforcement.getFilters().forEach(filterTemplate -> validateTemplate(filterTemplate, PlaceholderFactory.newThingPlaceholder(), dittoHeaders)); }); source.getHeaderMapping().ifPresent(mapping -> validateHeaderMapping(mapping, dittoHeaders)); }
@Override protected void validateSource(final Source source, final DittoHeaders dittoHeaders, final Supplier<String> sourceDescription) { source.getEnforcement().ifPresent(enforcement -> { validateTemplate(enforcement.getInput(), PlaceholderFactory.newHeadersPlaceholder(), dittoHeaders); enforcement.getFilters().forEach(filterTemplate -> validateTemplate(filterTemplate, PlaceholderFactory.newThingPlaceholder(), dittoHeaders)); }); source.getHeaderMapping().ifPresent(mapping -> validateHeaderMapping(mapping, dittoHeaders)); }
@Override protected void validateSource(final Source source, final DittoHeaders dittoHeaders, final Supplier<String> sourceDescription) { source.getEnforcement().ifPresent(enforcement -> { validateTemplate(enforcement.getInput(), PlaceholderFactory.newHeadersPlaceholder(), dittoHeaders); enforcement.getFilters().forEach(filterTemplate -> validateTemplate(filterTemplate, PlaceholderFactory.newThingPlaceholder(), dittoHeaders)); }); source.getHeaderMapping().ifPresent(mapping -> validateHeaderMapping(mapping, dittoHeaders)); }
private AmqpConsumerActor(final String sourceAddress, final MessageConsumer messageConsumer, final ActorRef messageMappingProcessor, final Source source) { this.sourceAddress = checkNotNull(sourceAddress, "sourceAddress"); this.messageConsumer = checkNotNull(messageConsumer); this.messageMappingProcessor = checkNotNull(messageMappingProcessor, "messageMappingProcessor"); checkNotNull(source, "source"); authorizationContext = source.getAuthorizationContext(); final Enforcement enforcement = source.getEnforcement().orElse(null); headerMapping = source.getHeaderMapping().orElse(null); addressMetric = ConnectivityModelFactory.newAddressMetric(ConnectionStatus.OPEN, "Started at " + Instant.now(), 0, null); headerEnforcementFilterFactory = enforcement != null ? EnforcementFactoryFactory.newEnforcementFilterFactory(enforcement, PlaceholderFactory.newHeadersPlaceholder()) : input -> null; }
private AmqpConsumerActor(final String sourceAddress, final MessageConsumer messageConsumer, final ActorRef messageMappingProcessor, final Source source) { this.sourceAddress = checkNotNull(sourceAddress, "sourceAddress"); this.messageConsumer = checkNotNull(messageConsumer); this.messageMappingProcessor = checkNotNull(messageMappingProcessor, "messageMappingProcessor"); checkNotNull(source, "source"); authorizationContext = source.getAuthorizationContext(); final Enforcement enforcement = source.getEnforcement().orElse(null); headerMapping = source.getHeaderMapping().orElse(null); addressMetric = ConnectivityModelFactory.newAddressMetric(ConnectionStatus.OPEN, "Started at " + Instant.now(), 0, null); headerEnforcementFilterFactory = enforcement != null ? EnforcementFactoryFactory.newEnforcementFilterFactory(enforcement, PlaceholderFactory.newHeadersPlaceholder()) : input -> null; }
private void startConsumers(final Channel channel) { final Optional<ActorRef> messageMappingProcessor = getMessageMappingProcessorActor(); if (messageMappingProcessor.isPresent()) { getSourcesOrEmptySet().forEach(source -> source.getAddresses().forEach(sourceAddress -> { for (int i = 0; i < source.getConsumerCount(); i++) { final String addressWithIndex = sourceAddress + "-" + i; final AuthorizationContext authorizationContext = source.getAuthorizationContext(); final Enforcement enforcement = source.getEnforcement().orElse(null); final HeaderMapping headerMapping = source.getHeaderMapping().orElse(null); final ActorRef consumer = startChildActorConflictFree( CONSUMER_ACTOR_PREFIX + addressWithIndex, RabbitMQConsumerActor.props(sourceAddress, messageMappingProcessor.get(), authorizationContext, enforcement, headerMapping)); consumerByAddressWithIndex.put(addressWithIndex, consumer); try { final String consumerTag = channel.basicConsume(sourceAddress, false, new RabbitMQMessageConsumer(consumer, channel)); log.debug("Consuming queue <{}>, consumer tag is <{}>.", addressWithIndex, consumerTag); consumedTagsToAddresses.put(consumerTag, addressWithIndex); } catch (final IOException e) { log.warning("Failed to consume queue <{}>: <{}>", addressWithIndex, e.getMessage()); } } }) ); } else { log.warning("The MessageMappingProcessor was not available and therefore no consumers were started!"); } }
private void startConsumers(final Channel channel) { final Optional<ActorRef> messageMappingProcessor = getMessageMappingProcessorActor(); if (messageMappingProcessor.isPresent()) { getSourcesOrEmptySet().forEach(source -> source.getAddresses().forEach(sourceAddress -> { for (int i = 0; i < source.getConsumerCount(); i++) { final String addressWithIndex = sourceAddress + "-" + i; final AuthorizationContext authorizationContext = source.getAuthorizationContext(); final Enforcement enforcement = source.getEnforcement().orElse(null); final HeaderMapping headerMapping = source.getHeaderMapping().orElse(null); final ActorRef consumer = startChildActorConflictFree( CONSUMER_ACTOR_PREFIX + addressWithIndex, RabbitMQConsumerActor.props(sourceAddress, messageMappingProcessor.get(), authorizationContext, enforcement, headerMapping)); consumerByAddressWithIndex.put(addressWithIndex, consumer); try { final String consumerTag = channel.basicConsume(sourceAddress, false, new RabbitMQMessageConsumer(consumer, channel)); log.debug("Consuming queue <{}>, consumer tag is <{}>.", addressWithIndex, consumerTag); consumedTagsToAddresses.put(consumerTag, addressWithIndex); } catch (final IOException e) { log.warning("Failed to consume queue <{}>: <{}>", addressWithIndex, e.getMessage()); } } }) ); } else { log.warning("The MessageMappingProcessor was not available and therefore no consumers were started!"); } }
source.getEnforcement().orElse(null), dryRun); final ActorRef mqttConsumerActor = startChildActorConflictFree(actorNamePrefix, mqttConsumerActorProps);
source.getEnforcement().orElse(null), dryRun); final ActorRef mqttConsumerActor = startChildActorConflictFree(actorNamePrefix, mqttConsumerActorProps);