Package org.openhab.core.persistence

Examples of org.openhab.core.persistence.QueryablePersistenceService


        for(PersistenceConfiguration config : entry.getValue()) {
          if(hasStrategy(serviceName, config, GlobalStrategies.RESTORE)) {
            if(appliesToItem(config, item)) {
              PersistenceService service = persistenceServices.get(serviceName);
              if(service instanceof QueryablePersistenceService) {
                QueryablePersistenceService queryService = (QueryablePersistenceService) service;
                FilterCriteria filter = new FilterCriteria().setItemName(item.getName()).setPageSize(1);
                Iterable<HistoricItem> result = queryService.query(filter);
                Iterator<HistoricItem> it = result.iterator();
                if(it.hasNext()) {
                  HistoricItem historicItem = it.next();
                  GenericItem genericItem = (GenericItem) item;
                  genericItem.removeStateChangeListener(this);
View Full Code Here


   * @return the item state at the given point in time
   */
  static public HistoricItem historicState(Item item, AbstractInstant timestamp, String serviceName) {
    PersistenceService service = services.get(serviceName);
    if (service instanceof QueryablePersistenceService) {
      QueryablePersistenceService qService = (QueryablePersistenceService) service;
      FilterCriteria filter = new FilterCriteria();
      filter.setEndDate(timestamp.toDate());
      filter.setItemName(item.getName());
      filter.setPageSize(1);
      filter.setOrdering(Ordering.DESCENDING);
      Iterable<HistoricItem> result = qService.query(filter);
      if(result.iterator().hasNext()) {
        return result.iterator().next();
      } else {
        return null;
      }
View Full Code Here

   * @return point in time of the last update or null if none available
   */
  static public Date lastUpdate(Item item, String serviceName) {
    PersistenceService service = services.get(serviceName);
    if (service instanceof QueryablePersistenceService) {
      QueryablePersistenceService qService = (QueryablePersistenceService) service;
      FilterCriteria filter = new FilterCriteria();
      filter.setItemName(item.getName());
      filter.setOrdering(Ordering.DESCENDING);
      filter.setPageSize(1);
      Iterable<HistoricItem> result = qService.query(filter);
      if (result.iterator().hasNext()) {
        return result.iterator().next().getTimestamp();
      } else {
        return null;
      }
View Full Code Here

   * @return the previous state
   */
  static public HistoricItem previousState(Item item, boolean skipEqual, String serviceName) {
    PersistenceService service = services.get(serviceName);
    if (service instanceof QueryablePersistenceService) {
      QueryablePersistenceService qService = (QueryablePersistenceService) service;
      FilterCriteria filter = new FilterCriteria();
      filter.setItemName(item.getName());
      filter.setOrdering(Ordering.DESCENDING);

      filter.setPageSize(skipEqual ? 1000 : 1);
      int startPage = 0;
      filter.setPageNumber(startPage);

      Iterable<HistoricItem> items = qService.query(filter);
      while (items != null) {
        Iterator<HistoricItem> itemIterator = items.iterator();
        int itemCount = 0;
        while (itemIterator.hasNext()) {
          HistoricItem historicItem = itemIterator.next();
          itemCount++;
          if (!skipEqual || (skipEqual && !historicItem.getState().equals(item.getState()))) {
            return historicItem;
          }
        }
        if (itemCount == filter.getPageSize()) {
          filter.setPageNumber(++startPage);
          items = qService.query(filter);
        }
        else {
          items = null;
        }
      }
View Full Code Here

  }

  static private Iterable<HistoricItem> getAllStatesSince(Item item, AbstractInstant timestamp, String serviceName) {
    PersistenceService service = services.get(serviceName);
    if (service instanceof QueryablePersistenceService) {
      QueryablePersistenceService qService = (QueryablePersistenceService) service;
      FilterCriteria filter = new FilterCriteria();
      filter.setBeginDate(timestamp.toDate());
      filter.setItemName(item.getName());
      filter.setOrdering(Ordering.ASCENDING);
      return qService.query(filter);
    } else {
      logger.warn("There is no queryable persistence service registered with the name '{}'", serviceName);
      return Collections.emptySet();
    }
  }
View Full Code Here

  @Override
  public BufferedImage createChart(String service, String theme, Date startTime, Date endTime,
      int height, int width, String items, String groups) throws ItemNotFoundException, IllegalArgumentException {

    QueryablePersistenceService persistenceService;

    int seriesCounter = 0;

    // Create Chart
    Chart chart = new ChartBuilder().width(width).height(height).build();
View Full Code Here

TOP

Related Classes of org.openhab.core.persistence.QueryablePersistenceService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.