All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.viadee.camunda.kafka.pollingclient.config.CamundaRestPollingConfiguration Maven / Gradle / Ivy

package de.viadee.camunda.kafka.pollingclient.config;

import de.viadee.camunda.kafka.pollingclient.config.properties.CamundaRestPollingProperties;
import de.viadee.camunda.kafka.pollingclient.service.polling.PollingService;
import de.viadee.camunda.kafka.pollingclient.service.polling.rest.CamundaRestPollingServiceImpl;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.http.client.support.BasicAuthorizationInterceptor;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.DefaultUriBuilderFactory;

import java.util.Collections;

/**
 * 

* CamundaRestPollingConfiguration class. *

* * @author viadee * @version $Id: $Id */ @Configuration @EnableConfigurationProperties(CamundaRestPollingProperties.class) @Profile("rest") public class CamundaRestPollingConfiguration { private final CamundaRestPollingProperties camundaProperties; /** *

* Constructor for CamundaRestPollingConfiguration. *

* * @param camundaProperties * a {@link de.viadee.camunda.kafka.pollingclient.config.properties.CamundaRestPollingProperties} object. */ public CamundaRestPollingConfiguration(CamundaRestPollingProperties camundaProperties) { this.camundaProperties = camundaProperties; } /** *

* pollingService. *

* * @return a {@link de.viadee.camunda.kafka.pollingclient.service.polling.PollingService} object. */ @Bean public PollingService pollingService() { return new CamundaRestPollingServiceImpl(camundaProperties, camundaApiRestTemplate()); } /** *

* camundaApiRestTemplate. *

* * @return a {@link org.springframework.web.client.RestTemplate} object. */ @Bean public RestTemplate camundaApiRestTemplate() { final RestTemplate template = new RestTemplate(); // Enable escaping url parameter values. // Otherwise timezone offset designator (+/-) will result in invalid urls. final DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory(); factory.setEncodingMode(DefaultUriBuilderFactory.EncodingMode.VALUES_ONLY); template.setUriTemplateHandler(factory); if (camundaProperties.isAuthenticationEnabled()) { template.setInterceptors(Collections.singletonList(new BasicAuthorizationInterceptor( camundaProperties.getUsername(), camundaProperties.getPassword()))); } return template; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy