FileTextResolver implements ConfigTextResolver { @Override public ItemChangeSets resolve(long namespaceId, String configText, List<ItemDTO> baseItems) { ItemChangeSets changeSets = new ItemChangeSets(); if (CollectionUtils.isEmpty(baseItems) && StringUtils.isEmpty(configText)) { return changeSets; } if (CollectionUtils.isEmpty(baseItems)) { changeSets.addCreateItem(createItem(namespaceId, 0, configText)); } else { ItemDTO beforeItem = baseItems.get(0); if (!configText.equals(beforeItem.getValue())) { changeSets.addUpdateItem(createItem(namespaceId, beforeItem.getId(), configText)); } } return changeSets; }  @Override ItemChangeSets resolve(long namespaceId, String configText, List<ItemDTO> baseItems);  }
@Test public void testUpdateItem(){ ItemDTO existedItem = new ItemDTO(); existedItem.setId(1000); existedItem.setKey(ConfigConsts.CONFIG_FILE_CONTENT_KEY); existedItem.setValue("before"); ItemChangeSets changeSets = resolver.resolve(NAMESPACE, CONFIG_TEXT, Collections.singletonList(existedItem)); Assert.assertEquals(0, changeSets.getCreateItems().size()); Assert.assertEquals(1, changeSets.getUpdateItems().size()); Assert.assertEquals(0, changeSets.getDeleteItems().size()); ItemDTO updatedItem = changeSets.getUpdateItems().get(0); Assert.assertEquals(CONFIG_TEXT, updatedItem.getValue()); }