/* * Copyright 2003 Federal Chancellery Austria * MOA-SPSS has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. */ package at.gv.egovernment.moa.spss.server.init; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.Configurator; import at.gv.egovernment.moa.spss.server.config.ConfigurationException; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; import iaik.server.ConfigurationData; /** * Default implementation of Configurator. * * @author Patrick Peck * @version $Id$ */ public class ConfiguratorImpl extends Configurator { /** whether the configuration has been initialized */ private boolean initialized = false; StartupConfigurationHolder result; @Override public StartupConfigurationHolder getCurrentConfiguration() { return result; } @Override public StartupConfigurationHolder init() throws MOAException { if (!initialized) { result = SystemInitializer.init(); initialized = true; } return result; } @Override public StartupConfigurationHolder update() throws MOAException { if (!initialized) { return null; } try { // reconfigure the system final ConfigurationProvider config = ConfigurationProvider.reload(); final ConfigurationData iaikConfig = new IaikConfigurator().configure(config); result = new StartupConfigurationHolder(config, iaikConfig); return result; } catch (final MOAException e) { throw e; } catch (final Throwable t) { throw new ConfigurationException("MOA-SPSS initialization FAILED with a generic error", null, t); } } }