source: trunk/quest-ui-core/src/de/ugoe/cs/quest/plugin/guitar/commands/CMDefgTestCasesToSequences.java @ 434

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