@Component
public class HttpClientConverter extends AbstractEndpointConverter<Client> {
@Override
public EndpointData convert(Client client) {
EndpointData endpointData = new EndpointData(getEndpointType(), client.getId(), getModelClass());
endpointData.add(property("requestUrl", client));
endpointData.add(property("requestMethod", client, HttpMethod.POST.name())
.options(getHttpMethodOptions()));
endpointData.add(property("errorStrategy", client, ErrorHandlingStrategy.PROPAGATE.getName())
.options(getErrorHandlingStrategyOptions()));
endpointData.add(property("pollingInterval", client, "500"));
endpointData.add(property("messageCorrelator", client)
.optionKey(MessageCorrelator.class.getName()));
endpointData.add(property("messageConverter", client)
.optionKey(MessageConverter.class.getName()));
endpointData.add(property("requestFactory", client)
.optionKey(ClientHttpRequestFactory.class.getName()));
endpointData.add(property("restTemplate", client)
.optionKey(RestTemplate.class.getName()));
endpointData.add(property("charset", client));
endpointData.add(property("contentType", client));
endpointData.add(property("interceptors", client));
addEndpointProperties(endpointData, client);
return endpointData;
}