/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.cluster.configuration;
import java.io.IOException;
import org.geoserver.cluster.JMSFactory;
/**
*
* class to store and load configuration for {@link JMSFactory}
*
* @author carlo cancellieri - GeoSolutions SAS
*
*/
public class EmbeddedBrokerConfiguration implements JMSConfigurationExt {
public static final String EMBEDDED_BROKER_KEY = "embeddedBroker";
public static final String DEFAULT_EMBEDDED_BROKER_VALUE = ConfigurationStatus.enabled.toString();
public static final String EMBEDDED_BROKER_PROPERTIES_KEY = "embeddedBrokerProperties";
public static final String DEFAULT_EMBEDDED_BROKER_PROPERTIES_VALUE = "embedded-broker.properties";
public static enum ConfigurationStatus {
enabled, disabled;
}
@Override
public void initDefaults(JMSConfiguration config) throws IOException {
config.putConfiguration(EMBEDDED_BROKER_KEY,
DEFAULT_EMBEDDED_BROKER_VALUE);
config.putConfiguration(EMBEDDED_BROKER_PROPERTIES_KEY,
DEFAULT_EMBEDDED_BROKER_PROPERTIES_VALUE);
}
@Override
public boolean override(JMSConfiguration config) throws IOException {
return config.override(EMBEDDED_BROKER_KEY,
DEFAULT_EMBEDDED_BROKER_VALUE)
|| config.override(EMBEDDED_BROKER_PROPERTIES_KEY,
DEFAULT_EMBEDDED_BROKER_PROPERTIES_VALUE);
}
public static boolean isEnabled(JMSConfiguration config) {
Object statusObj = config.getConfiguration(EMBEDDED_BROKER_KEY);
if (statusObj == null) {
statusObj = DEFAULT_EMBEDDED_BROKER_VALUE;
}
return ConfigurationStatus.valueOf(statusObj.toString()).equals(
ConfigurationStatus.enabled);
}
}