Skip to content

Commit 8d8bcf9

Browse files
refactoring: addressing comments
1 parent b9a28c0 commit 8d8bcf9

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Java library which allows to import/synchronise (import changes) the data from a
1515

1616
Supported resources: [Categories](/docs/usage/CATEGORY_SYNC.md), [Products](/docs/usage/PRODUCT_SYNC.md), [InventoryEntries](/docs/usage/INVENTORY_SYNC.md), [ProductTypes](/docs/usage/PRODUCT_TYPE_SYNC.md), [Types](/docs/usage/TYPE_SYNC.md), [CartDiscounts](/docs/usage/CART_DISCOUNT_SYNC.md), [States](/docs/usage/STATE_SYNC.md), [TaxCategories](/docs/usage/TAX_CATEGORY_SYNC.md), [CustomObjects](/docs/usage/CUSTOM_OBJECT_SYNC.md), [Customers](/docs/usage/CUSTOMER_SYNC.md), [ShoppingLists](/docs/usage/SHOPPING_LIST_SYNC.md)
1717

18-
> **Important:** Active development of new features for this library has been deprioritized. However, the library is designed to be extensible, and **community contributions are welcome**. If you need to sync a field that isn't supported yet, you can add support for it yourself by following the [Adding Additional Fields](/docs/usage/ADDING_ADDITIONAL_FIELDS.md) guide. For a full list of currently supported fields per resource, see the [Supported Resources and Fields](/docs/SUPPORTED_RESOURCES.md) document.
18+
> **Important:** Active development of new features for this library has been put on hold. However, the library is designed to be extensible, and **community contributions are welcome**. If you need to sync a field that isn't supported yet, you can add support for it yourself by following the [Adding Additional Fields](/docs/usage/ADDING_ADDITIONAL_FIELDS.md) guide. For a full list of currently supported fields per resource, see the [Supported Resources and Fields](/docs/SUPPORTED_RESOURCES.md) document.
1919
2020
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2121
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

docs/usage/ADDING_ADDITIONAL_FIELDS.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424

2525
## Overview
2626

27-
The library supports specific fields for each resource type. For a full list of currently supported fields, see the [Supported Resources and Fields](../SUPPORTED_RESOURCES.md) document.
27+
The commercetools-sync-java library supports specific fields for each resource type. For a full list of supported fields, see the [Supported Resources and Fields](../SUPPORTED_RESOURCES.md) document.
2828

29-
If the field you need is not listed there, you can add native support by following the steps in this guide. All changes are made within the existing library files — no external dependencies are needed.
29+
If the field you need is not listed, you can add native support by following the steps in this guide. All changes are made within the existing library files — no external dependencies are needed.
3030

3131
## Step-by-Step Guide
3232

@@ -36,9 +36,9 @@ This guide walks through a concrete example: adding support for a hypothetical u
3636

3737
Open the `{Resource}UpdateActionUtils.java` file for the resource you want to extend. For CartDiscounts, this is:
3838

39-
`src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtils.java`
39+
[`src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtils.java)
4040

41-
Add a new static method that compares the field's old and new values and returns an `Optional<{Resource}UpdateAction>`. Use the `buildUpdateAction()` helper from `CommonTypeUpdateActionUtils` for the comparison.
41+
Add a new static method that compares the field's old and new values and returns an `Optional<{Resource}UpdateAction>`. Use the `buildUpdateAction()` helper from [`CommonTypeUpdateActionUtils`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/commons/utils/CommonTypeUpdateActionUtils.java) for the comparison.
4242

4343
**Example — adding a `store` field to CartDiscounts:**
4444

@@ -78,7 +78,7 @@ public static Optional<CartDiscountUpdateAction> buildSetStoresUpdateAction(
7878

7979
Open the `{Resource}SyncUtils.java` file. For CartDiscounts:
8080

81-
`src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountSyncUtils.java`
81+
[`src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountSyncUtils.java)
8282

8383
Add a call to your new builder method inside the `buildActions()` method, within the `filterEmptyOptionals()` call:
8484

@@ -105,7 +105,7 @@ That single line is all that's needed to wire the new field into the sync proces
105105

106106
Open the `{Resource}UpdateActionUtilsTest.java` file. For CartDiscounts:
107107

108-
`src/test/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtilsTest.java`
108+
[`src/test/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtilsTest.java)
109109

110110
Write tests covering these cases:
111111

@@ -246,7 +246,7 @@ When syncing from an external source, references are provided by **key**. When s
246246

247247
In `{Resource}ReferenceResolver.java`, add a resolve method and chain it in `resolveReferences()`:
248248

249-
File: `src/main/java/com/commercetools/sync/shoppinglists/helpers/ShoppingListReferenceResolver.java`
249+
File: [`src/main/java/com/commercetools/sync/shoppinglists/helpers/ShoppingListReferenceResolver.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/shoppinglists/helpers/ShoppingListReferenceResolver.java)
250250

