use of com.redhat.service.bridge.infra.models.actions.BaseAction in project sandbox by 5733d9e2be6485d52ffa08870cabdee0.
the class SlackActionTransformerTest method testTransform.
@Test
void testTransform() {
BaseAction baseAction = buildTestAction();
BaseAction transformedAction = slackActionTransformer.transform(baseAction, TEST_BRIDGE_ID, TEST_CUSTOMER_ID, TEST_PROCESSOR_ID);
assertThat(transformedAction.getType()).isEqualTo(KafkaTopicAction.TYPE);
Map<String, String> transformedActionParameter = transformedAction.getParameters();
assertThat(transformedActionParameter).containsEntry(SlackAction.CHANNEL_PARAMETER, TEST_CHANNEL_PARAM).containsEntry(SlackAction.WEBHOOK_URL_PARAMETER, TEST_WEBHOOK_PARAM).containsEntry(KafkaTopicAction.TOPIC_PARAM, internalKafkaConfigurationProvider.getTopicPrefix() + TEST_PROCESSOR_ID);
}
use of com.redhat.service.bridge.infra.models.actions.BaseAction in project sandbox by 5733d9e2be6485d52ffa08870cabdee0.
the class ProcessorServiceImpl method createProcessor.
@Override
public Processor createProcessor(String bridgeId, String customerId, ProcessorRequest processorRequest) {
/* We cannot deploy Processors to a Bridge that is not Available */
Bridge bridge = bridgesService.getReadyBridge(bridgeId, customerId);
if (processorDAO.findByBridgeIdAndName(bridgeId, processorRequest.getName()) != null) {
throw new AlreadyExistingItemException("Processor with name '" + processorRequest.getName() + "' already exists for bridge with id '" + bridgeId + "' for customer '" + customerId + "'");
}
Processor newProcessor = new Processor();
Set<BaseFilter> requestedFilters = processorRequest.getFilters();
String requestedTransformationTemplate = processorRequest.getTransformationTemplate();
BaseAction requestedAction = processorRequest.getAction();
ActionProvider actionProvider = actionProviderFactory.getActionProvider(requestedAction.getType());
BaseAction resolvedAction = actionProviderFactory.resolve(requestedAction, bridge.getId(), customerId, newProcessor.getId());
newProcessor.setName(processorRequest.getName());
newProcessor.setSubmittedAt(ZonedDateTime.now());
newProcessor.setStatus(ManagedResourceStatus.ACCEPTED);
newProcessor.setBridge(bridge);
newProcessor.setShardId(shardService.getAssignedShardId(newProcessor.getId()));
ProcessorDefinition definition = new ProcessorDefinition(requestedFilters, requestedTransformationTemplate, requestedAction, resolvedAction);
newProcessor.setDefinition(definitionToJsonNode(definition));
LOGGER.info("Processor with id '{}' for customer '{}' on bridge '{}' has been marked for creation", newProcessor.getId(), newProcessor.getBridge().getCustomerId(), newProcessor.getBridge().getId());
createProcessorConnectorEntity(newProcessor, actionProvider, resolvedAction);
workManager.schedule(newProcessor);
return newProcessor;
}
use of com.redhat.service.bridge.infra.models.actions.BaseAction in project sandbox by 5733d9e2be6485d52ffa08870cabdee0.
the class SlackActionTransformer method transform.
@Override
public BaseAction transform(BaseAction action, String bridgeId, String customerId, String processorId) {
BaseAction resolvedAction = new BaseAction();
Map<String, String> newParameters = resolvedAction.getParameters();
newParameters.putAll(action.getParameters());
resolvedAction.setType(KafkaTopicAction.TYPE);
newParameters.put(KafkaTopicAction.TOPIC_PARAM, generateKafkaTopicName(processorId));
return resolvedAction;
}
Aggregations