private static Function<Node, Stream<DeckCardInfo>> toDeckCardInfo(CardLookup lookup, StringBuilder errors) { return node -> { String name = node.getAttributes().getNamedItem("name").getNodeValue().trim(); Optional<CardInfo> cardInfo = lookup.lookupCardInfo(name); if (cardInfo.isPresent()) { CardInfo info = cardInfo.get(); return Collections.nCopies( getQuantityFromNode(node), new DeckCardInfo(info.getName(), info.getCardNumber(), info.getSetCode())).stream(); } else { errors.append("Could not find card: '").append(name).append("'\n"); return Stream.empty(); } }; }
private static Function<Node, Stream<DeckCardInfo>> toDeckCardInfo(CardLookup lookup, StringBuilder errors) { return node -> { String name = node.getTextContent(); Optional<CardInfo> cardInfo = lookup.lookupCardInfo(name); if (cardInfo.isPresent()) { CardInfo info = cardInfo.get(); return Collections.nCopies( getQuantityFromNode(node), new DeckCardInfo(info.getName(), info.getCardNumber(), info.getSetCode())).stream(); } else { errors.append("Could not find card: '").append(name).append("'\n"); return Stream.empty(); } }; }
try { int num = Integer.parseInt(lineNum); Optional<CardInfo> cardLookup = getCardLookup().lookupCardInfo(lineName); if (!cardLookup.isPresent()) { sbMessage.append("Could not find card: '").append(lineName).append("' at line ").append(lineCount).append('\n');
criteria.name(lineName); criteria.setCodes(setCode); List<CardInfo> cards = getCardLookup().lookupCardInfo(criteria); if (!cards.isEmpty()) { cardInfo = cards.get(RandomUtil.nextInt(cards.size())); cardInfo = getCardLookup().lookupCardInfo(lineName).orElse(null);