Ignore:
Timestamp:
08/27/12 11:45:09 (12 years ago)
Author:
pharms
Message:
  • adapted implementation to now generate a full GUI model as well as concrete GUI interaction events
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 
    12package de.ugoe.cs.quest.plugin.mfc.commands; 
    23 
     
    45import java.util.Collection; 
    56import java.util.List; 
    6 import java.util.SortedSet; 
    77 
    88import de.ugoe.cs.quest.CommandHelpers; 
    99import de.ugoe.cs.quest.eventcore.Event; 
     10import de.ugoe.cs.quest.eventcore.guimodel.GUIModel; 
    1011import 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; 
    1312import de.ugoe.cs.quest.ui.GlobalDataContainer; 
    1413import de.ugoe.cs.util.console.Command; 
     
    1716/** 
    1817 * <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. 
    2119 * </p> 
    2220 *  
     
    2624public class CMDparseXML implements Command { 
    2725 
    28         /* 
    29         * (non-Javadoc) 
    30         *  
    31         * @see de.ugoe.cs.util.console.Command#help() 
    32         */ 
    33         @Override 
    34         public void help() { 
    35                 Console.println("Usage: parseXML <filename> {<sequencesName>} {<countMessageOccurences>}"); 
    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    } 
    3735 
    38         /* 
    39         * (non-Javadoc) 
    40         *  
    41         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
    42         */ 
    43         @Override 
    44         public void run(List<Object> parameters) { 
    45                 String filename; 
    46                 String sequencesName = "sequences"; 
    47                 boolean countMessageOccurences = false; 
     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; 
    4846 
    49                 try { 
    50                         filename = (String) parameters.get(0); 
    51                         if (parameters.size() >= 2) { 
    52                                 sequencesName = (String) parameters.get(1); 
    53                         } 
    54                         if (parameters.size() >= 3) { 
    55                                 countMessageOccurences = Boolean 
    56                                                 .parseBoolean((String) parameters.get(2)); 
    57                         } 
    58                 } catch (Exception e) { 
    59                         throw new InvalidParameterException(); 
    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        } 
    6159 
    62                 MFCLogParser parser = new MFCLogParser(countMessageOccurences); 
    63                 parser.parseFile(filename); 
     60        MFCLogParser parser = new MFCLogParser(countMessageOccurences); 
     61        parser.parseFile(filename); 
    6462 
    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(); 
    7964 
    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    } 
    8874 
    8975} 
Note: See TracChangeset for help on using the changeset viewer.