test_class.declarator: DEVICE_ID = "deviceId"
test_class.modifier: private static final
test_class.original_string: private static final String DEVICE_ID = "deviceId";
test_class.type: String
test_class.var_name: DEVICE_ID
test_class.declarator: DEVICE_ID_KEY = "deviceIdKey"
test_class.modifier: private static final
test_class.original_string: private static final String DEVICE_ID_KEY = "deviceIdKey";
test_class.type: String
test_class.var_name: DEVICE_ID_KEY
test_class.declarator: OTHER_KEY = "otherKey"
test_class.modifier: private static final
test_class.original_string: private static final String OTHER_KEY = "otherKey";
test_class.type: String
test_class.var_name: OTHER_KEY
test_class.declarator: OTHER_VALUE = "deviceId"
test_class.modifier: private static final
test_class.original_string: private static final String OTHER_VALUE = "deviceId";
test_class.type: String
test_class.var_name: OTHER_VALUE
test_class.declarator: CONFIG_KEY = "configKey"
test_class.modifier: private static final
test_class.original_string: private static final String CONFIG_KEY = "configKey";
test_class.type: String
test_class.var_name: CONFIG_KEY
test_class.declarator: CONFIG_VALUE = "configValue"
test_class.modifier: private static final
test_class.original_string: private static final String CONFIG_VALUE = "configValue";
test_class.type: String
test_class.var_name: CONFIG_VALUE
test_class.declarator: THING_TYPE_UID = new ThingTypeUID("test", "test")
test_class.modifier: private static final
test_class.original_string: private static final ThingTypeUID THING_TYPE_UID = new ThingTypeUID("test", "test");
test_class.type: ThingTypeUID
test_class.var_name: THING_TYPE_UID
test_class.declarator: THING_TYPE_UID2 = new ThingTypeUID("test2", "test2")
test_class.modifier: private static final
test_class.original_string: private static final ThingTypeUID THING_TYPE_UID2 = new ThingTypeUID("test2", "test2");
test_class.type: ThingTypeUID
test_class.var_name: THING_TYPE_UID2
test_class.declarator: THING_TYPE_UID3 = new ThingTypeUID("test3", "test3")
test_class.modifier: private static final
test_class.original_string: private static final ThingTypeUID THING_TYPE_UID3 = new ThingTypeUID("test3", "test3");
test_class.type: ThingTypeUID
test_class.var_name: THING_TYPE_UID3
test_class.declarator: THING_UID = new ThingUID(THING_TYPE_UID, "test")
test_class.modifier: private static final
test_class.original_string: private static final ThingUID THING_UID = new ThingUID(THING_TYPE_UID, "test");
test_class.type: ThingUID
test_class.var_name: THING_UID
test_class.declarator: THING_UID2 = new ThingUID(THING_TYPE_UID, "test2")
test_class.modifier: private static final
test_class.original_string: private static final ThingUID THING_UID2 = new ThingUID(THING_TYPE_UID, "test2");
test_class.type: ThingUID
test_class.var_name: THING_UID2
test_class.declarator: THING_UID3 = new ThingUID(THING_TYPE_UID3, "test3")
test_class.modifier: private static final
test_class.original_string: private static final ThingUID THING_UID3 = new ThingUID(THING_TYPE_UID3, "test3");
test_class.type: ThingUID
test_class.var_name: THING_UID3
test_class.declarator: THING_TYPE = ThingTypeBuilder.instance(THING_TYPE_UID, "label").isListed(true)
              .withRepresentationProperty(DEVICE_ID_KEY).build()
test_class.modifier: private static final
test_class.original_string: private static final ThingType THING_TYPE = ThingTypeBuilder.instance(THING_TYPE_UID, "label").isListed(true)
              .withRepresentationProperty(DEVICE_ID_KEY).build();
test_class.type: ThingType
test_class.var_name: THING_TYPE
test_class.declarator: THING_TYPE2 = ThingTypeBuilder.instance(THING_TYPE_UID2, "label").isListed(true)
              .withRepresentationProperty(CONFIG_KEY).build()
