mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[mongodb] Fix handling of GroupItems on restore (#16978)
Related to https://github.com/openhab/openhab-core/pull/4257 Signed-off-by: Jan N. Klug <github@klug.nrw> Signed-off-by: Ciprian Pascu <contact@ciprianpascu.ro>
This commit is contained in:
parent
1a11476ea7
commit
1cda4473c6
@ -26,6 +26,7 @@ import org.bson.types.Binary;
|
|||||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||||
import org.eclipse.jdt.annotation.Nullable;
|
import org.eclipse.jdt.annotation.Nullable;
|
||||||
import org.openhab.core.items.GenericItem;
|
import org.openhab.core.items.GenericItem;
|
||||||
|
import org.openhab.core.items.GroupItem;
|
||||||
import org.openhab.core.items.Item;
|
import org.openhab.core.items.Item;
|
||||||
import org.openhab.core.library.items.CallItem;
|
import org.openhab.core.library.items.CallItem;
|
||||||
import org.openhab.core.library.items.ColorItem;
|
import org.openhab.core.library.items.ColorItem;
|
||||||
@ -77,11 +78,12 @@ public class MongoDBTypeConversions {
|
|||||||
* @throws IllegalArgumentException If the item type is not supported.
|
* @throws IllegalArgumentException If the item type is not supported.
|
||||||
*/
|
*/
|
||||||
public static State getStateFromDocument(Item item, Document doc) {
|
public static State getStateFromDocument(Item item, Document doc) {
|
||||||
BiFunction<Item, Document, State> converter = ITEM_STATE_CONVERTERS.get(item.getClass());
|
Item realItem = item instanceof GroupItem groupItem ? groupItem.getBaseItem() : item;
|
||||||
|
BiFunction<Item, Document, State> converter = ITEM_STATE_CONVERTERS.get(realItem.getClass());
|
||||||
if (converter != null) {
|
if (converter != null) {
|
||||||
return converter.apply(item, doc);
|
return converter.apply(realItem, doc);
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("Unsupported item type: " + item.getClass().getName());
|
throw new IllegalArgumentException("Unsupported item type: " + realItem.getClass().getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user