From 3366843ca18e4c1eaf5ef00cba81c9b38ccdae7a Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Wed, 22 Jan 2014 05:26:26 +0000 Subject: [PATCH] added a method to reload a proxied object from storage (call this method after the object has been changed in deck editor) --- .../java/forge/gui/deckeditor/DeckProxy.java | 16 +++++++++++----- .../deckeditor/controllers/DeckController.java | 9 --------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/DeckProxy.java b/forge-gui/src/main/java/forge/gui/deckeditor/DeckProxy.java index 3695f44e590..5f22558198e 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/DeckProxy.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/DeckProxy.java @@ -30,8 +30,8 @@ import forge.util.storage.StorageImmediatelySerialized; // Adding a generic to this class creates compile problems in ItemManager (that I can not fix) public class DeckProxy implements InventoryItem { - protected final IHasName deck; - protected final IStorage storage; + protected IHasName deck; + protected final IStorage storage; public static final Function FN_GET_NAME = new Function() { @Override @@ -48,15 +48,15 @@ public class DeckProxy implements InventoryItem { private final String path; private final Function fnGetDeck; - public DeckProxy(Deck deck, GameType type, IStorage storage) { + public DeckProxy(Deck deck, GameType type, IStorage storage) { this(deck, type, null, storage, null); } - public DeckProxy(IHasName deck, Function fnGetDeck, GameType type, IStorage storage) { + public DeckProxy(IHasName deck, Function fnGetDeck, GameType type, IStorage storage) { this(deck, type, null, storage, fnGetDeck); } - private DeckProxy(IHasName deck, GameType type, String path, IStorage storage, Function fnGetDeck) { + private DeckProxy(IHasName deck, GameType type, String path, IStorage storage, Function fnGetDeck) { this.deck = deck; this.storage = storage; this.path = path; @@ -178,6 +178,12 @@ public class DeckProxy implements InventoryItem { }; } + public void reloadFromStorage() { + if( null != storage ) + deck = storage.get(getName()); + invalidateCache(); + } + @SuppressWarnings("unchecked") public void updateInStorage() { if ( storage instanceof StorageImmediatelySerialized ) diff --git a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/DeckController.java b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/DeckController.java index 51584f256fd..c1cacfb2b74 100644 --- a/forge-gui/src/main/java/forge/gui/deckeditor/controllers/DeckController.java +++ b/forge-gui/src/main/java/forge/gui/deckeditor/controllers/DeckController.java @@ -232,15 +232,6 @@ public class DeckController { this.setModel(newDeck); } - /** - * Checks if is model in store. - * - * @return true, if is model in store - */ - public boolean isModelInStore() { - return this.modelInStorage; - } - /** * Refresh current model or create new one if none */