source: trunk/quest-plugin-mfc/src/main/java/de/ugoe/cs/quest/plugin/mfc/commands/CMDparseXML.java @ 619

Last change on this file since 619 was 619, checked in by pharms, 12 years ago
  • adapted implementation to now generate a full GUI model as well as concrete GUI interaction events
File size: 2.2 KB
RevLine 
[619]1
[434]2package de.ugoe.cs.quest.plugin.mfc.commands;
[1]3
4import java.security.InvalidParameterException;
[203]5import java.util.Collection;
[1]6import java.util.List;
7
[432]8import de.ugoe.cs.quest.CommandHelpers;
[566]9import de.ugoe.cs.quest.eventcore.Event;
[619]10import de.ugoe.cs.quest.eventcore.guimodel.GUIModel;
[434]11import de.ugoe.cs.quest.plugin.mfc.MFCLogParser;
12import de.ugoe.cs.quest.ui.GlobalDataContainer;
[1]13import de.ugoe.cs.util.console.Command;
14import de.ugoe.cs.util.console.Console;
15
[171]16/**
17 * <p>
[619]18 * Command to parse an XML file with sessions monitored by EventBench's MFCUsageMonitor.
[171]19 * </p>
20 *
21 * @author Steffen Herbold
22 * @version 1.0
23 */
[1]24public class CMDparseXML implements Command {
25
[619]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    }
[1]35
[619]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;
[171]46
[619]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        }
[171]59
[619]60        MFCLogParser parser = new MFCLogParser(countMessageOccurences);
61        parser.parseFile(filename);
[171]62
[619]63        Collection<List<Event>> sequences = parser.getSequences();
[171]64
[619]65        GUIModel targets = parser.getGuiModel();
[1]66
[619]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    }
74
[1]75}
Note: See TracBrowser for help on using the repository browser.