Choose card name - added support to choose names from adventure spells (example: Anointed Peacekeeper) (#13286)

This commit is contained in:
Cameron Merkel 2025-02-02 07:02:26 -06:00 committed by GitHub
parent 550c9ba1ae
commit ec5e982d7e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -147,6 +147,9 @@ public enum CardRepository {
if (card.getMeldsToCardName() != null && !card.getMeldsToCardName().isEmpty()) { if (card.getMeldsToCardName() != null && !card.getMeldsToCardName().isEmpty()) {
namesList.add(card.getMeldsToCardName()); namesList.add(card.getMeldsToCardName());
} }
if (card.getAdventureSpellName() != null && !card.getAdventureSpellName().isEmpty()) {
namesList.add(card.getAdventureSpellName());
}
} }
public static Boolean haveSnowLands(String setCode) { public static Boolean haveSnowLands(String setCode) {
@ -157,7 +160,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
List<CardInfo> results = cardsDao.query(qb.prepare()); List<CardInfo> results = cardsDao.query(qb.prepare());
for (CardInfo card : results) { for (CardInfo card : results) {
addNewNames(card, names); addNewNames(card, names);
@ -173,7 +176,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
qb.where().not().like("types", new SelectArg('%' + CardType.LAND.name() + '%')); qb.where().not().like("types", new SelectArg('%' + CardType.LAND.name() + '%'));
List<CardInfo> results = cardsDao.query(qb.prepare()); List<CardInfo> results = cardsDao.query(qb.prepare());
for (CardInfo card : results) { for (CardInfo card : results) {
@ -190,7 +193,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
Where<CardInfo, Object> where = qb.where(); Where<CardInfo, Object> where = qb.where();
where.and( where.and(
where.not().like("supertypes", '%' + SuperType.BASIC.name() + '%'), where.not().like("supertypes", '%' + SuperType.BASIC.name() + '%'),
@ -211,7 +214,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
qb.where().not().like("supertypes", new SelectArg('%' + SuperType.BASIC.name() + '%')); qb.where().not().like("supertypes", new SelectArg('%' + SuperType.BASIC.name() + '%'));
List<CardInfo> results = cardsDao.query(qb.prepare()); List<CardInfo> results = cardsDao.query(qb.prepare());
for (CardInfo card : results) { for (CardInfo card : results) {
@ -228,7 +231,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
qb.where().like("types", new SelectArg('%' + CardType.CREATURE.name() + '%')); qb.where().like("types", new SelectArg('%' + CardType.CREATURE.name() + '%'));
List<CardInfo> results = cardsDao.query(qb.prepare()); List<CardInfo> results = cardsDao.query(qb.prepare());
for (CardInfo card : results) { for (CardInfo card : results) {
@ -245,7 +248,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
qb.where().like("types", new SelectArg('%' + CardType.ARTIFACT.name() + '%')); qb.where().like("types", new SelectArg('%' + CardType.ARTIFACT.name() + '%'));
List<CardInfo> results = cardsDao.query(qb.prepare()); List<CardInfo> results = cardsDao.query(qb.prepare());
for (CardInfo card : results) { for (CardInfo card : results) {
@ -262,7 +265,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
Where<CardInfo, Object> where = qb.where(); Where<CardInfo, Object> where = qb.where();
where.and( where.and(
where.not().like("types", '%' + CardType.CREATURE.name() + '%'), where.not().like("types", '%' + CardType.CREATURE.name() + '%'),
@ -283,7 +286,7 @@ public enum CardRepository {
Set<String> names = new TreeSet<>(); Set<String> names = new TreeSet<>();
try { try {
QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder(); QueryBuilder<CardInfo, Object> qb = cardsDao.queryBuilder();
qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName"); qb.distinct().selectColumns("name", "modalDoubleFacedSecondSideName", "secondSideName", "flipCardName", "adventureSpellName");
Where<CardInfo, Object> where = qb.where(); Where<CardInfo, Object> where = qb.where();
where.and( where.and(
where.not().like("types", '%' + CardType.ARTIFACT.name() + '%'), where.not().like("types", '%' + CardType.ARTIFACT.name() + '%'),