251251
````java
252252
// Chain the new resolver in the resolveReferences() method:
@@ -290,11 +290,11 @@ protected CompletionStage<ShoppingListDraftBuilder> resolveStoreReference(
290290

291291
#### Reference resolution utils (mapping)
292292

293-
When syncing from a commercetools project, resources are fetched as full objects and need to be converted to drafts. The `{Resource}ReferenceResolutionUtils` handles this mapping.
293+
When syncing from a commercetools project, resources are fetched as full objects and must be converted to drafts. The `{Resource}ReferenceResolutionUtils` handles this mapping.
294294

295295
In `{Resource}ReferenceResolutionUtils.java`, add a mapping method and call it from `mapTo{Resource}Draft()`:
296296

297-
File: `src/main/java/com/commercetools/sync/shoppinglists/utils/ShoppingListReferenceResolutionUtils.java`
297+
File: [`src/main/java/com/commercetools/sync/shoppinglists/utils/ShoppingListReferenceResolutionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/shoppinglists/utils/ShoppingListReferenceResolutionUtils.java)
298298

299299
````java
300300
// In the mapToShoppingListDraft() method, add the store mapping:
@@ -365,7 +365,7 @@ Products support filtering update actions by group via `SyncFilter`. When adding
365365

366366
**1. Add an enum value to `ActionGroup`** (if an appropriate group doesn't already exist):
367367

368-
File: `src/main/java/com/commercetools/sync/products/ActionGroup.java`
368+
File: [`src/main/java/com/commercetools/sync/products/ActionGroup.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/products/ActionGroup.java)
369369

370370
````java
371371
public enum ActionGroup {
@@ -378,7 +378,7 @@ public enum ActionGroup {
378378

379379
**2. Wrap the action builder with `buildActionIfPassesFilter`** in `ProductSyncUtils.buildActions()`:
380380

381-
File: `src/main/java/com/commercetools/sync/products/utils/ProductSyncUtils.java`
381+
File: [`src/main/java/com/commercetools/sync/products/utils/ProductSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/products/utils/ProductSyncUtils.java)
382382

383383
````java
384384
buildActionIfPassesFilter(
@@ -397,27 +397,27 @@ For each resource type, the files you need to modify follow this pattern:
397397

398398
| Resource | UpdateActionUtils | SyncUtils | Test File |
399399
|----------|-------------------|-----------|-----------|
400-
| Products | `products/utils/ProductUpdateActionUtils.java` | `products/utils/ProductSyncUtils.java` | `products/utils/ProductUpdateActionUtilsTest.java` |
401-
| Categories | `categories/utils/CategoryUpdateActionUtils.java` | `categories/utils/CategorySyncUtils.java` | `categories/utils/CategoryUpdateActionUtilsTest.java` |
402-
| ProductTypes | `producttypes/utils/ProductTypeUpdateActionUtils.java` | `producttypes/utils/ProductTypeSyncUtils.java` | `producttypes/utils/ProductTypeUpdateActionUtilsTest.java` |
403-
| Types | `types/utils/TypeUpdateActionUtils.java` | `types/utils/TypeSyncUtils.java` | `types/utils/TypeUpdateActionUtilsTest.java` |
404-
| InventoryEntries | `inventories/utils/InventoryUpdateActionUtils.java` | `inventories/utils/InventorySyncUtils.java` | `inventories/utils/InventoryUpdateActionUtilsTest.java` |
405-
| CartDiscounts | `cartdiscounts/utils/CartDiscountUpdateActionUtils.java` | `cartdiscounts/utils/CartDiscountSyncUtils.java` | `cartdiscounts/utils/CartDiscountUpdateActionUtilsTest.java` |
406-
| States | `states/utils/StateUpdateActionUtils.java` | `states/utils/StateSyncUtils.java` | `states/utils/StateUpdateActionUtilsTest.java` |
407-
| TaxCategories | `taxcategories/utils/TaxCategoryUpdateActionUtils.java` | `taxcategories/utils/TaxCategorySyncUtils.java` | `taxcategories/utils/TaxCategoryUpdateActionUtilsTest.java` |
408-
| Customers | `customers/utils/CustomerUpdateActionUtils.java` | `customers/utils/CustomerSyncUtils.java` | `customers/utils/CustomerUpdateActionUtilsTest.java` |
409-
| ShoppingLists | `shoppinglists/utils/ShoppingListUpdateActionUtils.java` | `shoppinglists/utils/ShoppingListSyncUtils.java` | `shoppinglists/utils/ShoppingListUpdateActionUtilsTest.java` |
400+
| Products | [`ProductUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/products/utils/ProductUpdateActionUtils.java) | [`ProductSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/products/utils/ProductSyncUtils.java) | [`ProductUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/products/utils/ProductUpdateActionUtilsTest.java) |
401+
| Categories | [`CategoryUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/categories/utils/CategoryUpdateActionUtils.java) | [`CategorySyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/categories/utils/CategorySyncUtils.java) | [`CategoryUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/categories/utils/CategoryUpdateActionUtilsTest.java) |
402+
| ProductTypes | [`ProductTypeUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/producttypes/utils/ProductTypeUpdateActionUtils.java) | [`ProductTypeSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/producttypes/utils/ProductTypeSyncUtils.java) | [`ProductTypeUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/producttypes/utils/ProductTypeUpdateActionUtilsTest.java) |
403+
| Types | [`TypeUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/types/utils/TypeUpdateActionUtils.java) | [`TypeSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/types/utils/TypeSyncUtils.java) | [`TypeUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/types/utils/TypeUpdateActionUtilsTest.java) |
404+
| InventoryEntries | [`InventoryUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/inventories/utils/InventoryUpdateActionUtils.java) | [`InventorySyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/inventories/utils/InventorySyncUtils.java) | [`InventoryUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/inventories/utils/InventoryUpdateActionUtilsTest.java) |
405+
| CartDiscounts | [`CartDiscountUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtils.java) | [`CartDiscountSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountSyncUtils.java) | [`CartDiscountUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountUpdateActionUtilsTest.java) |
406+
| States | [`StateUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/states/utils/StateUpdateActionUtils.java) | [`StateSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/states/utils/StateSyncUtils.java) | [`StateUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/states/utils/StateUpdateActionUtilsTest.java) |
407+
| TaxCategories | [`TaxCategoryUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/taxcategories/utils/TaxCategoryUpdateActionUtils.java) | [`TaxCategorySyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/taxcategories/utils/TaxCategorySyncUtils.java) | [`TaxCategoryUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/taxcategories/utils/TaxCategoryUpdateActionUtilsTest.java) |
408+
| Customers | [`CustomerUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/customers/utils/CustomerUpdateActionUtils.java) | [`CustomerSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/customers/utils/CustomerSyncUtils.java) | [`CustomerUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/customers/utils/CustomerUpdateActionUtilsTest.java) |
409+
| ShoppingLists | [`ShoppingListUpdateActionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/shoppinglists/utils/ShoppingListUpdateActionUtils.java) | [`ShoppingListSyncUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/shoppinglists/utils/ShoppingListSyncUtils.java) | [`ShoppingListUpdateActionUtilsTest.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/test/java/com/commercetools/sync/shoppinglists/utils/ShoppingListUpdateActionUtilsTest.java) |
410410

411411
### Additional files for reference fields only
412412

413413
| Resource | ReferenceResolver | ReferenceResolutionUtils |
414414
|----------|-------------------|--------------------------|
415-
| Products | `products/helpers/ProductReferenceResolver.java` | `products/utils/ProductReferenceResolutionUtils.java` |
416-
| Categories | `categories/helpers/CategoryReferenceResolver.java` | `categories/utils/CategoryReferenceResolutionUtils.java` |
417-
| InventoryEntries | `inventories/helpers/InventoryReferenceResolver.java` | `inventories/utils/InventoryReferenceResolutionUtils.java` |
418-
| CartDiscounts | `cartdiscounts/helpers/CartDiscountReferenceResolver.java` | `cartdiscounts/utils/CartDiscountReferenceResolutionUtils.java` |
419-
| Customers | `customers/helpers/CustomerReferenceResolver.java` | `customers/utils/CustomerReferenceResolutionUtils.java` |
420-
| ShoppingLists | `shoppinglists/helpers/ShoppingListReferenceResolver.java` | `shoppinglists/utils/ShoppingListReferenceResolutionUtils.java` |
415+
| Products | [`ProductReferenceResolver.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/products/helpers/ProductReferenceResolver.java) | [`ProductReferenceResolutionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/products/utils/ProductReferenceResolutionUtils.java) |
416+
| Categories | [`CategoryReferenceResolver.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/categories/helpers/CategoryReferenceResolver.java) | [`CategoryReferenceResolutionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/categories/utils/CategoryReferenceResolutionUtils.java) |
417+
| InventoryEntries | [`InventoryReferenceResolver.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/inventories/helpers/InventoryReferenceResolver.java) | [`InventoryReferenceResolutionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/inventories/utils/InventoryReferenceResolutionUtils.java) |
418+
| CartDiscounts | [`CartDiscountReferenceResolver.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/cartdiscounts/helpers/CartDiscountReferenceResolver.java) | [`CartDiscountReferenceResolutionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/cartdiscounts/utils/CartDiscountReferenceResolutionUtils.java) |
419+
| Customers | [`CustomerReferenceResolver.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/customers/helpers/CustomerReferenceResolver.java) | [`CustomerReferenceResolutionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/customers/utils/CustomerReferenceResolutionUtils.java) |
420+
| ShoppingLists | [`ShoppingListReferenceResolver.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/shoppinglists/helpers/ShoppingListReferenceResolver.java) | [`ShoppingListReferenceResolutionUtils.java`](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/shoppinglists/utils/ShoppingListReferenceResolutionUtils.java) |
421421

422422
All paths are relative to `src/main/java/com/commercetools/sync/` (source) and `src/test/java/com/commercetools/sync/` (tests).
423423

0 commit comments

Comments
 (0)