@Override public void execute(PersistenceContext context) { for (MetaClass meta : metadatas) { Map<String, DBObject> exsitingIndexMap = getCollectionIndexMap(context, meta); Set<String> targetIndexNames = new HashSet<String>(meta.getIndexNames()); Set<String> deleteSet = CollectionUtils.diffSet(exsitingIndexMap.keySet(), targetIndexNames); Set<String> addSet = CollectionUtils.diffSet(targetIndexNames, exsitingIndexMap.keySet()); //drop indexes dropIndexes(context, meta, deleteSet); //add indexes createIndexes(context, meta, addSet); // update : index is an structure not update-able. Update an index means, drop and re-create with new definition // check whether we need to ensure or not: compare between the existing one with the given one Set<String> updateIndexes = getUpdateIndex(exsitingIndexMap, meta); dropIndexes(context, meta, updateIndexes); createIndexes(context, meta, updateIndexes); } }
@Override public void execute(PersistenceContext context) { for (MetaClass meta : metadatas) { Map<String, DBObject> exsitingIndexMap = getCollectionIndexMap(context, meta); Set<String> targetIndexNames = new HashSet<String>(meta.getIndexNames()); // first : name based delete index, and add index Set<String> deleteSet = CollectionUtils.diffSet(exsitingIndexMap.keySet(), targetIndexNames); Set<String> addSet = CollectionUtils.diffSet(targetIndexNames, exsitingIndexMap.keySet()); //drop indexes dropIndexes(context, meta, deleteSet); //add indexes createIndexes(context, meta, addSet); // update : index is an structure not update-able. Update an index means, drop and re-create with new definition // check whether we need to ensure or not: compare between the existing one with the given one Set<String> updateIndexes = getUpdateIndex(exsitingIndexMap, meta); dropIndexes(context, meta, updateIndexes); createIndexes(context, meta, updateIndexes); } }
Set<String> missedIds = CollectionUtils.diffSet(allIds, fetchedIds); Assert.assertEquals("Missed Entity ids : " + missedIds, 0, missedIds.size()); System.out.println(" repeated entity ids: " + new ObjectMapper().writeValueAsString(repeatedIds));
Set<String> missedIds = CollectionUtils.diffSet(allIds, fetchedIds); if (TOTAL_COUNT != fetchCount) { StringBuilder sb = new StringBuilder();