/* Copyright (c) 2011 GeoSolutions - http://www.geo-solutions.it/. All rights reserved. * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package it.geosolutions.geoserver.jms.configuration; import it.geosolutions.geoserver.jms.JMSFactory; import java.io.IOException; /** * * 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); } }