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

Last change on this file since 667 was 667, checked in by sherbold, 12 years ago

*moved GlobalDataContainer? from quest-ui-core to java-utils

File size: 2.2 KB
Line 
1package de.ugoe.cs.quest.plugin.mfc.commands;
2
3import java.security.InvalidParameterException;
4import java.util.Collection;
5import java.util.List;
6
7import de.ugoe.cs.quest.CommandHelpers;
8import de.ugoe.cs.quest.eventcore.Event;
9import de.ugoe.cs.quest.eventcore.guimodel.GUIModel;
10import de.ugoe.cs.quest.plugin.mfc.MFCLogParser;
11import de.ugoe.cs.util.console.Command;
12import de.ugoe.cs.util.console.GlobalDataContainer;
13
14/**
15 * <p>
16 * Command to parse an XML file with sessions monitored by EventBench's MFCUsageMonitor.
17 * </p>
18 *
19 * @author Steffen Herbold
20 * @version 1.0
21 */
22public class CMDparseXML implements Command {
23
24    /*
25     * (non-Javadoc)
26     *
27     * @see de.ugoe.cs.util.console.Command#help()
28     */
29    @Override
30    public String help() {
31        return "parseXML <filename> {<sequencesName>} {<countMessageOccurences>}";
32    }
33
34    /*
35     * (non-Javadoc)
36     *
37     * @see de.ugoe.cs.util.console.Command#run(java.util.List)
38     */
39    @Override
40    public void run(List<Object> parameters) {
41        String filename;
42        String sequencesName = "sequences";
43        boolean countMessageOccurences = false;
44
45        try {
46            filename = (String) parameters.get(0);
47            if (parameters.size() >= 2) {
48                sequencesName = (String) parameters.get(1);
49            }
50            if (parameters.size() >= 3) {
51                countMessageOccurences = Boolean.parseBoolean((String) parameters.get(2));
52            }
53        }
54        catch (Exception e) {
55            throw new InvalidParameterException();
56        }
57
58        MFCLogParser parser = new MFCLogParser(countMessageOccurences);
59        parser.parseFile(filename);
60
61        Collection<List<Event>> sequences = parser.getSequences();
62
63        GUIModel targets = parser.getGuiModel();
64
65        if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) {
66            CommandHelpers.dataOverwritten(sequencesName);
67        }
68        if (GlobalDataContainer.getInstance().addData(sequencesName + "_targets", targets)) {
69            CommandHelpers.dataOverwritten(sequencesName + "_targets");
70        }
71    }
72
73}
Note: See TracBrowser for help on using the repository browser.