Search in sources :

Example 6 with CalDavQuery

use of org.openhab.io.caldav.CalDavQuery in project openhab1-addons by openhab.

the class CalDavBinding method updateItemsForEvent.

private void updateItemsForEvent() {
    CalDavBindingProvider bindingProvider = null;
    for (CalDavBindingProvider bindingProvider_ : this.providers) {
        bindingProvider = bindingProvider_;
    }
    if (bindingProvider == null) {
        logger.error("no binding provider found");
        return;
    }
    Map<Integer, List<CalDavEvent>> eventCache = new HashMap<Integer, List<CalDavEvent>>();
    for (String item : bindingProvider.getItemNames()) {
        CalDavConfig config = bindingProvider.getConfig(item);
        List<CalDavEvent> events = eventCache.get(config.getUniqueEventListKey());
        if (events == null) {
            CalDavQuery query = getQueryForConfig(config);
            events = this.calDavLoader.getEvents(query);
            eventCache.put(config.getUniqueEventListKey(), events);
        }
        this.updateItem(item, config, events);
    }
}
Also used : HashMap(java.util.HashMap) CalDavEvent(org.openhab.io.caldav.CalDavEvent) CalDavBindingProvider(org.openhab.binding.caldav_personal.CalDavBindingProvider) ArrayList(java.util.ArrayList) List(java.util.List) CalDavQuery(org.openhab.io.caldav.CalDavQuery)

Aggregations

CalDavQuery (org.openhab.io.caldav.CalDavQuery)6 CalDavEvent (org.openhab.io.caldav.CalDavEvent)5 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 CalDavBindingProvider (org.openhab.binding.caldav_command.CalDavBindingProvider)2 EventUtils (org.openhab.io.caldav.EventUtils)2 List (java.util.List)1 CalDavBindingProvider (org.openhab.binding.caldav_personal.CalDavBindingProvider)1 Item (org.openhab.core.items.Item)1 ItemNotFoundException (org.openhab.core.items.ItemNotFoundException)1 DecimalType (org.openhab.core.library.types.DecimalType)1 HistoricItem (org.openhab.core.persistence.HistoricItem)1 State (org.openhab.core.types.State)1