Source:
public void parse(Dictionary<String, ?> properties) throws ConfigurationException { parseCompleted = false; valid = false; if (properties == null) { parseCompleted = true; logger.warn( "No configuration found for the weather binding. Check openhab.cfg."); throw new ConfigurationException("weather", "No configuration found for the weather binding. Check openhab.cfg."); } Enumeration<String> keys = properties.keys(); while (keys.hasMoreElements()) { String key = keys.nextElement(); String value = StringUtils.trimToNull((String) properties.get(key)); if (StringUtils.startsWithIgnoreCase(key, "apikey")) { parseApiKey(key, value); } else if (StringUtils.startsWithIgnoreCase(key, "location")) { parseLocation(key, value); } } for (LocationConfig lc : locationConfigs.values()) { if (!lc.isValid()) { parseCompleted = true; logger.warn("Incomplete location config for locationId '{}'. Check openhab.cfg.", lc.getLocationId()); throw new ConfigurationException("weather", "Incomplete location config for locationId '" + lc.getLocationId() + "'. Check openhab.cfg."); } if (!providerConfigs.containsKey(lc.getProviderName())) { parseCompleted = true; logger.warn("No apikey found for provider '{}'. Check openhab.cfg.", lc.getProviderName()); throw new ConfigurationException("weather", "No apikey found for provider '" + lc.getProviderName() + "'. Check openhab.cfg."); } } for (ProviderConfig pc : providerConfigs.values()) { if (!pc.isValid()) { parseCompleted = true; logger.warn("Invalid apikey config for provider '{}'. Check openhab.cfg.", pc.getProviderName()); throw new ConfigurationException("weather", "Invalid apikey config for provider '" + pc.getProviderName() + "'. Check openhab.cfg."); } } valid = locationConfigs.size() > 0; parseCompleted = true; logger.debug("Parsing of weather configuration settings completed."); }

Target:
public void parse(Dictionary<String, ?> properties) throws ConfigurationException { parseCompleted = false; valid = false; if (properties == null) { parseCompleted = true; logger.warn("No configuration found for the weather binding. Check the binding config."); throw new ConfigurationException("weather", "No configuration found for the weather binding. Check the binding config."); } Enumeration<String> keys = properties.keys(); while (keys.hasMoreElements()) { String key = keys.nextElement(); String value = StringUtils.trimToNull((String) properties.get(key)); if (StringUtils.startsWithIgnoreCase(key, "apikey")) { parseApiKey(key, value); } else if (StringUtils.startsWithIgnoreCase(key, "location")) { parseLocation(key, value); } } for (LocationConfig lc : locationConfigs.values()) { if (!lc.isValid()) { parseCompleted = true; logger.warn("Incomplete location config for locationId '{}'. Check the binding config.", lc.getLocationId()); throw new ConfigurationException("weather", "Incomplete location config for locationId '" + lc.getLocationId() + "'. Check the binding config."); } if (!providerConfigs.containsKey(lc.getProviderName())) { parseCompleted = true; logger.warn("No apikey found for provider '{}'. Check the binding config.", lc.getProviderName()); throw new ConfigurationException("weather", "No apikey found for provider '" + lc.getProviderName() + "'. Check the binding config."); } } for (ProviderConfig pc : providerConfigs.values()) { if (!pc.isValid()) { parseCompleted = true; logger.warn("Invalid apikey config for provider '{}'. Check the binding config.", pc.getProviderName()); throw new ConfigurationException("weather", "Invalid apikey config for provider '" + pc.getProviderName() + "'. Check the binding config."); } } valid = locationConfigs.size() > 0; parseCompleted = true; logger.debug("Parsing of weather configuration settings completed."); }