test_class.modifier: private static final
test_class.original_string: private static final ThingType THING_TYPE2 = ThingTypeBuilder.instance(THING_TYPE_UID2, "label").isListed(true)
              .withRepresentationProperty(CONFIG_KEY).build();
test_class.type: ThingType
test_class.var_name: THING_TYPE2
test_class.declarator: THING_TYPE3 = ThingTypeBuilder.instance(THING_TYPE_UID3, "label").isListed(true)
              .withRepresentationProperty(OTHER_KEY).build()
test_class.modifier: private static final
test_class.original_string: private static final ThingType THING_TYPE3 = ThingTypeBuilder.instance(THING_TYPE_UID3, "label").isListed(true)
              .withRepresentationProperty(OTHER_KEY).build();
test_class.type: ThingType
test_class.var_name: THING_TYPE3
test_class.declarator: THING_PROPERTIES = Map.of(DEVICE_ID_KEY, DEVICE_ID)
test_class.modifier: private static final
test_class.original_string: private static final Map<String, String> THING_PROPERTIES = Map.of(DEVICE_ID_KEY, DEVICE_ID);
test_class.type: Map<String, String>
test_class.var_name: THING_PROPERTIES
test_class.declarator: OTHER_THING_PROPERTIES = Map.of(OTHER_KEY, OTHER_VALUE)
test_class.modifier: private static final
test_class.original_string: private static final Map<String, String> OTHER_THING_PROPERTIES = Map.of(OTHER_KEY, OTHER_VALUE);
test_class.type: Map<String, String>
test_class.var_name: OTHER_THING_PROPERTIES
test_class.declarator: CONFIG = new Configuration(Map.of(CONFIG_KEY, CONFIG_VALUE))
test_class.modifier: private static final
test_class.original_string: private static final Configuration CONFIG = new Configuration(Map.of(CONFIG_KEY, CONFIG_VALUE));
test_class.type: Configuration
test_class.var_name: CONFIG
test_class.declarator: automaticInboxProcessor
test_class.modifier: private
test_class.original_string: private AutomaticInboxProcessor automaticInboxProcessor;
test_class.type: AutomaticInboxProcessor
test_class.var_name: automaticInboxProcessor
test_class.declarator: inbox
test_class.modifier: private
test_class.original_string: private PersistentInbox inbox;
test_class.type: PersistentInbox
test_class.var_name: inbox
test_class.declarator: thingRegistry
test_class.modifier: private @Mock
test_class.original_string: private @Mock ThingRegistry thingRegistry;
test_class.type: ThingRegistry
test_class.var_name: thingRegistry
test_class.declarator: thingTypeRegistry
test_class.modifier: private @Mock
test_class.original_string: private @Mock ThingTypeRegistry thingTypeRegistry;
test_class.type: ThingTypeRegistry
test_class.var_name: thingTypeRegistry
test_class.declarator: thing
test_class.modifier: private @Mock
test_class.original_string: private @Mock Thing thing;
test_class.type: Thing
test_class.var_name: thing
test_class.declarator: thing2
test_class.modifier: private @Mock
test_class.original_string: private @Mock Thing thing2;
test_class.type: Thing
test_class.var_name: thing2
test_class.declarator: thing3
test_class.modifier: private @Mock
test_class.original_string: private @Mock Thing thing3;
test_class.type: Thing
test_class.var_name: thing3
test_class.declarator: thingStatusInfoChangedEvent
test_class.modifier: private @Mock
test_class.original_string: private @Mock ThingStatusInfoChangedEvent thingStatusInfoChangedEvent;
test_class.type: ThingStatusInfoChangedEvent
test_class.var_name: thingStatusInfoChangedEvent
test_class.declarator: configDescriptionRegistry
test_class.modifier: private @Mock
test_class.original_string: private @Mock ConfigDescriptionRegistry configDescriptionRegistry;
test_class.type: ConfigDescriptionRegistry
test_class.var_name: configDescriptionRegistry
test_class.declarator: thingHandlerFactory
test_class.modifier: private @Mock
test_class.original_string: private @Mock ThingHandlerFactory thingHandlerFactory;
test_class.type: ThingHandlerFactory
test_class.var_name: thingHandlerFactory
test_class.declarator: thingProvider
test_class.modifier: private @Mock
test_class.original_string: private @Mock ManagedThingProvider thingProvider;
test_class.type: ManagedThingProvider
test_class.var_name: thingProvider
test_class.file: bundles/org.openhab.core.config.discovery/src/test/java/org/openhab/core/config/discovery/internal/AutomaticInboxProcessorTest.java
test_class.identifier: AutomaticInboxProcessorTest
test_case.body: @Test
      public void testOneThingOutOfTwoWithSameRepresentationPropertyButDifferentBindingIdIsBeingRemoved() {
          inbox.add(DiscoveryResultBuilder.create(THING_UID).withProperty(DEVICE_ID_KEY, DEVICE_ID)
                  .withRepresentationProperty(DEVICE_ID_KEY).build());
          inbox.setFlag(THING_UID, DiscoveryResultFlag.IGNORED);
  
          inbox.add(DiscoveryResultBuilder.create(THING_UID3).withProperty(DEVICE_ID_KEY, DEVICE_ID)
                  .withRepresentationProperty(DEVICE_ID_KEY).build());
          inbox.setFlag(THING_UID3, DiscoveryResultFlag.IGNORED);
  
          List<DiscoveryResult> results = inbox.stream().filter(withFlag(DiscoveryResultFlag.IGNORED))
                  .collect(Collectors.toList());
          assertThat(results.size(), is(2));
  
          automaticInboxProcessor.removed(thing);
  
          results = inbox.getAll();
          assertThat(results.size(), is(1));
          assertThat(results.get(0).getThingUID(), is(equalTo(THING_UID3)));
      }
