/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.openhab.binding.souliss.internal;
import java.io.InputStream;
import org.openhab.binding.souliss.internal.network.typicals.Constants;
import org.openhab.binding.souliss.internal.network.typicals.SoulissNetworkParameter;
import org.openhab.binding.souliss.internal.network.typicals.StateTraslator;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Extension of the default OSGi bundle activator
*
* @author Tonino Fazio
* @since 1.7.0
*/
public final class SoulissActivator implements BundleActivator {
private static Logger logger = LoggerFactory.getLogger(SoulissActivator.class);
String sConfigurationFileName = Constants.ConfigurationFileName_typicals_value_bytes;
String sConfigurationFileName_commands_OHtoSOULISS = Constants.ConfigurationFileName_commands_OHtoSOULISS;
String sConfigurationFileName_states_SOULISStoOH = Constants.ConfigurationFileName_states_SOULISStoOH;
String sConfigurationFileName_ItemsType_OHtoSOULISS = Constants.ConfigurationFileName_ItemsType_SOULISS;
String sConfigurationFileName_commands_to_states = Constants.ConfigurationFileName_commands_to_states;
/**
* Called whenever the OSGi framework starts our bundle
*
* Load informations from properties files
*
* @author Antonino Fazio
* @since 1.7.0
*/
@Override
public void start(BundleContext bc) throws Exception {
logger.info("souliss binding has been started.");
InputStream is = getClass().getResourceAsStream("/" + sConfigurationFileName);
logger.info("Load parameter from file: " + sConfigurationFileName);
SoulissNetworkParameter.load(is);
logger.info("Load parameter from file: " + sConfigurationFileName_commands_OHtoSOULISS);
is = getClass().getResourceAsStream("/" + sConfigurationFileName_commands_OHtoSOULISS);
StateTraslator.loadCommands(is);
logger.info("Load parameter from file: " + sConfigurationFileName_states_SOULISStoOH);
is = getClass().getResourceAsStream("/" + sConfigurationFileName_states_SOULISStoOH);
StateTraslator.loadStates(is);
logger.info("Load parameter from file: " + sConfigurationFileName_ItemsType_OHtoSOULISS);
is = getClass().getResourceAsStream("/" + sConfigurationFileName_ItemsType_OHtoSOULISS);
StateTraslator.loadItemsType(is);
logger.info("Load parameter from file: " + sConfigurationFileName_commands_to_states);
is = getClass().getResourceAsStream("/" + sConfigurationFileName_commands_to_states);
StateTraslator.loadCommands_to_states(is);
}
/**
* Called whenever the OSGi framework stops our bundle
*
* Only log info
*
* @author Antonino Fazio
* @since 1.7.0
*/
@Override
public void stop(BundleContext bc) throws Exception {
logger.info("souliss binding has been stopped.");
}
}