Guava migration - Replace select usages of Iterables.filter

This commit is contained in:
Jetz
2024-09-15 17:16:24 -04:00
parent cf68a75c03
commit 76aa19622e
51 changed files with 310 additions and 292 deletions

View File

@@ -24,8 +24,8 @@ import java.util.Map;
import java.util.TreeMap;
import java.util.function.Predicate;
import forge.card.CardDb;
import forge.item.PaperCardPredicates;
import forge.util.Iterables;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
@@ -356,15 +356,15 @@ public class ImportSourceAnalyzer {
// set card pics
//
private static void addSetCards(final Map<String, String> cardFileNames, final Iterable<PaperCard> library, final Predicate<PaperCard> filter) {
for (final PaperCard c : Iterables.filter(library, filter)) {
private static void addSetCards(final Map<String, String> cardFileNames, final CardDb library, final Predicate<PaperCard> filter) {
library.streamAllCards().filter(filter).forEach(c -> {
String filename = c.getCardImageKey() + ".jpg";
cardFileNames.put(filename, filename);
if (c.hasBackFace()) {
filename = c.getCardAltImageKey() + ".jpg";
cardFileNames.put(filename, filename);
}
}
});
}
Map<String, Map<String, String>> cardFileNamesBySet;
@@ -375,8 +375,8 @@ public class ImportSourceAnalyzer {
for (final CardEdition ce : FModel.getMagicDb().getEditions()) {
final Map<String, String> cardFileNames = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
final Predicate<PaperCard> filter = PaperCardPredicates.printedInSet(ce.getCode());
addSetCards(cardFileNames, FModel.getMagicDb().getCommonCards().getAllCards(), filter);
addSetCards(cardFileNames, FModel.getMagicDb().getVariantCards().getAllCards(), filter);
addSetCards(cardFileNames, FModel.getMagicDb().getCommonCards(), filter);
addSetCards(cardFileNames, FModel.getMagicDb().getVariantCards(), filter);
cardFileNamesBySet.put(ce.getCode2(), cardFileNames);
}
@@ -384,14 +384,14 @@ public class ImportSourceAnalyzer {
nameUpdates = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
final Predicate<PaperCard> predPlanes = arg0 -> arg0.getRules().getType().isPlane() || arg0.getRules().getType().isPhenomenon();
for (final PaperCard c : Iterables.filter(FModel.getMagicDb().getVariantCards().getAllCards(), predPlanes)) {
FModel.getMagicDb().getVariantCards().streamAllCards().filter(predPlanes).forEach(c -> {
String baseName = c.getCardImageKey();
nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
if (c.hasBackFace()) {
baseName = c.getCardAltImageKey();
nameUpdates.put(baseName + ".full.jpg", baseName + ".jpg");
}
}
});
}
final CardEdition.Collection editions = FModel.getMagicDb().getEditions();

View File

@@ -16,12 +16,13 @@ import forge.model.FModel;
import forge.screens.home.quest.DialogChooseFormats;
import forge.screens.home.quest.DialogChooseSets;
import forge.screens.match.controllers.CDetailPicture;
import forge.util.Iterables;
import forge.util.Localizer;
import javax.swing.*;
import java.util.*;
import java.util.Map.Entry;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* ItemManager for cards
@@ -76,7 +77,8 @@ public class CardManager extends ItemManager<PaperCard> {
continue; // skip card
// Try to retain only those editions accepted by the current Card Art Preference Policy
List<CardEdition> acceptedEditions = Lists.newArrayList(Iterables.filter(entriesByEdition.keySet(), ed -> StaticData.instance().getCardArtPreference().accept(ed)));
Predicate<CardEdition> editionPredicate = ed -> StaticData.instance().getCardArtPreference().accept(ed);
List<CardEdition> acceptedEditions = entriesByEdition.keySet().stream().filter(editionPredicate).collect(Collectors.toList());
// If policy too strict, fall back to getting all editions.
if (acceptedEditions.size() == 0)

View File

@@ -1007,7 +1007,7 @@ public abstract class ItemManager<T extends InventoryItem> extends JPanel implem
this.model.addItems(items);
}
else if (useFilter) {
final Predicate<Entry<T, Integer>> pred = x -> this.filterPredicate.test(x.getKey());;
final Predicate<Entry<T, Integer>> pred = x -> this.filterPredicate.test(x.getKey());
this.model.addItems(Iterables.filter(this.pool, pred));
}
else if (this.wantUnique) {

View File

@@ -3,8 +3,7 @@ package forge.planarconquestgenerate;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import java.util.stream.Collectors;
import forge.GuiDesktop;
import forge.StaticData;
@@ -24,7 +23,6 @@ import forge.item.PaperCardPredicates;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.util.Iterables;
public class PlanarConquestCommanderGeneraterGA extends PlanarConquestGeneraterGA {
@@ -75,14 +73,14 @@ public class PlanarConquestCommanderGeneraterGA extends PlanarConquestGeneraterG
cards.add(StaticData.instance().getCommonCards().getUniqueByName(cardName));
}
Iterable<PaperCard> filtered= Iterables.filter(cards,
PaperCardPredicates.fromRules(CardRulesPredicates.IS_KEPT_IN_AI_DECKS
List<PaperCard> filteredList = cards.stream()
.filter(PaperCardPredicates.fromRules(CardRulesPredicates.IS_KEPT_IN_AI_DECKS
.and(CardRulesPredicates.IS_PLANESWALKER)
//.and(CardRulesPredicates.IS_LEGENDARY)
).and(gameFormat.getFilterPrinted())
);
))
.filter(gameFormat.getFilterPrinted())
.collect(Collectors.toList());
List<PaperCard> filteredList = Lists.newArrayList(filtered);
rankedList = CardRanker.rankCardsInDeck(filteredList);
List<Deck> decks = new ArrayList<>();
for(PaperCard card: rankedList.subList(0,cardsToUse)){

View File

@@ -4,13 +4,12 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import forge.item.PaperCardPredicates;
import forge.util.*;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.collect.Lists;
import forge.GuiDesktop;
import forge.LobbyPlayer;
import forge.StaticData;
@@ -106,13 +105,12 @@ public class PlanarConquestGeneraterGA extends AbstractGeneticAlgorithm<Deck> {
cards.add(StaticData.instance().getCommonCards().getUniqueByName(cardName));
}
Iterable<PaperCard> filtered= Iterables.filter(cards,
PaperCardPredicates.fromRules(CardRulesPredicates.IS_KEPT_IN_AI_DECKS
.and(CardRulesPredicates.IS_NON_LAND)
).and(gameFormat.getFilterPrinted())
);
List<PaperCard> filteredList = cards.stream()
.filter(PaperCardPredicates.fromRules(CardRulesPredicates.IS_KEPT_IN_AI_DECKS
.and(CardRulesPredicates.IS_NON_LAND)))
.filter(gameFormat.getFilterPrinted())
.collect(Collectors.toList());
List<PaperCard> filteredList = Lists.newArrayList(filtered);
setRankedList(CardRanker.rankCardsInDeck(filteredList));
List<Deck> decks = new ArrayList<>();
for(PaperCard card: getRankedList().subList(0,cardsToUse)){

View File

@@ -3,8 +3,7 @@ package forge.planarconquestgenerate;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.Lists;
import java.util.stream.Collectors;
import forge.GuiDesktop;
import forge.StaticData;
@@ -23,7 +22,6 @@ import forge.item.PaperCardPredicates;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.util.Iterables;
public class PlanarConquestTribalGeneraterGA extends PlanarConquestGeneraterGA {
@@ -77,14 +75,13 @@ public class PlanarConquestTribalGeneraterGA extends PlanarConquestGeneraterGA {
cards.add(StaticData.instance().getCommonCards().getUniqueByName(cardName));
}
Iterable<PaperCard> filteredTribe= Iterables.filter(cards,
PaperCardPredicates.fromRules(CardRulesPredicates.IS_KEPT_IN_AI_DECKS
List<PaperCard> filteredListTribe = cards.stream()
.filter(PaperCardPredicates.fromRules(CardRulesPredicates.IS_KEPT_IN_AI_DECKS
.and(CardRulesPredicates.hasCreatureType("Pirate"))
.and(CardRulesPredicates.IS_CREATURE)
).and(gameFormat.getFilterPrinted())
);
.and(CardRulesPredicates.IS_CREATURE)))
.filter(gameFormat.getFilterPrinted())
.collect(Collectors.toList());
List<PaperCard> filteredListTribe = Lists.newArrayList(filteredTribe);
rankedList = CardRanker.rankCardsInDeck(filteredListTribe);
List<Deck> decks = new ArrayList<>();
for(PaperCard card: rankedList.subList(0,cardsToUse)){