test_case.class_method_signature: AutomaticInboxProcessorTest.testOneThingOutOfTwoWithSameRepresentationPropertyButDifferentBindingIdIsBeingRemoved()
test_case.full_signature: @Test public void testOneThingOutOfTwoWithSameRepresentationPropertyButDifferentBindingIdIsBeingRemoved()
test_case.identifier: testOneThingOutOfTwoWithSameRepresentationPropertyButDifferentBindingIdIsBeingRemoved
test_case.invocations: add build withRepresentationProperty withProperty create setFlag add build withRepresentationProperty withProperty create setFlag collect filter stream withFlag toList assertThat size is removed getAll assertThat size is assertThat getThingUID get is equalTo
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testOneThingOutOfTwoWithSameRepresentationPropertyButDifferentBindingIdIsBeingRemoved()
focal_class.declarator: AUTO_IGNORE_CONFIG_PROPERTY = "autoIgnore"
focal_class.modifier: public static final
focal_class.original_string: public static final String AUTO_IGNORE_CONFIG_PROPERTY = "autoIgnore";
focal_class.type: String
focal_class.var_name: AUTO_IGNORE_CONFIG_PROPERTY
focal_class.declarator: ALWAYS_AUTO_APPROVE_CONFIG_PROPERTY = "autoApprove"
focal_class.modifier: public static final
focal_class.original_string: public static final String ALWAYS_AUTO_APPROVE_CONFIG_PROPERTY = "autoApprove";
focal_class.type: String
focal_class.var_name: ALWAYS_AUTO_APPROVE_CONFIG_PROPERTY
focal_class.declarator: CONFIG_URI = "system:inbox"
focal_class.modifier: protected static final
focal_class.original_string: protected static final String CONFIG_URI = "system:inbox";
focal_class.type: String
focal_class.var_name: CONFIG_URI
focal_class.declarator: logger = LoggerFactory.getLogger(AutomaticInboxProcessor.class)
focal_class.modifier: private final
focal_class.original_string: private final Logger logger = LoggerFactory.getLogger(AutomaticInboxProcessor.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: thingRegistry
focal_class.modifier: private final
focal_class.original_string: private final ThingRegistry thingRegistry;
focal_class.type: ThingRegistry
focal_class.var_name: thingRegistry
focal_class.declarator: thingTypeRegistry
focal_class.modifier: private final
focal_class.original_string: private final ThingTypeRegistry thingTypeRegistry;
focal_class.type: ThingTypeRegistry
focal_class.var_name: thingTypeRegistry
focal_class.declarator: inbox
focal_class.modifier: private final
focal_class.original_string: private final Inbox inbox;
focal_class.type: Inbox
focal_class.var_name: inbox
focal_class.declarator: autoIgnore = true
focal_class.modifier: private
focal_class.original_string: private boolean autoIgnore = true;
focal_class.type: boolean
focal_class.var_name: autoIgnore
focal_class.declarator: alwaysAutoApprove = false
focal_class.modifier: private
focal_class.original_string: private boolean alwaysAutoApprove = false;
focal_class.type: boolean
focal_class.var_name: alwaysAutoApprove
focal_class.declarator: inboxAutoApprovePredicates = new CopyOnWriteArraySet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<InboxAutoApprovePredicate> inboxAutoApprovePredicates = new CopyOnWriteArraySet<>();
focal_class.type: Set<InboxAutoApprovePredicate>
focal_class.var_name: inboxAutoApprovePredicates
focal_class.file: bundles/org.openhab.core.config.discovery/src/main/java/org/openhab/core/config/discovery/internal/AutomaticInboxProcessor.java
focal_class.identifier: AutomaticInboxProcessor
focal_class.interfaces: implements InboxListener, RegistryChangeListener<Thing>
focal_class.class_method_signature: AutomaticInboxProcessor.AutomaticInboxProcessor(final @Reference ThingTypeRegistry thingTypeRegistry,
              final @Reference ThingRegistry thingRegistry, final @Reference Inbox inbox)
focal_class.full_signature: @Activate public  AutomaticInboxProcessor(final @Reference ThingTypeRegistry thingTypeRegistry,
              final @Reference ThingRegistry thingRegistry, final @Reference Inbox inbox)
focal_class.identifier: AutomaticInboxProcessor
focal_class.modifiers: @Activate public
focal_class.parameters: (final @Reference ThingTypeRegistry thingTypeRegistry,
              final @Reference ThingRegistry thingRegistry, final @Reference Inbox inbox)
focal_class.signature:  AutomaticInboxProcessor(final @Reference ThingTypeRegistry thingTypeRegistry,
              final @Reference ThingRegistry thingRegistry, final @Reference Inbox inbox)
focal_class.class_method_signature: AutomaticInboxProcessor.activate(@Nullable Map<String, @Nullable Object> properties)
focal_class.full_signature: @Activate protected void activate(@Nullable Map<String, @Nullable Object> properties)
focal_class.identifier: activate
focal_class.modifiers: @Activate protected
focal_class.parameters: (@Nullable Map<String, @Nullable Object> properties)
focal_class.return: void
focal_class.signature: void activate(@Nullable Map<String, @Nullable Object> properties)
focal_class.class_method_signature: AutomaticInboxProcessor.modified(@Nullable Map<String, @Nullable Object> properties)
focal_class.full_signature: @Modified protected void modified(@Nullable Map<String, @Nullable Object> properties)
focal_class.identifier: modified
focal_class.modifiers: @Modified protected
focal_class.parameters: (@Nullable Map<String, @Nullable Object> properties)
focal_class.return: void
focal_class.signature: void modified(@Nullable Map<String, @Nullable Object> properties)
focal_class.class_method_signature: AutomaticInboxProcessor.deactivate()
focal_class.full_signature: @Deactivate protected void deactivate()
focal_class.identifier: deactivate
focal_class.modifiers: @Deactivate protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void deactivate()
focal_class.class_method_signature: AutomaticInboxProcessor.receiveTypedEvent(ThingStatusInfoChangedEvent event)
focal_class.full_signature: @Override public void receiveTypedEvent(ThingStatusInfoChangedEvent event)
focal_class.identifier: receiveTypedEvent
focal_class.modifiers: @Override public
focal_class.parameters: (ThingStatusInfoChangedEvent event)
focal_class.return: void
focal_class.signature: void receiveTypedEvent(ThingStatusInfoChangedEvent event)
focal_class.class_method_signature: AutomaticInboxProcessor.thingAdded(Inbox inbox, DiscoveryResult result)
focal_class.full_signature: @Override public void thingAdded(Inbox inbox, DiscoveryResult result)
focal_class.identifier: thingAdded
focal_class.modifiers: @Override public
focal_class.parameters: (Inbox inbox, DiscoveryResult result)
focal_class.return: void
focal_class.signature: void thingAdded(Inbox inbox, DiscoveryResult result)
focal_class.class_method_signature: AutomaticInboxProcessor.thingUpdated(Inbox inbox, DiscoveryResult result)
focal_class.full_signature: @Override public void thingUpdated(Inbox inbox, DiscoveryResult result)
focal_class.identifier: thingUpdated
focal_class.modifiers: @Override public
focal_class.parameters: (Inbox inbox, DiscoveryResult result)
focal_class.return: void
focal_class.signature: void thingUpdated(Inbox inbox, DiscoveryResult result)
focal_class.class_method_signature: AutomaticInboxProcessor.thingRemoved(Inbox inbox, DiscoveryResult result)
focal_class.full_signature: @Override public void thingRemoved(Inbox inbox, DiscoveryResult result)
focal_class.identifier: thingRemoved
focal_class.modifiers: @Override public
focal_class.parameters: (Inbox inbox, DiscoveryResult result)
focal_class.return: void
focal_class.signature: void thingRemoved(Inbox inbox, DiscoveryResult result)
focal_class.class_method_signature: AutomaticInboxProcessor.added(Thing element)
focal_class.full_signature: @Override public void added(Thing element)
focal_class.identifier: added
focal_class.modifiers: @Override public
focal_class.parameters: (Thing element)
focal_class.return: void
focal_class.signature: void added(Thing element)
focal_class.class_method_signature: AutomaticInboxProcessor.removed(Thing element)
focal_class.full_signature: @Override public void removed(Thing element)
focal_class.identifier: removed
focal_class.modifiers: @Override public
focal_class.parameters: (Thing element)
focal_class.return: void
focal_class.signature: void removed(Thing element)
focal_class.class_method_signature: AutomaticInboxProcessor.updated(Thing oldElement, Thing element)
focal_class.full_signature: @Override public void updated(Thing oldElement, Thing element)
focal_class.identifier: updated
focal_class.modifiers: @Override public
focal_class.parameters: (Thing oldElement, Thing element)
focal_class.return: void
focal_class.signature: void updated(Thing oldElement, Thing element)
focal_class.class_method_signature: AutomaticInboxProcessor.getRepresentationValue(DiscoveryResult result)
focal_class.full_signature: private @Nullable String getRepresentationValue(DiscoveryResult result)
focal_class.identifier: getRepresentationValue
focal_class.modifiers: private @Nullable
focal_class.parameters: (DiscoveryResult result)
focal_class.return: String
focal_class.signature: String getRepresentationValue(DiscoveryResult result)
focal_class.class_method_signature: AutomaticInboxProcessor.autoIgnore(@Nullable Thing thing, ThingStatus thingStatus)
focal_class.full_signature: private void autoIgnore(@Nullable Thing thing, ThingStatus thingStatus)
focal_class.identifier: autoIgnore
focal_class.modifiers: private
focal_class.parameters: (@Nullable Thing thing, ThingStatus thingStatus)
focal_class.return: void
focal_class.signature: void autoIgnore(@Nullable Thing thing, ThingStatus thingStatus)
focal_class.class_method_signature: AutomaticInboxProcessor.checkAndIgnoreInInbox(@Nullable Thing thing)
focal_class.full_signature: private void checkAndIgnoreInInbox(@Nullable Thing thing)
focal_class.identifier: checkAndIgnoreInInbox
focal_class.modifiers: private
focal_class.parameters: (@Nullable Thing thing)
focal_class.return: void
focal_class.signature: void checkAndIgnoreInInbox(@Nullable Thing thing)
focal_class.class_method_signature: AutomaticInboxProcessor.ignoreInInbox(ThingTypeUID thingtypeUID, String representationValue)
focal_class.full_signature: private void ignoreInInbox(ThingTypeUID thingtypeUID, String representationValue)
focal_class.identifier: ignoreInInbox
focal_class.modifiers: private
focal_class.parameters: (ThingTypeUID thingtypeUID, String representationValue)
focal_class.return: void
focal_class.signature: void ignoreInInbox(ThingTypeUID thingtypeUID, String representationValue)
focal_class.class_method_signature: AutomaticInboxProcessor.removePossiblyIgnoredResultInInbox(@Nullable Thing thing)
focal_class.full_signature: private void removePossiblyIgnoredResultInInbox(@Nullable Thing thing)
focal_class.identifier: removePossiblyIgnoredResultInInbox
focal_class.modifiers: private
focal_class.parameters: (@Nullable Thing thing)
focal_class.return: void
focal_class.signature: void removePossiblyIgnoredResultInInbox(@Nullable Thing thing)
focal_class.class_method_signature: AutomaticInboxProcessor.getRepresentationPropertyValueForThing(Thing thing)
focal_class.full_signature: private @Nullable String getRepresentationPropertyValueForThing(Thing thing)
focal_class.identifier: getRepresentationPropertyValueForThing
focal_class.modifiers: private @Nullable
focal_class.parameters: (Thing thing)
focal_class.return: String
focal_class.signature: String getRepresentationPropertyValueForThing(Thing thing)
focal_class.class_method_signature: AutomaticInboxProcessor.removeFromInbox(ThingTypeUID thingtypeUID, String representationValue)
focal_class.full_signature: private void removeFromInbox(ThingTypeUID thingtypeUID, String representationValue)
focal_class.identifier: removeFromInbox
focal_class.modifiers: private
focal_class.parameters: (ThingTypeUID thingtypeUID, String representationValue)
focal_class.return: void
focal_class.signature: void removeFromInbox(ThingTypeUID thingtypeUID, String representationValue)
focal_class.class_method_signature: AutomaticInboxProcessor.autoApproveInboxEntries()
focal_class.full_signature: private void autoApproveInboxEntries()
focal_class.identifier: autoApproveInboxEntries
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void autoApproveInboxEntries()
focal_class.class_method_signature: AutomaticInboxProcessor.isToBeAutoApproved(DiscoveryResult result)
focal_class.full_signature: private boolean isToBeAutoApproved(DiscoveryResult result)
focal_class.identifier: isToBeAutoApproved
focal_class.modifiers: private
focal_class.parameters: (DiscoveryResult result)
focal_class.return: boolean
focal_class.signature: boolean isToBeAutoApproved(DiscoveryResult result)
focal_class.class_method_signature: AutomaticInboxProcessor.addInboxAutoApprovePredicate(InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.full_signature: @Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC) protected void addInboxAutoApprovePredicate(InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.identifier: addInboxAutoApprovePredicate
focal_class.modifiers: @Reference(cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC) protected
focal_class.parameters: (InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.return: void
focal_class.signature: void addInboxAutoApprovePredicate(InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.class_method_signature: AutomaticInboxProcessor.removeInboxAutoApprovePredicate(InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.full_signature: protected void removeInboxAutoApprovePredicate(InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.identifier: removeInboxAutoApprovePredicate
focal_class.modifiers: protected
focal_class.parameters: (InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.return: void
focal_class.signature: void removeInboxAutoApprovePredicate(InboxAutoApprovePredicate inboxAutoApprovePredicate)
focal_class.superclass: extends AbstractTypedEventSubscriber<ThingStatusInfoChangedEvent>
focal_method.body: @Override
      public void removed(Thing element) {
          removePossiblyIgnoredResultInInbox(element);
      }
focal_method.class_method_signature: AutomaticInboxProcessor.removed(Thing element)
focal_method.full_signature: @Override public void removed(Thing element)
focal_method.identifier: removed
focal_method.invocations: removePossiblyIgnoredResultInInbox
focal_method.modifiers: @Override public
focal_method.parameters: (Thing element)
focal_method.return: void
focal_method.signature: void removed(Thing element)