source: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/commands/CMDparseHTML.java @ 1179

Last change on this file since 1179 was 1179, checked in by pharms, 11 years ago
  • corrected error handling during parsing
File size: 2.7 KB
Line 
1//   Copyright 2012 Georg-August-Universität Göttingen, Germany
2//
3//   Licensed under the Apache License, Version 2.0 (the "License");
4//   you may not use this file except in compliance with the License.
5//   You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9//   Unless required by applicable law or agreed to in writing, software
10//   distributed under the License is distributed on an "AS IS" BASIS,
11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//   See the License for the specific language governing permissions and
13//   limitations under the License.
14
15package de.ugoe.cs.autoquest.plugin.html.commands;
16
17import java.util.Collection;
18import java.util.List;
19
20import de.ugoe.cs.autoquest.CommandHelpers;
21import de.ugoe.cs.autoquest.eventcore.Event;
22import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel;
23import de.ugoe.cs.autoquest.plugin.html.HTMLLogParser;
24import de.ugoe.cs.util.console.Command;
25import de.ugoe.cs.util.console.Console;
26import de.ugoe.cs.util.console.GlobalDataContainer;
27
28/**
29 * <p>
30 * Command to parse a file with sessions monitored by AutoQUESTs HTML monitor.
31 * </p>
32 *
33 * @author Patrick Harms
34 * @version 1.0
35 */
36public class CMDparseHTML implements Command {
37
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
48        try {
49            filename = (String) parameters.get(0);
50            if (parameters.size() >= 2) {
51                sequencesName = (String) parameters.get(1);
52            }
53        }
54        catch (Exception e) {
55            throw new IllegalArgumentException();
56        }
57
58        HTMLLogParser parser = new HTMLLogParser();
59
60        try {
61            parser.parseFile(filename);
62        }
63        catch (Exception e) {
64            Console.printerrln("Could not parse " + filename + ": " + e.getMessage());
65            return;
66        }
67
68        Collection<List<Event>> sequences = parser.getSequences();
69
70        GUIModel targets = parser.getGuiModel();
71
72        if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) {
73            CommandHelpers.dataOverwritten(sequencesName);
74        }
75
76        if (GlobalDataContainer.getInstance().addData(sequencesName + "_targets", targets)) {
77            CommandHelpers.dataOverwritten(sequencesName + "_targets");
78        }
79    }
80
81    /*
82     * (non-Javadoc)
83     *
84     * @see de.ugoe.cs.util.console.Command#help()
85     */
86    @Override
87    public String help() {
88        return "parseHTML <filename> {<sequencesName>}";
89    }
90
91}
Note: See TracBrowser for help on using the repository browser.