@Override public void saveDeck(Deck deck) { String destinationName = deck.name(); DeckData deckData = buildDeckData(deck); String deckDataString = gson.toJson(deckData); persist(destinationName, deckDataString); }
protected List<CardData> loadRawData() { try { return gson.fromJson(readLibrarySource(), getType()); } catch (JsonIOException e) { e.printStackTrace(); } catch (JsonSyntaxException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } return Collections.emptyList(); }
@Override public Deck loadDeck(String name) { DeckData data; try { data = gson.fromJson(readSource(getDeckUri(name)), DeckData.class); CardLibrary cl = loadCardLibrary(); Card identityCard = cl.getCard(data.getIdentity()); Deck deck = new Deck(cl.getItentity(identityCard.getKey()), data.getName()); for (CardRef ref : data.getCards()) { deck.add(cl.getCard(ref.getCard()), ref.getCount()); } return deck; } catch (JsonIOException e) { e.printStackTrace(); } catch (JsonSyntaxException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } return null; }