From 7548f26db60e22abbc747eda4c09bb76d12ad23a Mon Sep 17 00:00:00 2001 From: Holger Friedrich Date: Sun, 26 Jan 2025 14:55:08 +0100 Subject: [PATCH] Remove RegistryHook (#4568) Remove RegistryHook which is not longer used. Remove related methods from ItemRegistry and ItemUiRegistry. Signed-off-by: Holger Friedrich --- .../ui/internal/items/ItemUIRegistryImpl.java | 11 ----- .../core/internal/items/ItemRegistryImpl.java | 44 ------------------- .../org/openhab/core/items/ItemRegistry.java | 14 ------ .../org/openhab/core/items/RegistryHook.java | 37 ---------------- ...enericItemChannelLinkProviderJavaTest.java | 4 +- 5 files changed, 1 insertion(+), 109 deletions(-) delete mode 100644 bundles/org.openhab.core/src/main/java/org/openhab/core/items/RegistryHook.java diff --git a/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/items/ItemUIRegistryImpl.java b/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/items/ItemUIRegistryImpl.java index 9933d719c67..f78dc067be8 100644 --- a/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/items/ItemUIRegistryImpl.java +++ b/bundles/org.openhab.core.ui/src/main/java/org/openhab/core/ui/internal/items/ItemUIRegistryImpl.java @@ -45,7 +45,6 @@ import org.openhab.core.items.ItemNotFoundException; import org.openhab.core.items.ItemNotUniqueException; import org.openhab.core.items.ItemRegistry; -import org.openhab.core.items.RegistryHook; import org.openhab.core.library.items.CallItem; import org.openhab.core.library.items.ColorItem; import org.openhab.core.library.items.ContactItem; @@ -1428,16 +1427,6 @@ public Item add(Item element) { return itemRegistry.remove(itemName, recursive); } - @Override - public void addRegistryHook(RegistryHook hook) { - itemRegistry.addRegistryHook(hook); - } - - @Override - public void removeRegistryHook(RegistryHook hook) { - itemRegistry.removeRegistryHook(hook); - } - @Override public @Nullable String getUnitForWidget(Widget w) { String itemName = w.getItem(); diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/internal/items/ItemRegistryImpl.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/internal/items/ItemRegistryImpl.java index 8255997930d..326b2afe8af 100644 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/internal/items/ItemRegistryImpl.java +++ b/bundles/org.openhab.core/src/main/java/org/openhab/core/internal/items/ItemRegistryImpl.java @@ -15,7 +15,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @@ -36,7 +35,6 @@ import org.openhab.core.items.Metadata; import org.openhab.core.items.MetadataAwareItem; import org.openhab.core.items.MetadataRegistry; -import org.openhab.core.items.RegistryHook; import org.openhab.core.items.events.ItemEventFactory; import org.openhab.core.service.CommandDescriptionService; import org.openhab.core.service.ReadyService; @@ -68,7 +66,6 @@ public class ItemRegistryImpl extends AbstractRegistry> registryHooks = new CopyOnWriteArrayList<>(); private @Nullable StateDescriptionService stateDescriptionService; private @Nullable CommandDescriptionService commandDescriptionService; private final MetadataRegistry metadataRegistry; @@ -388,30 +385,9 @@ protected void notifyListenersAboutUpdatedElement(Item oldElement, Item element) super.notifyListenersAboutUpdatedElement(oldElement, element); } - @Override - public void added(Provider provider, Item element) { - for (RegistryHook registryHook : registryHooks) { - registryHook.beforeAdding(element); - } - super.added(provider, element); - } - - @Override - protected void addProvider(Provider provider) { - for (Item element : provider.getAll()) { - for (RegistryHook registryHook : registryHooks) { - registryHook.beforeAdding(element); - } - } - super.addProvider(provider); - } - @Override public void removed(Provider provider, Item element) { super.removed(provider, element); - for (RegistryHook registryHook : registryHooks) { - registryHook.afterRemoving(element); - } if (provider instanceof ManagedItemProvider) { // remove our metadata for that item logger.debug("Item {} was removed, trying to clean up corresponding metadata", element.getUID()); @@ -419,26 +395,6 @@ public void removed(Provider provider, Item element) { } } - @Override - protected void removeProvider(Provider provider) { - super.removeProvider(provider); - for (Item element : provider.getAll()) { - for (RegistryHook registryHook : registryHooks) { - registryHook.afterRemoving(element); - } - } - } - - @Override - public void addRegistryHook(RegistryHook hook) { - registryHooks.add(hook); - } - - @Override - public void removeRegistryHook(RegistryHook hook) { - registryHooks.remove(hook); - } - @Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC) public void setStateDescriptionService(StateDescriptionService stateDescriptionService) { this.stateDescriptionService = stateDescriptionService; diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/items/ItemRegistry.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/items/ItemRegistry.java index 35a6d41beee..42471226287 100644 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/items/ItemRegistry.java +++ b/bundles/org.openhab.core/src/main/java/org/openhab/core/items/ItemRegistry.java @@ -105,18 +105,4 @@ public interface ItemRegistry extends Registry { */ @Nullable Item remove(String itemName, boolean recursive); - - /** - * Add a hook to be informed before adding/after removing items. - * - * @param hook - */ - void addRegistryHook(RegistryHook hook); - - /** - * Remove the hook again. - * - * @param hook - */ - void removeRegistryHook(RegistryHook hook); } diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/items/RegistryHook.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/items/RegistryHook.java deleted file mode 100644 index c2803f12aff..00000000000 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/items/RegistryHook.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2010-2025 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.core.items; - -import org.openhab.core.common.registry.Identifiable; - -/** - * A listener to be informed before entities are added respectively after they are removed. - * - * @author Simon Kaufmann - Initial contribution - */ -public interface RegistryHook> { - - /** - * Notifies the listener that an element is going to be added to the registry. - * - * @param element the element to be added - */ - void beforeAdding(E element); - - /** - * Notifies the listener that an element was removed from the registry. - * - * @param element the element that was removed - */ - void afterRemoving(E element); -} diff --git a/itests/org.openhab.core.model.thing.tests/src/main/java/org/openhab/core/model/thing/test/GenericItemChannelLinkProviderJavaTest.java b/itests/org.openhab.core.model.thing.tests/src/main/java/org/openhab/core/model/thing/test/GenericItemChannelLinkProviderJavaTest.java index feb92bb4f37..47e72174cec 100644 --- a/itests/org.openhab.core.model.thing.tests/src/main/java/org/openhab/core/model/thing/test/GenericItemChannelLinkProviderJavaTest.java +++ b/itests/org.openhab.core.model.thing.tests/src/main/java/org/openhab/core/model/thing/test/GenericItemChannelLinkProviderJavaTest.java @@ -96,8 +96,6 @@ public void afterEach() throws Exception { @Test public void testIntegrationWithGenericItemProvider() throws Exception { - Thread.sleep(2500); // Wait for the ChannelItemProvider to join the game - Collection things = thingRegistry.getAll(); assertThat(things.size(), is(0)); @@ -133,7 +131,7 @@ public void testIntegrationWithGenericItemProvider() throws Exception { // Now add the model again modelRepository.addOrRefreshModel(ITEMS_TESTMODEL_NAME, new ByteArrayInputStream(itemsModel.getBytes())); - assertThat(itemRegistry.getItems().size(), is(2)); // -> ensure ChannelItemProvider cleans up properly + assertThat(itemRegistry.getItems().size(), is(2)); // -> ensure proper clean-up assertThat(itemChannelLinkRegistry.getAll().size(), is(1)); }