diff --git a/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/PersistenceServiceDelegate.java b/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/PersistenceServiceDelegate.java index 974af7d117..29796f2aee 100644 --- a/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/PersistenceServiceDelegate.java +++ b/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/PersistenceServiceDelegate.java @@ -8,45 +8,52 @@ */ package org.openhab.core.persistence.internal; +import java.util.Locale; + import org.eclipse.smarthome.core.items.Item; import org.eclipse.smarthome.core.persistence.PersistenceService; import org.openhab.core.compat1x.internal.ItemMapper; - /** * This class serves as a mapping from the "old" org.openhab namespace to the new org.eclipse.smarthome * namespace for the persistence service. 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 + * @author Chris Jackson - updated API to support getId/getLabel */ public class PersistenceServiceDelegate implements PersistenceService { - protected org.openhab.core.persistence.PersistenceService service; + protected org.openhab.core.persistence.PersistenceService service; - public PersistenceServiceDelegate(org.openhab.core.persistence.PersistenceService service) { - this.service = service; - } + public PersistenceServiceDelegate(org.openhab.core.persistence.PersistenceService service) { + this.service = service; + } - @Override - public String getName() { - return service.getName(); - } + @Override + public String getId() { + return service.getName(); + } - @Override - public void store(Item item) { - org.openhab.core.items.Item ohItem = ItemMapper.mapToOpenHABItem(item); - if(ohItem!=null) { - service.store(ohItem); - } - } + @Override + public String getLabel(Locale locale) { + return service.getName(); + } - @Override - public void store(Item item, String alias) { - org.openhab.core.items.Item ohItem = ItemMapper.mapToOpenHABItem(item); - if(ohItem!=null) { - service.store(ohItem, alias); - } - } + @Override + public void store(Item item) { + org.openhab.core.items.Item ohItem = ItemMapper.mapToOpenHABItem(item); + if (ohItem != null) { + service.store(ohItem); + } + } + + @Override + public void store(Item item, String alias) { + org.openhab.core.items.Item ohItem = ItemMapper.mapToOpenHABItem(item); + if (ohItem != null) { + service.store(ohItem, alias); + } + } } diff --git a/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/QueryablePersistenceServiceDelegate.java b/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/QueryablePersistenceServiceDelegate.java index 14805f15ad..bd386f4db5 100644 --- a/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/QueryablePersistenceServiceDelegate.java +++ b/bundles/org.openhab.core.compat1x/src/main/java/org/openhab/core/persistence/internal/QueryablePersistenceServiceDelegate.java @@ -9,79 +9,86 @@ package org.openhab.core.persistence.internal; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; +import java.util.Set; import org.eclipse.smarthome.core.persistence.FilterCriteria; import org.eclipse.smarthome.core.persistence.HistoricItem; +import org.eclipse.smarthome.core.persistence.PersistenceItemInfo; import org.eclipse.smarthome.core.persistence.QueryablePersistenceService; import org.eclipse.smarthome.core.types.State; import org.openhab.core.compat1x.internal.TypeMapper; import org.openhab.core.persistence.FilterCriteria.Operator; import org.openhab.core.persistence.FilterCriteria.Ordering; - /** * This class serves as a mapping from the "old" org.openhab namespace to the new org.eclipse.smarthome * namespace for the queryable persistence service. 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 QueryablePersistenceServiceDelegate extends PersistenceServiceDelegate implements QueryablePersistenceService { +public class QueryablePersistenceServiceDelegate extends PersistenceServiceDelegate + implements QueryablePersistenceService { - public QueryablePersistenceServiceDelegate( - org.openhab.core.persistence.PersistenceService persistenceService) { - super(persistenceService); - } + public QueryablePersistenceServiceDelegate(org.openhab.core.persistence.PersistenceService persistenceService) { + super(persistenceService); + } - @Override - public Iterable query(FilterCriteria filter) { - org.openhab.core.persistence.FilterCriteria mappedFilter = new org.openhab.core.persistence.FilterCriteria() - .setBeginDate(filter.getBeginDate()) - .setEndDate(filter.getEndDate()) - .setItemName(filter.getItemName()) - .setOperator(mapOperator(filter.getOperator())) - .setOrdering(mapOrdering(filter.getOrdering())) - .setPageNumber(filter.getPageNumber()) - .setPageSize(filter.getPageSize()) - .setState(mapState(filter.getState())); - org.openhab.core.persistence.QueryablePersistenceService pService = (org.openhab.core.persistence.QueryablePersistenceService) service; - Iterable historicItems = pService.query(mappedFilter); - ArrayList result = new ArrayList<>(); - for(final org.openhab.core.persistence.HistoricItem item : historicItems) { - result.add(new HistoricItem() { - @Override - public Date getTimestamp() { - return item.getTimestamp(); - } - - @Override - public State getState() { - return (State) TypeMapper.mapToESHType(item.getState()); - } - - @Override - public String getName() { - return item.getName(); - } - }); - } - return result; - } + @Override + public Iterable query(FilterCriteria filter) { + org.openhab.core.persistence.FilterCriteria mappedFilter = new org.openhab.core.persistence.FilterCriteria() + .setBeginDate(filter.getBeginDate()).setEndDate(filter.getEndDate()).setItemName(filter.getItemName()) + .setOperator(mapOperator(filter.getOperator())).setOrdering(mapOrdering(filter.getOrdering())) + .setPageNumber(filter.getPageNumber()).setPageSize(filter.getPageSize()) + .setState(mapState(filter.getState())); + org.openhab.core.persistence.QueryablePersistenceService pService = (org.openhab.core.persistence.QueryablePersistenceService) service; + Iterable historicItems = pService.query(mappedFilter); + ArrayList result = new ArrayList<>(); + for (final org.openhab.core.persistence.HistoricItem item : historicItems) { + result.add(new HistoricItem() { + @Override + public Date getTimestamp() { + return item.getTimestamp(); + } - private org.openhab.core.types.State mapState(State state) { - return (org.openhab.core.types.State) TypeMapper.mapToOpenHABType(state); - } + @Override + public State getState() { + return (State) TypeMapper.mapToESHType(item.getState()); + } - private Ordering mapOrdering(FilterCriteria.Ordering ordering) { - if(ordering==null) return null; - - return org.openhab.core.persistence.FilterCriteria.Ordering.valueOf(ordering.toString()); - } + @Override + public String getName() { + return item.getName(); + } + }); + } + return result; + } - private Operator mapOperator(FilterCriteria.Operator operator) { - if(operator==null) return null; - return org.openhab.core.persistence.FilterCriteria.Operator.valueOf(operator.toString()); - } + private org.openhab.core.types.State mapState(State state) { + return (org.openhab.core.types.State) TypeMapper.mapToOpenHABType(state); + } + + private Ordering mapOrdering(FilterCriteria.Ordering ordering) { + if (ordering == null) { + return null; + } + + return org.openhab.core.persistence.FilterCriteria.Ordering.valueOf(ordering.toString()); + } + + private Operator mapOperator(FilterCriteria.Operator operator) { + if (operator == null) { + return null; + } + return org.openhab.core.persistence.FilterCriteria.Operator.valueOf(operator.toString()); + } + + @Override + public Set getItemInfo() { + return Collections.emptySet(); + } }