Changeset 383
- Timestamp:
- 07/26/10 18:30:19 (2 years ago)
- Files:
-
- kahina/trunk/src/org/kahina/core/KahinaInstance.java (modified) (4 diffs)
- kahina/trunk/src/org/kahina/core/KahinaRunner.java (modified) (4 diffs)
- kahina/trunk/src/org/kahina/core/data/DataManager.java (deleted)
- kahina/trunk/src/org/kahina/core/data/DataStore.java (deleted)
- kahina/trunk/src/org/kahina/core/data/KahinaDataHandlingMethod.java (deleted)
- kahina/trunk/src/org/kahina/core/data/KahinaObject.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/core/data/KahinaObjectMemDataStore.java (deleted)
- kahina/trunk/src/org/kahina/core/data/MagazineDataManager.java (deleted)
- kahina/trunk/src/org/kahina/core/data/MagazineDataStore.java (deleted)
- kahina/trunk/src/org/kahina/core/data/MemDataManager.java (deleted)
- kahina/trunk/src/org/kahina/core/data/chart/KahinaChart.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/core/gui/KahinaGUI.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/core/io/magazine/ObjectMagazine.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/core/test/KahinaChartTest.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/core/test/KahinaDAGTest.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/core/test/KahinaTreeTest.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/lp/LogicProgrammingStep.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/tralesld/TraleSLDRunner.java (modified) (3 diffs)
- kahina/trunk/src/org/kahina/tralesld/TraleSLDStep.java (modified) (1 diff)
- kahina/trunk/src/org/kahina/tulipa/TulipaRunner.java (modified) (2 diffs)
- kahina/trunk/src/org/kahina/tulipa/TulipaStep.java (modified) (1 diff)
- kahina/trunk/test/org/kahina/core/test/data (deleted)
- kahina/trunk/test/org/kahina/tralesld/data/fs/BracketPackerTest.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
kahina/trunk/src/org/kahina/core/KahinaInstance.java
r382 r383 15 15 import org.kahina.core.bridge.KahinaBridge; 16 16 import org.kahina.core.control.KahinaListener; 17 import org.kahina.core.data.DataManager;18 17 import org.kahina.core.data.KahinaObject; 19 18 import org.kahina.core.data.source.KahinaSourceCodeLocation; … … 29 28 import org.kahina.core.gui.event.KahinaSelectionEvent; 30 29 import org.kahina.core.gui.event.KahinaUpdateEvent; 30 import org.kahina.core.io.magazine.ObjectMagazine; 31 31 import org.kahina.core.util.FileUtilities; 32 32 import org.kahina.core.util.ProgressMonitorWrapper; … … 153 153 monitor = gui.createProgressMonitorWrapper("Loading session", null, 0, zipFile.size()); 154 154 FileUtilities.unzipToDirectory(zipFile, directory, "steps/", monitor); 155 KahinaRunner. getDataManager().load(directory);155 KahinaRunner.loadSteps(directory); 156 156 KahinaRunner.processEvent(new KahinaSelectionEvent(state.getSelectedStepID())); 157 157 } catch (Exception e) … … 206 206 return; 207 207 } 208 DataManager dm = KahinaRunner.getDataManager();209 ProgressMonitorWrapper monitor = gui.createProgressMonitorWrapper("Saving session", null, 0, dm.persistSteps() * 2 + 2);208 ObjectMagazine<KahinaStep> steps = KahinaRunner.getSteps(); 209 ProgressMonitorWrapper monitor = gui.createProgressMonitorWrapper("Saving session", null, 0, steps.persistSteps() * 2 + 2); 210 210 ObjectOutputStream out = null; 211 211 try 212 212 { 213 synchronized ( dm)214 { 215 dm.persist(stepFolder, monitor);213 synchronized (steps) 214 { 215 steps.persist(stepFolder, monitor); 216 216 } 217 217 synchronized (state) kahina/trunk/src/org/kahina/core/KahinaRunner.java
r379 r383 1 1 package org.kahina.core; 2 2 3 import java.io.File; 4 3 5 import org.kahina.core.control.KahinaController; 4 import org.kahina.core.data.DataManager; 5 import org.kahina.core.data.KahinaDataHandlingMethod; 6 import org.kahina.core.data.MagazineDataManager; 7 import org.kahina.core.data.MemDataManager; 6 import org.kahina.core.data.KahinaObject; 8 7 import org.kahina.core.event.KahinaEvent; 8 import org.kahina.core.io.magazine.ObjectMagazine; 9 import org.kahina.lp.LogicProgrammingStep; 9 10 10 11 public class KahinaRunner … … 12 13 private static final boolean VERBOSE = false; 13 14 14 private static DataManager dm;15 private static ObjectMagazine<KahinaStep> steps; 15 16 private static KahinaController control; 16 private static KahinaDataHandlingMethod dataHandlingMethod;17 17 18 public static void initialize( KahinaDataHandlingMethod dataHandlingType)18 public static void initialize() 19 19 { 20 dataHandlingMethod = dataHandlingType;21 20 control = new KahinaController(); 22 if (dataHandlingType == KahinaDataHandlingMethod.MEMORY) 23 { 24 setDataManager(new MemDataManager()); 25 } else 26 { 27 setDataManager(new MagazineDataManager()); 28 } 21 steps = ObjectMagazine.create(); 29 22 } 30 23 … … 35 28 System.err.println("KahinaRunner ist deinitializing."); 36 29 } 37 dm.close();38 dm= null;30 steps.close(); 31 steps = null; 39 32 control = null; 40 dataHandlingMethod = null;41 33 } 42 43 public static DataManager getDataManager()44 {45 return dm;46 }47 48 private static void setDataManager(DataManager dm)49 {50 dm.initialize();51 KahinaRunner.dm = dm;52 }53 34 54 35 public static void processEvent(KahinaEvent e) … … 62 43 } 63 44 64 public static KahinaDataHandlingMethod getDataHandlingMethod()45 public static void store(KahinaObject object) 65 46 { 66 return dataHandlingMethod; 47 // TODO we want to do this differently 48 steps.store(object.getID(), (KahinaStep) object); 49 } 50 51 @SuppressWarnings("unchecked") 52 public static <T extends KahinaObject> T retrieve(Class<T> type, int stepID) 53 { 54 // TODO we want to do this differently 55 return (T) steps.retrieve(stepID); 56 } 57 58 public static ObjectMagazine<KahinaStep> getSteps() 59 { 60 return steps; 61 } 62 63 public static void loadSteps(File directory) 64 { 65 steps = ObjectMagazine.load(directory, KahinaStep.class); 67 66 } 68 67 } kahina/trunk/src/org/kahina/core/data/KahinaObject.java
r369 r383 65 65 } 66 66 67 @Deprecated 67 68 public void store() 68 69 { 69 KahinaRunner. getDataManager().store(this);70 KahinaRunner.store(this); 70 71 } 71 72 73 @Deprecated 72 74 public void storeCaching() 73 75 { 74 KahinaRunner.getDataManager().storeCaching(this);76 store(); 75 77 } 76 78 } kahina/trunk/src/org/kahina/core/data/chart/KahinaChart.java
r379 r383 3 3 import java.util.Set; 4 4 5 import org.kahina.core.data.KahinaDataHandlingMethod;6 5 import org.kahina.core.data.KahinaObject; 7 6 import org.w3c.dom.Document; … … 129 128 } 130 129 131 public static KahinaChart importXML(Document dom , KahinaDataHandlingMethod dataHandlingMethod)130 public static KahinaChart importXML(Document dom) 132 131 { 133 132 KahinaChart m = new KahinaMemChart(); kahina/trunk/src/org/kahina/core/gui/KahinaGUI.java
r371 r383 191 191 public void displayStepContent(int stepID) 192 192 { 193 KahinaStep step = KahinaRunner. getDataManager().retrieve(stepType, stepID);193 KahinaStep step = KahinaRunner.retrieve(KahinaStep.class, stepID); 194 194 for (Field field : fieldToView.keySet()) 195 195 { kahina/trunk/src/org/kahina/core/io/magazine/ObjectMagazine.java
r382 r383 23 23 import org.kahina.core.util.ProgressMonitorWrapper; 24 24 25 // TODO clean interface for saving, restoring, closing26 25 public class ObjectMagazine<S> 27 26 { … … 177 176 } 178 177 179 public static <S> ObjectMagazine<S> create( File folder)180 { 181 return create( folder,1000, 0.2F, 0.6F);182 } 183 184 p ublic static <S> ObjectMagazine<S> create(File folder,int blockSize, float lowerBound, float upperBound)185 { 186 if (folder.exists())187 {188 throw new KahinaException("Cannot create magazine, file " + folder + " already exists.");189 }190 if (!folder.mkdir())191 { 192 throw new KahinaException(" Could not create folder " + folder + " for magazine.");193 } 194 writePropertiesFile( folder, blockSize, lowerBound, upperBound);195 return new ObjectMagazine<S>( folder, blockSize, lowerBound, upperBound, 1);178 public static <S> ObjectMagazine<S> create() 179 { 180 return create(1000, 0.2F, 0.6F); 181 } 182 183 private static <S> ObjectMagazine<S> create(int blockSize, float lowerBound, float upperBound) 184 { 185 File directory; 186 try 187 { 188 directory = FileUtilities.createTemporaryDirectory(); 189 } catch (IOException e) 190 { 191 throw new KahinaException("Failed to create magazine.", e); 192 } 193 writePropertiesFile(directory, blockSize, lowerBound, upperBound); 194 return new ObjectMagazine<S>(directory, blockSize, lowerBound, upperBound, 1); 196 195 } 197 196 kahina/trunk/src/org/kahina/core/test/KahinaChartTest.java
r379 r383 12 12 import javax.xml.parsers.ParserConfigurationException; 13 13 14 import org.kahina.core.data.KahinaDataHandlingMethod;15 14 import org.kahina.core.data.chart.KahinaChart; 16 15 import org.kahina.core.visual.chart.KahinaChartView; … … 31 30 //DatabaseHandler data = new DatabaseHandler(new File("otoka.dat")); 32 31 //KahinaChart m = KahinaChart.importXML(dom, KahinaDataHandlingMethod.DATABASE, data); 33 KahinaChart m = KahinaChart.importXML(dom , KahinaDataHandlingMethod.MEMORY);32 KahinaChart m = KahinaChart.importXML(dom); 34 33 KahinaChartView v = new KahinaChartView(); 35 34 v.display(m); kahina/trunk/src/org/kahina/core/test/KahinaDAGTest.java
r357 r383 11 11 12 12 import org.kahina.core.KahinaRunner; 13 import org.kahina.core.data.KahinaDataHandlingMethod;14 13 import org.kahina.core.data.dag.KahinaDAG; 15 14 import org.kahina.core.data.dag.KahinaMemDAG; … … 25 24 try 26 25 { 27 KahinaRunner.initialize( KahinaDataHandlingMethod.MEMORY);26 KahinaRunner.initialize(); 28 27 29 28 File file = new File("src/org/kahina/core/test/test-dag.xml"); kahina/trunk/src/org/kahina/core/test/KahinaTreeTest.java
r379 r383 13 13 14 14 import org.kahina.core.KahinaRunner; 15 import org.kahina.core.data.KahinaDataHandlingMethod;16 15 import org.kahina.core.data.tree.KahinaMemTree; 17 16 import org.kahina.core.data.tree.KahinaTree; … … 60 59 v0.setStatusColorEncoding(3,new Color(255,255,255)); 61 60 62 KahinaRunner.initialize( KahinaDataHandlingMethod.MEMORY);61 KahinaRunner.initialize(); 63 62 KahinaRunner.getControl().registerListener("select", v0); 64 63 KahinaRunner.getControl().registerListener("update", v0); kahina/trunk/src/org/kahina/lp/LogicProgrammingStep.java
r379 r383 59 59 public static LogicProgrammingStep get(int id) 60 60 { 61 return KahinaRunner. getDataManager().retrieve(LogicProgrammingStep.class, id);61 return KahinaRunner.retrieve(LogicProgrammingStep.class, id); 62 62 } 63 63 } kahina/trunk/src/org/kahina/tralesld/TraleSLDRunner.java
r379 r383 2 2 3 3 import org.kahina.core.KahinaRunner; 4 import org.kahina.core.KahinaStep;5 import org.kahina.core.data.DataManager;6 import org.kahina.core.data.KahinaDataHandlingMethod;7 import org.kahina.core.data.source.KahinaSourceCodeLocation;8 import org.kahina.core.data.source.KahinaSourceFileModel;9 import org.kahina.core.data.text.KahinaText;10 import org.kahina.core.data.text.KahinaTextModel;11 import org.kahina.lp.LogicProgrammingStep;12 4 import org.kahina.tralesld.bridge.TraleSLDBridge; 13 import org.kahina.tralesld.data.fs.TraleSLDPackedFSNonTerminal;14 import org.kahina.tralesld.data.fs.TraleSLDPackedFSTerminal;15 import org.kahina.tralesld.data.fs.TraleSLDVariableBinding;16 import org.kahina.tralesld.data.fs.TraleSLDVariableBindingSet;17 5 18 6 public class TraleSLDRunner extends KahinaRunner … … 59 47 } 60 48 61 public static void initialize( KahinaDataHandlingMethod dataHandlingType)49 public static void initialize() 62 50 { 63 KahinaRunner.initialize(dataHandlingType); 64 DataManager dm = KahinaRunner.getDataManager(); 65 dm.registerDataType(KahinaStep.class); 66 dm.registerDataType(LogicProgrammingStep.class); 67 dm.registerDataType(TraleSLDStep.class); 68 dm.registerDataType(TraleSLDPackedFSNonTerminal.class); 69 dm.registerDataType(TraleSLDPackedFSTerminal.class); 70 dm.registerDataType(KahinaSourceCodeLocation.class); 71 dm.registerDataType(KahinaSourceFileModel.class); 72 dm.registerDataType(TraleSLDVariableBinding.class); 73 dm.registerDataType(TraleSLDVariableBindingSet.class); 74 dm.registerDataType(KahinaTextModel.class); 75 dm.registerDataType(KahinaText.class); 51 KahinaRunner.initialize(); 76 52 } 77 53 … … 80 56 try 81 57 { 82 initialize( KahinaDataHandlingMethod.MAGAZINE);58 initialize(); 83 59 TraleSLDInstance kahina = new TraleSLDInstance(); 84 60 kahina.getGUI().prepare(); kahina/trunk/src/org/kahina/tralesld/TraleSLDStep.java
r370 r383 33 33 public static TraleSLDStep get(int id) 34 34 { 35 return KahinaRunner. getDataManager().retrieve(TraleSLDStep.class, id);35 return KahinaRunner.retrieve(TraleSLDStep.class, id); 36 36 } 37 37 } kahina/trunk/src/org/kahina/tulipa/TulipaRunner.java
r379 r383 2 2 3 3 import org.kahina.core.KahinaRunner; 4 import org.kahina.core.KahinaStep;5 import org.kahina.core.data.DataManager;6 import org.kahina.core.data.KahinaDataHandlingMethod;7 import org.kahina.core.data.source.KahinaSourceCodeLocation;8 import org.kahina.core.data.source.KahinaSourceFileModel;9 import org.kahina.core.data.text.KahinaText;10 import org.kahina.core.data.text.KahinaTextModel;11 4 import org.kahina.tulipa.bridge.TulipaBridge; 12 5 13 6 public class TulipaRunner extends KahinaRunner 14 7 { 15 public static void initialize( KahinaDataHandlingMethod dataHandlingType)8 public static void initialize() 16 9 { 17 KahinaRunner.initialize(dataHandlingType); 18 DataManager dm = KahinaRunner.getDataManager(); 19 dm.registerDataType(KahinaStep.class); 20 dm.registerDataType(KahinaSourceCodeLocation.class); 21 dm.registerDataType(KahinaSourceFileModel.class); 22 dm.registerDataType(KahinaTextModel.class); 23 dm.registerDataType(TulipaStep.class); 24 dm.registerDataType(KahinaText.class); 25 /*dm.registerDataType(KahinaLineReference.class); 26 dm.registerDataType(LogicProgrammingLineReference.class); 27 dm.registerDataType(KahinaText.class);*/ 10 KahinaRunner.initialize(); 28 11 } 29 12 … … 31 14 { 32 15 System.err.println("Starting Kahina.TuLiPa instance..."); 33 initialize( KahinaDataHandlingMethod.MEMORY);16 initialize(); 34 17 TulipaInstance kahina = new TulipaInstance(); 35 18 kahina.getGUI().prepare(); kahina/trunk/src/org/kahina/tulipa/TulipaStep.java
r369 r383 37 37 public static TulipaStep get(int id) 38 38 { 39 return KahinaRunner. getDataManager().retrieve(TulipaStep.class, id);39 return KahinaRunner.retrieve(TulipaStep.class, id); 40 40 } 41 41 } kahina/trunk/test/org/kahina/tralesld/data/fs/BracketPackerTest.java
r379 r383 11 11 12 12 import org.junit.Test; 13 import org.kahina.core.data.DataManager;14 import org.kahina.core.data.MemDataManager;15 13 16 14 public class BracketPackerTest … … 18 16 19 17 @Test 20 public void memTest() 21 { 22 DataManager dm = new MemDataManager(); 23 dm.registerDataType(TraleSLDPackedFSNonTerminal.class); 24 dm.registerDataType(TraleSLDPackedFSTerminal.class); 25 test(dm); 26 } 27 28 public void test(DataManager dm) 18 public void test1() 29 19 { 30 20 TraleSLDFSPacker packer = new TraleSLDFSPacker(); 31 21 Scanner scanner = new Scanner(Main.class.getResourceAsStream("/gralej/resource/sample.GRALE")); 32 22 List<String> lines = new ArrayList<String>(); 33 List< Integer> results = new ArrayList<Integer>();23 List<TraleSLDFS> results = new ArrayList<TraleSLDFS>(); 34 24 while (scanner.hasNextLine()) 35 25 { 36 pack AndStore(scanner.nextLine(), dm, lines, results, packer);26 pack(scanner.nextLine(), lines, results, packer); 37 27 } 38 pack AndStore("bla(a)))", dm, lines, results, packer);39 pack AndStore("a\"aa", dm, lines, results, packer);40 pack AndStore("\"\"", dm, lines, results, packer);41 pack AndStore("\"aaaaaaaaa", dm, lines, results, packer);42 pack AndStore("(\"))(\"", dm, lines, results, packer);43 pack AndStore("(((a)alb", dm, lines, results, packer);44 Iterator< Integer> resultsIterator = results.iterator();28 pack("bla(a)))", lines, results, packer); 29 pack("a\"aa", lines, results, packer); 30 pack("\"\"", lines, results, packer); 31 pack("\"aaaaaaaaa", lines, results, packer); 32 pack("(\"))(\"", lines, results, packer); 33 pack("(((a)alb", lines, results, packer); 34 Iterator<TraleSLDFS> resultsIterator = results.iterator(); 45 35 for (String original : lines) 46 36 { 47 String result = dm.retrieve(resultsIterator.next()).toString();37 String result = resultsIterator.next().toString(); 48 38 Assert.assertEquals(original, result); 49 39 } 50 40 } 51 41 52 private void pack AndStore(String original, DataManager dm, List<String> originals, List<Integer> packedObjectIDs, TraleSLDFSPacker packer)42 private void pack(String original, List<String> originals, List<TraleSLDFS> fss, TraleSLDFSPacker packer) 53 43 { 54 44 TraleSLDFS fs = packer.pack(original); 55 dm.store(fs);56 45 originals.add(original); 57 packedObjectIDs.add(fs.getID());46 fss.add(fs); 58 47 } 59 48
