Search in sources :

Example 1 with MessageBusConfig

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() + "'");
    }
}
Also used : EndpointConfig(de.fraunhofer.iosb.ilt.faaast.service.endpoint.EndpointConfig) ServiceConfig(de.fraunhofer.iosb.ilt.faaast.service.config.ServiceConfig) MessageBusInternalConfig(de.fraunhofer.iosb.ilt.faaast.service.messagebus.internal.MessageBusInternalConfig) MessageBusConfig(de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBusConfig) Config(de.fraunhofer.iosb.ilt.faaast.service.config.Config) HttpEndpointConfig(de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpointConfig) PersistenceInMemoryConfig(de.fraunhofer.iosb.ilt.faaast.service.persistence.memory.PersistenceInMemoryConfig) CoreConfig(de.fraunhofer.iosb.ilt.faaast.service.config.CoreConfig) AssetConnectionConfig(de.fraunhofer.iosb.ilt.faaast.service.assetconnection.AssetConnectionConfig) PersistenceConfig(de.fraunhofer.iosb.ilt.faaast.service.persistence.PersistenceConfig) ArrayList(java.util.ArrayList) NoSuchFileException(java.nio.file.NoSuchFileException) IOException(java.io.IOException)

Aggregations

AssetConnectionConfig (de.fraunhofer.iosb.ilt.faaast.service.assetconnection.AssetConnectionConfig)1 Config (de.fraunhofer.iosb.ilt.faaast.service.config.Config)1 CoreConfig (de.fraunhofer.iosb.ilt.faaast.service.config.CoreConfig)1 ServiceConfig (de.fraunhofer.iosb.ilt.faaast.service.config.ServiceConfig)1 EndpointConfig (de.fraunhofer.iosb.ilt.faaast.service.endpoint.EndpointConfig)1 HttpEndpointConfig (de.fraunhofer.iosb.ilt.faaast.service.endpoint.http.HttpEndpointConfig)1 MessageBusConfig (de.fraunhofer.iosb.ilt.faaast.service.messagebus.MessageBusConfig)1 MessageBusInternalConfig (de.fraunhofer.iosb.ilt.faaast.service.messagebus.internal.MessageBusInternalConfig)1 PersistenceConfig (de.fraunhofer.iosb.ilt.faaast.service.persistence.PersistenceConfig)1 PersistenceInMemoryConfig (de.fraunhofer.iosb.ilt.faaast.service.persistence.memory.PersistenceInMemoryConfig)1 IOException (java.io.IOException)1 NoSuchFileException (java.nio.file.NoSuchFileException)1 ArrayList (java.util.ArrayList)1