- Timestamp:
- 08/27/12 11:45:09 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/quest-plugin-mfc/src/main/java/de/ugoe/cs/quest/plugin/mfc/commands/CMDparseXML.java
r566 r619 1 1 2 package de.ugoe.cs.quest.plugin.mfc.commands; 2 3 … … 4 5 import java.util.Collection; 5 6 import java.util.List; 6 import java.util.SortedSet;7 7 8 8 import de.ugoe.cs.quest.CommandHelpers; 9 9 import de.ugoe.cs.quest.eventcore.Event; 10 import de.ugoe.cs.quest.eventcore.guimodel.GUIModel; 10 11 import de.ugoe.cs.quest.plugin.mfc.MFCLogParser; 11 import de.ugoe.cs.quest.plugin.mfc.eventcore.MFCTargetComparator;12 import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowTree;13 12 import de.ugoe.cs.quest.ui.GlobalDataContainer; 14 13 import de.ugoe.cs.util.console.Command; … … 17 16 /** 18 17 * <p> 19 * Command to parse an XML file with sessions monitored by EventBench's 20 * MFCUsageMonitor. 18 * Command to parse an XML file with sessions monitored by EventBench's MFCUsageMonitor. 21 19 * </p> 22 20 * … … 26 24 public class CMDparseXML implements Command { 27 25 28 29 30 31 32 33 34 35 36 26 /* 27 * (non-Javadoc) 28 * 29 * @see de.ugoe.cs.util.console.Command#help() 30 */ 31 @Override 32 public void help() { 33 Console.println("Usage: parseXML <filename> {<sequencesName>} {<countMessageOccurences>}"); 34 } 37 35 38 39 40 41 42 43 44 45 46 47 36 /* 37 * (non-Javadoc) 38 * 39 * @see de.ugoe.cs.util.console.Command#run(java.util.List) 40 */ 41 @Override 42 public void run(List<Object> parameters) { 43 String filename; 44 String sequencesName = "sequences"; 45 boolean countMessageOccurences = false; 48 46 49 50 51 52 53 54 55 countMessageOccurences = Boolean 56 .parseBoolean((String) parameters.get(2)); 57 58 }catch (Exception e) {59 60 47 try { 48 filename = (String) parameters.get(0); 49 if (parameters.size() >= 2) { 50 sequencesName = (String) parameters.get(1); 51 } 52 if (parameters.size() >= 3) { 53 countMessageOccurences = Boolean.parseBoolean((String) parameters.get(2)); 54 } 55 } 56 catch (Exception e) { 57 throw new InvalidParameterException(); 58 } 61 59 62 63 60 MFCLogParser parser = new MFCLogParser(countMessageOccurences); 61 parser.parseFile(filename); 64 62 65 Collection<List<Event>> sequences = parser.getSequences(); 66 67 Console.traceln("Pre-computing event target equalities."); 68 // compare all Events to a dummy event to make sure they are known by 69 // the MFCTargetComparator 70 Event dummyEvent = Event.STARTEVENT; 71 for (List<Event> sequence : sequences) { 72 for (Event event : sequence) { 73 event.equals(dummyEvent); 74 } 75 } 76 MFCTargetComparator.setMutable(false); 77 78 SortedSet<String> targets = WindowTree.getInstance().getTargets(); 63 Collection<List<Event>> sequences = parser.getSequences(); 79 64 80 if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) { 81 CommandHelpers.dataOverwritten(sequencesName); 82 } 83 if (GlobalDataContainer.getInstance().addData( 84 sequencesName + "_targets", targets)) { 85 CommandHelpers.dataOverwritten(sequencesName + "_targets"); 86 } 87 } 65 GUIModel targets = parser.getGuiModel(); 66 67 if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) { 68 CommandHelpers.dataOverwritten(sequencesName); 69 } 70 if (GlobalDataContainer.getInstance().addData(sequencesName + "_targets", targets)) { 71 CommandHelpers.dataOverwritten(sequencesName + "_targets"); 72 } 73 } 88 74 89 75 }
Note: See TracChangeset
for help on using the changeset viewer.