diff --git a/src/main/java/zeenea/connector/common/ItemInventory.java b/src/main/java/zeenea/connector/common/ItemInventory.java index b9908fc..e2c2c8e 100644 --- a/src/main/java/zeenea/connector/common/ItemInventory.java +++ b/src/main/java/zeenea/connector/common/ItemInventory.java @@ -37,12 +37,28 @@ private ItemInventory(Builder builder) { * @param itemIdentifier the identifier for the item * @param labelPath the path of labels associated with the item * @return a new ItemInventory instance + * @deprecated since 2.3.0 */ + @Deprecated( + since = "Deprecated since version 2.3.0. Scheduled for removal in version 3.0.0.", + forRemoval = true) public static ItemInventory of( @NotNull ItemIdentifier itemIdentifier, @NotNull List labelPath) { return builder().itemIdentifier(itemIdentifier).labels(labelPath).build(); } + /** + * Creates a new ItemInventory instance with the specified item and label identifiers. + * + * @param itemIdentifier the identifier for the item + * @param labelIdentifier the label identifier associated with the item + * @return a new ItemInventory instance + */ + public static ItemInventory of( + @NotNull ItemIdentifier itemIdentifier, @NotNull LabelIdentifier labelIdentifier) { + return builder().itemIdentifier(itemIdentifier).labelIdentifier(labelIdentifier).build(); + } + /** * Gets the identifier for the item. * diff --git a/src/test/java/zeenea/connector/common/ItemInventoryTest.java b/src/test/java/zeenea/connector/common/ItemInventoryTest.java index 6e409d7..d7b0097 100644 --- a/src/test/java/zeenea/connector/common/ItemInventoryTest.java +++ b/src/test/java/zeenea/connector/common/ItemInventoryTest.java @@ -13,11 +13,14 @@ class ItemInventoryTest { void shouldCreateItemInventory() { ItemIdentifier identifier = ItemIdentifier.of(List.of(IdentificationProperty.of("key", "value"))); - List labels = List.of("label1", "label2"); - ItemInventory inventory = ItemInventory.of(identifier, labels); + LabelIdentifier labelIdentifier = + LabelIdentifier.of( + IdentificationProperty.of("label1", "value1"), + IdentificationProperty.of("label2", "value2")); + ItemInventory inventory = ItemInventory.of(identifier, labelIdentifier); assertNotNull(inventory); assertEquals(identifier, inventory.getItemIdentifier()); - assertEquals(labels, inventory.getLabels()); + assertEquals(labelIdentifier, inventory.getLabelIdentifier()); } @Test @@ -25,9 +28,12 @@ void shouldCreateItemInventory() { void shouldBeEqualToAnotherWithSameProperties() { ItemIdentifier identifier = ItemIdentifier.of(List.of(IdentificationProperty.of("key", "value"))); - List labels = List.of("label1", "label2"); - ItemInventory inventory1 = ItemInventory.of(identifier, labels); - ItemInventory inventory2 = ItemInventory.of(identifier, labels); + LabelIdentifier labelIdentifier = + LabelIdentifier.of( + IdentificationProperty.of("label1", "value1"), + IdentificationProperty.of("label2", "value2")); + ItemInventory inventory1 = ItemInventory.of(identifier, labelIdentifier); + ItemInventory inventory2 = ItemInventory.of(identifier, labelIdentifier); assertEquals(inventory1, inventory2); assertEquals(inventory1.hashCode(), inventory2.hashCode()); } @@ -39,25 +45,36 @@ void shouldNotBeEqualToAnotherWithDifferentProperties() { ItemIdentifier.of(List.of(IdentificationProperty.of("key1", "value1"))); ItemIdentifier identifier2 = ItemIdentifier.of(List.of(IdentificationProperty.of("key2", "value2"))); - List labels1 = List.of("label1", "label2"); - List labels2 = List.of("label3", "label4"); - ItemInventory inventory1 = ItemInventory.of(identifier1, labels1); - ItemInventory inventory2 = ItemInventory.of(identifier2, labels2); + LabelIdentifier labelIdentifier1 = + LabelIdentifier.of( + IdentificationProperty.of("label1", "value1"), + IdentificationProperty.of("label2", "value2")); + LabelIdentifier labelIdentifier2 = + LabelIdentifier.of( + IdentificationProperty.of("label1", "value3"), + IdentificationProperty.of("label2", "value2")); + + ItemInventory inventory1 = ItemInventory.of(identifier1, labelIdentifier1); + ItemInventory inventory2 = ItemInventory.of(identifier2, labelIdentifier2); assertNotEquals(inventory1, inventory2); } @Test @DisplayName("ItemInventory factory should fail with null item identifier") void shouldFailWithNullItemIdentifier() { - List labels = List.of("label1", "label2"); - assertThrows(NullPointerException.class, () -> ItemInventory.of(null, labels)); + LabelIdentifier labelIdentifier = + LabelIdentifier.of( + IdentificationProperty.of("label1", "value1"), + IdentificationProperty.of("label2", "value2")); + assertThrows(NullPointerException.class, () -> ItemInventory.of(null, labelIdentifier)); } @Test - @DisplayName("ItemInventory factory should fail with null label path") - void shouldFailWithNullLabelPath() { + @DisplayName("ItemInventory factory should fail with null label identifier") + void shouldFailWithNullLabelIdentifier() { ItemIdentifier identifier = ItemIdentifier.of(List.of(IdentificationProperty.of("key", "value"))); - assertThrows(NullPointerException.class, () -> ItemInventory.of(identifier, null)); + LabelIdentifier labelIdentifier = null; + assertThrows(NullPointerException.class, () -> ItemInventory.of(identifier, labelIdentifier)); } } diff --git a/version.txt b/version.txt index 276cbf9..a625450 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2.3.0 +2.3.1 \ No newline at end of file