private void updateBinding() { if (openSprinkler != null) { openSprinkler.closeConnection(); } if (mode == null) { return; } switch (mode) { case GPIO: openSprinkler = OpenSprinklerFactory.newGpioConnection(); break; case HTTP: openSprinkler = OpenSprinklerFactory.newHttpConnection(url, password); break; default: throw new IllegalStateException( "Unknown OpenSprinkler mode: " + mode + "! Since it is checked while initialization already, this Exception should never be thrown!"); } openSprinkler.setNumberOfStations(numberOfStations); logger.info( "OpenSprinkler binding running in " + mode + " mode" + (HTTP.equals(mode) ? " with url " + url : "") + ". Running with " + numberOfStations + " stations enabled and a refresh rate of " + refreshInterval + "."); }
public void deactivate() { // deallocate Resources here that are no longer needed and // should be reset when activating this binding again openSprinkler.closeConnection(); }