Changeset 381
- Timestamp:
- 07/25/10 14:49:26 (2 years ago)
- Files:
-
- kahina/trunk/src/org/kahina/core/KahinaInstance.java (modified) (5 diffs)
- kahina/trunk/src/org/kahina/core/KahinaState.java (modified) (3 diffs)
- kahina/trunk/src/org/kahina/core/data/MagazineDataManager.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/core/data/MagazineDataStore.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/core/io/magazine/ObjectMagazine.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/core/util/FileUtilities.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/lp/LogicProgrammingState.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/tralesld/TraleSLDInstance.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/tralesld/TraleSLDState.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/tralesld/bridge/TraleSLDBridge.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/tulipa/TulipaInstance.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/tulipa/TulipaState.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
kahina/trunk/src/org/kahina/core/KahinaInstance.java
r380 r381 8 8 import java.io.ObjectOutputStream; 9 9 import java.util.Set; 10 import java.util.zip.ZipE xception;10 import java.util.zip.ZipEntry; 11 11 import java.util.zip.ZipFile; 12 12 … … 27 27 import org.kahina.core.gui.KahinaViewRegistry; 28 28 import org.kahina.core.gui.event.KahinaConsoleLineEvent; 29 import org.kahina.core.gui.event.KahinaSelectionEvent; 29 30 import org.kahina.core.gui.event.KahinaUpdateEvent; 30 31 import org.kahina.core.util.FileUtilities; … … 37 38 public abstract class KahinaInstance<S extends KahinaState, G extends KahinaGUI, B extends KahinaBridge> implements KahinaListener 38 39 { 40 private static final boolean VERBOSE = true; 41 39 42 protected S state; 40 43 protected G gui; … … 135 138 { 136 139 ZipFile zipFile = null; 140 ProgressMonitorWrapper monitor = null; 137 141 try 138 142 { 139 143 zipFile = new ZipFile(file); 140 ObjectInputStream in = new ObjectInputStream(zipFile.getInputStream(zipFile.getEntry("state"))); 144 ZipEntry entry = zipFile.getEntry("state"); 145 if (VERBOSE) 146 { 147 System.err.println(entry); 148 } 149 ObjectInputStream in = new ObjectInputStream(zipFile.getInputStream(entry)); 141 150 state = castToStateType(in.readObject()); 142 151 in.close(); 143 152 File directory = FileUtilities.createTemporaryDirectory(); 144 FileUtilities.unzipToDirectory(zipFile, directory, "steps/"); 145 // TODO load steps into magazine 153 monitor = gui.createProgressMonitorWrapper("Loading session", null, 0, zipFile.size()); 154 FileUtilities.unzipToDirectory(zipFile, directory, "steps/", monitor); 155 KahinaRunner.getDataManager().load(directory); 156 KahinaRunner.processEvent(new KahinaSelectionEvent(state.getSelectedStepID())); 146 157 } catch (Exception e) 147 158 { … … 154 165 try 155 166 { 167 monitor.close(); 156 168 zipFile.close(); 157 169 } catch (IOException e) kahina/trunk/src/org/kahina/core/KahinaState.java
r373 r381 7 7 import java.util.Set; 8 8 9 import org.kahina.core.control.KahinaListener; 9 10 import org.kahina.core.data.text.KahinaLineReference; 10 11 import org.kahina.core.data.text.KahinaTextModel; 12 import org.kahina.core.event.KahinaEvent; 11 13 import org.kahina.core.event.KahinaMessageEvent; 14 import org.kahina.core.gui.event.KahinaSelectionEvent; 12 15 13 16 /** … … 21 24 */ 22 25 23 public class KahinaState implements Serializable 26 public class KahinaState implements Serializable, KahinaListener 24 27 { 25 28 /** … … 32 35 protected Map<Integer,Set<KahinaLineReference>> consoleLines; 33 36 34 public KahinaState(KahinaInstance<?, ?, ?> kahina) 37 private int selectedStepID = -1; 38 39 public KahinaState() 35 40 { 36 41 consoleMessages = new KahinaTextModel(); 37 42 consoleLines = new HashMap<Integer,Set<KahinaLineReference>>(); 43 KahinaRunner.getControl().registerListener("select", this); 38 44 } 39 45 40 public void consoleMessage(int stepID, String message) 46 public void processEvent(KahinaEvent event) 47 { 48 if (event instanceof KahinaSelectionEvent) 49 { 50 processSelectionEvent((KahinaSelectionEvent) event); 51 } 52 } 53 54 private void processSelectionEvent(KahinaSelectionEvent event) 55 { 56 selectedStepID = event.getSelectedStep(); 57 } 58 59 public int getSelectedStepID() 60 { 61 return selectedStepID; 62 } 63 64 public void consoleMessage(int stepID, String message) 41 65 { 42 66 int lineID = consoleMessages.text.addLine(message); kahina/trunk/src/org/kahina/core/data/MagazineDataManager.java
r371 r381 35 35 return defaultStore.persistSteps(); 36 36 } 37 38 @Override 39 public void load(File directory) 40 { 41 defaultStore = MagazineDataStore.load(directory); 42 } 37 43 38 44 } kahina/trunk/src/org/kahina/core/data/MagazineDataStore.java
r375 r381 24 24 throw new KahinaException("I/O error creating magazine data store.", e); 25 25 } 26 } 27 28 public MagazineDataStore(ObjectMagazine<KahinaObject> magazine) 29 { 30 this.magazine = magazine; 26 31 } 27 32 … … 55 60 } 56 61 62 public static MagazineDataStore load(File directory) 63 { 64 return new MagazineDataStore(ObjectMagazine.load(directory, KahinaObject.class)); 65 } 66 57 67 } kahina/trunk/src/org/kahina/core/io/magazine/ObjectMagazine.java
r376 r381 170 170 } 171 171 172 public static <S> ObjectMagazine<S> load(File folder )172 public static <S> ObjectMagazine<S> load(File folder, Class<S> objectType) 173 173 { 174 174 Properties properties = readPropertiesFile(folder); kahina/trunk/src/org/kahina/core/util/FileUtilities.java
r380 r381 146 146 * @param directory 147 147 * @param prefix 148 * @param monitor 148 149 * @throws IOException 149 150 */ 150 public static void unzipToDirectory(ZipFile zipFile, File directory, String prefix ) throws IOException151 public static void unzipToDirectory(ZipFile zipFile, File directory, String prefix, ProgressMonitorWrapper monitor) throws IOException 151 152 { 152 153 int length = prefix.length(); … … 175 176 } 176 177 } 178 if (monitor != null) 179 { 180 monitor.increment(); 181 } 177 182 } 178 183 } kahina/trunk/src/org/kahina/lp/LogicProgrammingState.java
r373 r381 39 39 protected List<KahinaBreakpoint> failPoints; 40 40 41 public LogicProgrammingState( KahinaInstance<? extends LogicProgrammingState, ?, ?> kahina)41 public LogicProgrammingState() 42 42 { 43 super( kahina);43 super(); 44 44 stepTree = new KahinaMemTree(); 45 45 secondaryStepTree = new KahinaMemTree(); kahina/trunk/src/org/kahina/tralesld/TraleSLDInstance.java
r370 r381 53 53 protected TraleSLDState createState() 54 54 { 55 return new TraleSLDState( this);55 return new TraleSLDState(); 56 56 } 57 57 kahina/trunk/src/org/kahina/tralesld/TraleSLDState.java
r363 r381 9 9 public class TraleSLDState extends LogicProgrammingState 10 10 { 11 /** 12 * 13 */ 14 private static final long serialVersionUID = -6388044339949017641L; 15 11 16 KahinaChart chart; 12 17 … … 15 20 HashMap<Integer, Integer> nodeToEdge; 16 21 17 public TraleSLDState( TraleSLDInstance kahina)22 public TraleSLDState() 18 23 { 19 super( kahina);24 super(); 20 25 chart = new KahinaMemChart(); 21 26 edgeToNode = new HashMap<Integer, Integer>(); kahina/trunk/src/org/kahina/tralesld/bridge/TraleSLDBridge.java
r380 r381 15 15 16 16 import org.kahina.core.KahinaRunner; 17 import org.kahina.core.data.KahinaDataHandlingMethod;18 17 import org.kahina.core.data.chart.KahinaChart; 19 18 import org.kahina.core.gui.event.KahinaChartUpdateEvent; kahina/trunk/src/org/kahina/tulipa/TulipaInstance.java
r363 r381 34 34 protected TulipaState createState() 35 35 { 36 return new TulipaState( this);36 return new TulipaState(); 37 37 } 38 38 kahina/trunk/src/org/kahina/tulipa/TulipaState.java
r363 r381 11 11 TulipaGrammar grammar; 12 12 13 public TulipaState( TulipaInstance kahina)13 public TulipaState() 14 14 { 15 super( kahina);15 super(); 16 16 dag = new KahinaMemDAG(); 17 17 grammar = new TulipaGrammar();
