use of de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBusConfig in project FAAAST-Service by FraunhoferIOSB.
the class ConfigFactory method applyToServiceConfig.
private void applyToServiceConfig(ServiceConfig serviceConfig, List<Config> configs) throws Exception {
boolean isEndpointAlreadySet = false;
for (Config c : configs) {
LOGGER.debug("Apply custom config parameter '" + c.getClass().getSimpleName() + "'");
if (EndpointConfig.class.isAssignableFrom(c.getClass())) {
// if yet no endpoint was set remove old enpoints (most likely default endpoint) and set new endpoint
// else add the new endpoint to the existing list of endpoints
serviceConfig.setEndpoints(!isEndpointAlreadySet ? new ArrayList<>() {
{
add((EndpointConfig) c);
}
} : new ArrayList<>() {
{
addAll(serviceConfig.getEndpoints());
add((EndpointConfig) c);
}
});
isEndpointAlreadySet = true;
continue;
}
if (PersistenceConfig.class.isAssignableFrom(c.getClass())) {
serviceConfig.setPersistence((PersistenceConfig) c);
continue;
}
if (MessageBusConfig.class.isAssignableFrom(c.getClass())) {
serviceConfig.setMessageBus((MessageBusConfig) c);
continue;
}
if (AssetConnectionConfig.class.isAssignableFrom(c.getClass())) {
serviceConfig.getAssetConnections().add((AssetConnectionConfig) c);
continue;
}
throw new Exception("Cannot set config component '" + c.getClass().getSimpleName() + "'");
}
}
Aggregations