@Override
public void configureProperties(Map<String, Object> options) {
super.configureProperties(options);
try {
if (config == null) {
config = new WordpressComponentConfiguration();
}
EndpointHelper.setReferenceProperties(getCamelContext(), config, options);
EndpointHelper.setProperties(getCamelContext(), config, options);
if (config.getSearchCriteria() == null) {
final SearchCriteria searchCriteria = WordpressOperationType.valueOf(operation).getCriteriaType().newInstance();
Map<String, Object> criteriaOptions = IntrospectionSupport.extractProperties(options, "criteria.");
criteriaOptions = criteriaOptions.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> {
if (e != null && e.toString().indexOf(",") > -1) {
return Arrays.asList(e.toString().split(","));
}
return e.getValue();
}));
IntrospectionSupport.setProperties(searchCriteria, criteriaOptions);
config.setSearchCriteria(searchCriteria);
}
} catch (Exception e) {
throw new IllegalArgumentException(e.getMessage(), e);
}
config.validate();
this.initServiceProvider();
}