@Override public void retainRecentAndIDs(Collection<String> newModelIDs) { try (AutoLock al = lock.autoWriteLock()) { vectors.keySet().removeIf(key -> !newModelIDs.contains(key) && !recentIDs.contains(key)); recentIDs.clear(); } }
/** * Like {@link #retainRecentAndUserIDs(Collection)} and {@link #retainRecentAndItemIDs(Collection)} * but affects the known-items data structure. * * @param users users that should be retained, which are coming in the new model updates * @param items items that should be retained, which are coming in the new model updates */ void retainRecentAndKnownItems(Collection<String> users, Collection<String> items) { // Keep all users in the new model, or, that have been added since last model MutableSet<String> recentUserIDs = UnifiedSet.newSet(); X.addAllRecentTo(recentUserIDs); try (AutoLock al = knownItemsLock.autoWriteLock()) { knownItems.keySet().removeIf(key -> !users.contains(key) && !recentUserIDs.contains(key)); } // This will be easier to quickly copy the whole (smallish) set rather than // deal with locks below MutableSet<String> allRecentKnownItems = UnifiedSet.newSet(); Y.addAllRecentTo(allRecentKnownItems); Predicate<String> notKeptOrRecent = value -> !items.contains(value) && !allRecentKnownItems.contains(value); try (AutoLock al = knownItemsLock.autoReadLock()) { knownItems.values().forEach(knownItemsForUser -> { synchronized (knownItemsForUser) { knownItemsForUser.removeIf(notKeptOrRecent); } }); } }
@Override public boolean accept(Schema it) { return schemasToExclude.contains(it.getName()); } });
@Override public boolean accept(Schema it) { return schemasToInclude.contains(it.getName()); } });
@Override public boolean accept(Schema it) { return schemasToInclude.contains(it.getName()); } });
@Override public boolean accept(Schema it) { return schemasToExclude.contains(it.getName()); } });
@Override public boolean accept(File mainFile, RevEngDestination dbFileRep) { return !mainFile.exists() || tableNames.collect(StringFunctions.toLowerCase()).contains( dbFileRep.getObjectName().toLowerCase()); } };
@Override public void retainRecentAndIDs(Collection<String> newModelIDs) { try (AutoLock al = lock.autoWriteLock()) { vectors.keySet().removeIf(key -> !newModelIDs.contains(key) && !recentIDs.contains(key)); recentIDs.clear(); } }
@Override public boolean accept(File mainFile, RevEngDestination dbFileRep) { return !mainFile.exists() || tableNames.collect(StringFunctions.toLowerCase()).contains( dbFileRep.getObjectName().toLowerCase()); } };
private Customer getOrCreateCustomer(String customerName) { var customer = this.customers.detectWithIfNone( Customer::named, customerName, () -> new Customer(customerName)); if (!this.customers.contains(customer)) { this.customers.add(customer); } return customer; }
private Customer getOrCreateCustomer(String customerName) { Customer customer = this.customers.detectWithIfNone(Customer::named, customerName, () -> new Customer(customerName)); if (!this.customers.contains(customer)) { this.customers.add(customer); } return customer; }
private static void mergePartialMatches(MutableList<IndexMap> finalRowIndices, MutableList<UnmatchedIndexMap> allMissingRows, MutableList<UnmatchedIndexMap> allSurplusRows) { MutableSet<IndexMap> partiallyMatchedSurplus = UnifiedSet.newSet(); for (UnmatchedIndexMap expected : allMissingRows) { UnmatchedIndexMap actual = expected.getBestMutualMatch(); if (actual == null) { finalRowIndices.add(expected); } else { // todo: can we avoi newing up another index map - update expected in place? finalRowIndices.add(new IndexMap(expected.getExpectedIndex(), actual.getActualIndex())); partiallyMatchedSurplus.add(actual); } } for (IndexMap indexMap : allSurplusRows) { if (!partiallyMatchedSurplus.contains(indexMap)) { finalRowIndices.add(indexMap); } } }
if (dbDataComparisonConfig.getExcludedTables().contains(table)) { continue;
if (dbDataComparisonConfig.getExcludedTables().contains(table)) { continue;