test_class.declarator: THING_TYPE_UID = new ThingTypeUID("binding:type")
test_class.modifier: private static final
test_class.original_string: private static final ThingTypeUID THING_TYPE_UID = new ThingTypeUID("binding:type");
test_class.type: ThingTypeUID
test_class.var_name: THING_TYPE_UID
test_class.declarator: THING_UID = new ThingUID(THING_TYPE_UID, "thingId")
test_class.modifier: private static final
test_class.original_string: private static final ThingUID THING_UID = new ThingUID(THING_TYPE_UID, "thingId");
test_class.type: ThingUID
test_class.var_name: THING_UID
test_class.file: bundles/org.openhab.core.thing/src/test/java/org/openhab/core/thing/util/ThingHelperTest.java
test_class.identifier: ThingHelperTest
test_case.body: @Test
      public void twoThingsAreDifferentAfterPropertiesWereModified() {
          Thing thingA = ThingBuilder.create(THING_TYPE_UID, THING_UID)
                  .withChannels(
                          ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel1"), "itemType").build(),
                          ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel2"), "itemType").build())
                  .withConfiguration(new Configuration()).build();
          thingA.getConfiguration().put("prop1", "value1");
  
          Thing thingB = ThingBuilder.create(THING_TYPE_UID, THING_UID)
                  .withChannels(
                          ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel2"), "itemType").build(),
                          ChannelBuilder.create(new ChannelUID("binding:type:thingId:channel1"), "itemType").build())
                  .withConfiguration(new Configuration()).build();
          thingB.getConfiguration().put("prop1", "value1");
  
          assertTrue(ThingHelper.equals(thingA, thingB));
  
          thingB.getConfiguration().put("prop3", "value3");
  
          assertFalse(ThingHelper.equals(thingA, thingB));
      }
test_case.class_method_signature: ThingHelperTest.twoThingsAreDifferentAfterPropertiesWereModified()
test_case.full_signature: @Test public void twoThingsAreDifferentAfterPropertiesWereModified()
test_case.identifier: twoThingsAreDifferentAfterPropertiesWereModified
test_case.invocations: build withConfiguration withChannels create build create build create put getConfiguration build withConfiguration withChannels create build create build create put getConfiguration assertTrue equals put getConfiguration assertFalse equals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void twoThingsAreDifferentAfterPropertiesWereModified()
focal_class.file: bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/util/ThingHelper.java
focal_class.identifier: ThingHelper
focal_class.class_method_signature: ThingHelper.equals(Thing a, Thing b)
focal_class.full_signature: public static boolean equals(Thing a, Thing b)
focal_class.identifier: equals
focal_class.modifiers: public static
focal_class.parameters: (Thing a, Thing b)
focal_class.return: boolean
focal_class.signature: boolean equals(Thing a, Thing b)
focal_class.class_method_signature: ThingHelper.toString(List<Channel> channels)
focal_class.full_signature: private static String toString(List<Channel> channels)
focal_class.identifier: toString
focal_class.modifiers: private static
focal_class.parameters: (List<Channel> channels)
focal_class.return: String
focal_class.signature: String toString(List<Channel> channels)
focal_class.class_method_signature: ThingHelper.addChannelsToThing(Thing thing, Collection<Channel> channels)
focal_class.full_signature: public static void addChannelsToThing(Thing thing, Collection<Channel> channels)
focal_class.identifier: addChannelsToThing
focal_class.modifiers: public static
focal_class.parameters: (Thing thing, Collection<Channel> channels)
focal_class.return: void
focal_class.signature: void addChannelsToThing(Thing thing, Collection<Channel> channels)
focal_class.class_method_signature: ThingHelper.ensureUniqueChannels(final Channel[] channels)
focal_class.full_signature: public static void ensureUniqueChannels(final Channel[] channels)
focal_class.identifier: ensureUniqueChannels
focal_class.modifiers: public static
focal_class.parameters: (final Channel[] channels)
focal_class.return: void
focal_class.signature: void ensureUniqueChannels(final Channel[] channels)
focal_class.class_method_signature: ThingHelper.ensureUniqueChannels(final Collection<Channel> channels)
focal_class.full_signature: public static void ensureUniqueChannels(final Collection<Channel> channels)
focal_class.identifier: ensureUniqueChannels
focal_class.modifiers: public static
focal_class.parameters: (final Collection<Channel> channels)
focal_class.return: void
focal_class.signature: void ensureUniqueChannels(final Collection<Channel> channels)
focal_class.class_method_signature: ThingHelper.ensureUniqueChannels(final Collection<Channel> channels, final Channel channel)
focal_class.full_signature: public static void ensureUniqueChannels(final Collection<Channel> channels, final Channel channel)
focal_class.identifier: ensureUniqueChannels
focal_class.modifiers: public static
focal_class.parameters: (final Collection<Channel> channels, final Channel channel)
focal_class.return: void
focal_class.signature: void ensureUniqueChannels(final Collection<Channel> channels, final Channel channel)
focal_class.class_method_signature: ThingHelper.ensureUniqueChannels(final Collection<Channel> channels1, final Collection<Channel> channels2)
focal_class.full_signature: private static void ensureUniqueChannels(final Collection<Channel> channels1, final Collection<Channel> channels2)
focal_class.identifier: ensureUniqueChannels
focal_class.modifiers: private static
focal_class.parameters: (final Collection<Channel> channels1, final Collection<Channel> channels2)
focal_class.return: void
focal_class.signature: void ensureUniqueChannels(final Collection<Channel> channels1, final Collection<Channel> channels2)
focal_class.class_method_signature: ThingHelper.ensureUniqueChannels(final Iterator<Channel> channels, final Set<UID> ids)
focal_class.full_signature: private static Set<UID> ensureUniqueChannels(final Iterator<Channel> channels, final Set<UID> ids)
focal_class.identifier: ensureUniqueChannels
focal_class.modifiers: private static
focal_class.parameters: (final Iterator<Channel> channels, final Set<UID> ids)
focal_class.return: Set<UID>
focal_class.signature: Set<UID> ensureUniqueChannels(final Iterator<Channel> channels, final Set<UID> ids)
focal_class.class_method_signature: ThingHelper.merge(Thing thing, ThingDTO updatedContents)
focal_class.full_signature: public static Thing merge(Thing thing, ThingDTO updatedContents)
focal_class.identifier: merge
focal_class.modifiers: public static
focal_class.parameters: (Thing thing, ThingDTO updatedContents)
focal_class.return: Thing
focal_class.signature: Thing merge(Thing thing, ThingDTO updatedContents)
focal_method.body: public static boolean equals(Thing a, Thing b) {
          if (!a.getUID().equals(b.getUID())) {
              return false;
          }
          // bridge
          if (!Objects.equals(a.getBridgeUID(), b.getBridgeUID())) {
              return false;
          }
          // configuration
          if (!Objects.equals(a.getConfiguration(), b.getConfiguration())) {
              return false;
          }
          // label
          if (!Objects.equals(a.getLabel(), b.getLabel())) {
              return false;
          }
          // location
          if (!Objects.equals(a.getLocation(), b.getLocation())) {
              return false;
          }
          // channels
          List<Channel> channelsOfA = a.getChannels();
          List<Channel> channelsOfB = b.getChannels();
          if (channelsOfA.size() != channelsOfB.size()) {
              return false;
          }
          if (!toString(channelsOfA).equals(toString(channelsOfB))) {
              return false;
          }
          return true;
      }
focal_method.class_method_signature: ThingHelper.equals(Thing a, Thing b)
focal_method.full_signature: public static boolean equals(Thing a, Thing b)
focal_method.identifier: equals
focal_method.invocations: equals getUID getUID equals getBridgeUID getBridgeUID equals getConfiguration getConfiguration equals getLabel getLabel equals getLocation getLocation getChannels getChannels size size equals toString toString
focal_method.modifiers: public static
focal_method.parameters: (Thing a, Thing b)
focal_method.return: boolean
focal_method.signature: boolean equals(Thing a, Thing b)