source: trunk/quest-plugin-guitar/src/main/java/de/ugoe/cs/quest/plugin/guitar/commands/CMDefgTestCasesToSequences.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

  • Property svn:mime-type set to text/plain
File size: 2.2 KB
Line 
1package de.ugoe.cs.quest.plugin.guitar.commands;
2
3import java.io.File;
4import java.io.FilenameFilter;
5import java.security.InvalidParameterException;
6import java.util.Collection;
7import java.util.LinkedList;
8import java.util.List;
9import java.util.logging.Level;
10
11import de.ugoe.cs.quest.CommandHelpers;
12import de.ugoe.cs.quest.eventcore.Event;
13import de.ugoe.cs.quest.plugin.guitar.GUITARTestCaseParser;
14import de.ugoe.cs.util.console.Command;
15import de.ugoe.cs.util.console.Console;
16import de.ugoe.cs.util.console.GlobalDataContainer;
17
18/**
19 * <p>
20 * Command to load a set of sequences from a set of GUITAR test cases.
21 * </p>
22 *
23 * @author Steffen Herbold
24 * @version 1.0
25 */
26public class CMDefgTestCasesToSequences implements Command {
27
28        /*
29         * (non-Javadoc)
30         *
31         * @see de.ugoe.cs.util.console.Command#run(java.util.List)
32         */
33        @Override
34        public void run(List<Object> parameters) {
35                String foldername;
36                String sequencesName;
37                String efgFileName = null;
38                try {
39                        foldername = (String) parameters.get(0);
40                        sequencesName = (String) parameters.get(1);
41                        if (parameters.size() >= 3) {
42                                efgFileName = (String) parameters.get(2);
43                        }
44                } catch (Exception e) {
45                        throw new InvalidParameterException();
46                }
47
48                File folder = new File(foldername);
49               
50                File[] testcaseFiles = folder.listFiles( new FilenameFilter() {
51                        @Override
52                        public boolean accept(File dir, String name) {
53                                return name.endsWith(".tst");
54                        }
55                });
56                Collection<List<Event>> sequences = new LinkedList<List<Event>>();
57                GUITARTestCaseParser parser;
58                if (efgFileName == null) {
59                        parser = new GUITARTestCaseParser();
60                } else {
61                        parser = new GUITARTestCaseParser(efgFileName);
62                }
63                for (File testcaseFile : testcaseFiles) {
64                        Console.traceln(Level.INFO, "Loading from file "
65                                        + testcaseFile.getAbsolutePath());
66                        sequences.add(parser.parseTestCaseFile(testcaseFile));
67                }
68                if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) {
69                        CommandHelpers.dataOverwritten(sequencesName);
70                }
71
72        }
73
74        /*
75         * (non-Javadoc)
76         *
77         * @see de.ugoe.cs.util.console.Command#help()
78         */
79        @Override
80        public String help() {
81                return "efgTestCasesToSequences <folder> <sequencesName> {<efgFileName>}";
82        }
83
84}
Note: See TracBrowser for help on using the repository browser.