From 6d04f2d04202d1aa94cb9311b60f99825e375986 Mon Sep 17 00:00:00 2001 From: Kai Kreuzer Date: Tue, 16 Feb 2016 18:27:00 +0100 Subject: [PATCH] added location item support in config reader delegate Signed-off-by: Kai Kreuzer --- .../internal/BindingConfigReaderDelegate.java | 109 ++++++++++-------- 1 file changed, 59 insertions(+), 50 deletions(-) diff --git a/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/binding/internal/BindingConfigReaderDelegate.java b/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/binding/internal/BindingConfigReaderDelegate.java index 078d0b5f56..f9224a8add 100644 --- a/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/binding/internal/BindingConfigReaderDelegate.java +++ b/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/binding/internal/BindingConfigReaderDelegate.java @@ -14,70 +14,79 @@ import org.eclipse.smarthome.model.item.BindingConfigReader; /** * This class serves as a mapping from the "old" org.openhab namespace to the new org.eclipse.smarthome * namespace for the binding config readers. It wraps an instance with the old interface - * into a class with the new interface. - * + * into a class with the new interface. + * * @author Kai Kreuzer - Initial contribution and API */ public class BindingConfigReaderDelegate implements BindingConfigReader { - private org.openhab.model.item.binding.BindingConfigReader reader; + private org.openhab.model.item.binding.BindingConfigReader reader; - public BindingConfigReaderDelegate( - org.openhab.model.item.binding.BindingConfigReader reader) { - this.reader = reader; - } + public BindingConfigReaderDelegate(org.openhab.model.item.binding.BindingConfigReader reader) { + this.reader = reader; + } - @Override - public String getBindingType() { - return reader.getBindingType(); - } + @Override + public String getBindingType() { + return reader.getBindingType(); + } - @Override - public void validateItemType(String itemType, String bindingConfig) - throws BindingConfigParseException { - try { - reader.validateItemType(getOpenHABItem(itemType), bindingConfig); - } catch (org.openhab.model.item.binding.BindingConfigParseException e) { - throw new BindingConfigParseException(e.getMessage()); - } - - } + @Override + public void validateItemType(String itemType, String bindingConfig) throws BindingConfigParseException { + try { + reader.validateItemType(getOpenHABItem(itemType), bindingConfig); + } catch (org.openhab.model.item.binding.BindingConfigParseException e) { + throw new BindingConfigParseException(e.getMessage()); + } - @Override - public void processBindingConfiguration(String context, String itemType, String itemName, - String bindingConfig) throws BindingConfigParseException { - try { - reader.processBindingConfiguration(context, getOpenHABItem(itemType, itemName), bindingConfig); - } catch (org.openhab.model.item.binding.BindingConfigParseException e) { - throw new BindingConfigParseException(e.getMessage()); - } - - } + } - private org.openhab.core.items.Item getOpenHABItem(String itemType) throws BindingConfigParseException { - return getOpenHABItem(itemType, "itemName"); - } + @Override + public void processBindingConfiguration(String context, String itemType, String itemName, String bindingConfig) + throws BindingConfigParseException { + try { + reader.processBindingConfiguration(context, getOpenHABItem(itemType, itemName), bindingConfig); + } catch (org.openhab.model.item.binding.BindingConfigParseException e) { + throw new BindingConfigParseException(e.getMessage()); + } - private org.openhab.core.items.Item getOpenHABItem(String itemType, - String itemName) throws BindingConfigParseException { + } - switch(itemType) { - case "Switch" : return new org.openhab.core.library.items.SwitchItem(itemName); - case "Dimmer" : return new org.openhab.core.library.items.DimmerItem(itemName); - case "Color" : return new org.openhab.core.library.items.ColorItem(itemName); - case "String" : return new org.openhab.core.library.items.StringItem(itemName); - case "Number" : return new org.openhab.core.library.items.NumberItem(itemName); - case "Contact" : return new org.openhab.core.library.items.ContactItem(itemName); - case "Rollershutter" : return new org.openhab.core.library.items.RollershutterItem(itemName); - case "DateTime" : return new org.openhab.core.library.items.DateTimeItem(itemName); - case "Call" : return new org.openhab.library.tel.items.CallItem(itemName); - } - throw new BindingConfigParseException("cannot process unknown item type " + itemType); - } + private org.openhab.core.items.Item getOpenHABItem(String itemType) throws BindingConfigParseException { + return getOpenHABItem(itemType, "itemName"); + } + + private org.openhab.core.items.Item getOpenHABItem(String itemType, String itemName) + throws BindingConfigParseException { + + switch (itemType) { + case "Switch": + return new org.openhab.core.library.items.SwitchItem(itemName); + case "Dimmer": + return new org.openhab.core.library.items.DimmerItem(itemName); + case "Color": + return new org.openhab.core.library.items.ColorItem(itemName); + case "String": + return new org.openhab.core.library.items.StringItem(itemName); + case "Number": + return new org.openhab.core.library.items.NumberItem(itemName); + case "Contact": + return new org.openhab.core.library.items.ContactItem(itemName); + case "Rollershutter": + return new org.openhab.core.library.items.RollershutterItem(itemName); + case "DateTime": + return new org.openhab.core.library.items.DateTimeItem(itemName); + case "Location": + return new org.openhab.core.library.items.LocationItem(itemName); + case "Call": + return new org.openhab.library.tel.items.CallItem(itemName); + } + throw new BindingConfigParseException("cannot process unknown item type " + itemType); + } @Override public void startConfigurationUpdate(String context) { - reader.removeConfigurations(context); + reader.removeConfigurations(context); } @Override