@Transformer(inputChannel = Processor.INPUT, outputChannel = Processor.OUTPUT) public Object setupRequest(String message) { Map<String, String> properties = new HashMap<String,String>(); if(StringUtils.hasText(processorProperties.getDataSourceUrl())){ properties.put("spring_datasource_url",processorProperties.getDataSourceUrl()); } if(StringUtils.hasText(processorProperties.getDataSourceDriverClassName())){ properties.put("spring_datasource_driverClassName",processorProperties.getDataSourceDriverClassName()); } if(StringUtils.hasText(processorProperties.getDataSourceUserName())){ properties.put("spring_datasource_username",processorProperties.getDataSourceUserName()); } if(StringUtils.hasText(processorProperties.getDataSourcePassword())){ properties.put("spring_datasource_password",processorProperties.getDataSourcePassword()); } properties.put("payload", message); TaskLaunchRequest request = new TaskLaunchRequest( processorProperties.getUri(), null, properties, null, processorProperties.getApplicationName()); return new GenericMessage<TaskLaunchRequest>(request); }
@Transformer(inputChannel = Processor.INPUT, outputChannel = Processor.OUTPUT) public Object setupRequest(String message) { Map<String, String> properties = new HashMap<String, String>(); Map<String, String> deploymentProperties = null; List<String> commandLineArgs = null; if (StringUtils.hasText(processorProperties.getDataSourceUrl())) { properties.put("spring_datasource_url", processorProperties.getDataSourceUrl()); } if (StringUtils.hasText(processorProperties.getDataSourceDriverClassName())) { properties.put("spring_datasource_driverClassName", processorProperties.getDataSourceDriverClassName()); } if (StringUtils.hasText(processorProperties.getDataSourceUserName())) { properties.put("spring_datasource_username", processorProperties.getDataSourceUserName()); } if (StringUtils.hasText(processorProperties.getDataSourcePassword())) { properties.put("spring_datasource_password", processorProperties.getDataSourcePassword()); } if (StringUtils.hasLength(processorProperties.getDeploymentProperties())) { deploymentProperties = parse(processorProperties.getDeploymentProperties()); } if (StringUtils.hasLength(processorProperties.getCommandLineArguments())) { commandLineArgs = parseParams(processorProperties.getCommandLineArguments()); } TaskLaunchRequest request = new TaskLaunchRequest( processorProperties.getUri(), commandLineArgs, properties, deploymentProperties); return request; }
@Bean @ConditionalOnProperty(name = "sftp.task-launcher-output", havingValue = "true") @IdempotentReceiver("idempotentReceiverInterceptor") @ServiceActivator(inputChannel = "sftpFileTaskLaunchChannel", outputChannel = Source.OUTPUT) public MessageProcessor<Message<?>> standaloneTaskLaunchRequestTransformer() { return message -> { TaskLaunchRequest outboundPayload = new TaskLaunchRequest(sftpSourceTaskProperties.getResourceUri(), getCommandLineArgs(message), getEnvironmentProperties(), getDeploymentProperties(), null); MessageBuilder<TaskLaunchRequest> builder = MessageBuilder.withPayload(outboundPayload) .copyHeaders(message.getHeaders()) .setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON); if (this.sftpSourceProperties.isMultiSource()) { outboundPayload.getEnvironmentProperties().put(SFTP_HOST_PROPERTY_KEY, (String) message.getHeaders().get(SFTP_HOST_PROPERTY_KEY)); outboundPayload.getEnvironmentProperties().put(SFTP_PORT_PROPERTY_KEY, String.valueOf(message.getHeaders().get(SFTP_PORT_PROPERTY_KEY))); outboundPayload.getEnvironmentProperties().put(SFTP_USERNAME_PROPERTY_KEY, (String) message.getHeaders().get(SFTP_USERNAME_PROPERTY_KEY)); outboundPayload.getEnvironmentProperties().put(SFTP_PASSWORD_PROPERTY_KEY, (String) message.getHeaders().get(SFTP_PASSWORD_PROPERTY_KEY)); outboundPayload.getEnvironmentProperties().put(SFTP_SELECTED_SERVER_PROPERTY_KEY, (String) message.getHeaders().get(SFTP_SELECTED_SERVER_PROPERTY_KEY)); builder.removeHeaders(SFTP_HOST_PROPERTY_KEY, SFTP_PORT_PROPERTY_KEY, SFTP_USERNAME_PROPERTY_KEY, SFTP_PASSWORD_PROPERTY_KEY, SFTP_SELECTED_SERVER_PROPERTY_KEY); } return builder.build(); }; }
@PollableSource public Object triggerTaskSource() { return new TaskLaunchRequest(taskPayloadProperties.getUri(), parseParams( commandLineArgumentTransformer.transform( taskPayloadProperties.getCommandLineArgs())), parseProperties(taskPayloadProperties.getEnvironmentProperties()), parseProperties(taskPayloadProperties.getDeploymentProperties()), taskPayloadProperties.getApplicationName()); }