source: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/ui/commands/CMDgenerateFixedLengthSequences.java @ 658

Last change on this file since 658 was 547, checked in by sherbold, 12 years ago
  • countless adaptations throughout nearly all components to remove errors introduced due to the refactoring of the event core
  • Property svn:mime-type set to text/plain
File size: 2.7 KB
RevLine 
[434]1package de.ugoe.cs.quest.ui.commands;
[96]2
3import java.security.InvalidParameterException;
[103]4import java.util.Collection;
[96]5import java.util.List;
6
[432]7import de.ugoe.cs.quest.CommandHelpers;
[433]8import de.ugoe.cs.quest.eventcore.Event;
[524]9import de.ugoe.cs.quest.testgeneration.DrawFromAllSequencesGenerator;
[434]10import de.ugoe.cs.quest.ui.GlobalDataContainer;
[433]11import de.ugoe.cs.quest.usageprofiles.IStochasticProcess;
[96]12import de.ugoe.cs.util.console.Command;
13import de.ugoe.cs.util.console.Console;
14
[171]15/**
16 * <p>
17 * Command to generate all sequences of a given length.
18 * </p>
19 *
20 * @author Steffen Herbold
21 * @version 1.0
22 */
[96]23public class CMDgenerateFixedLengthSequences implements Command {
24
[171]25        /*
26         * (non-Javadoc)
27         *
28         * @see de.ugoe.cs.util.console.Command#run(java.util.List)
29         */
[96]30        @Override
31        public void run(List<Object> parameters) {
32                String modelname;
33                String sequencesName;
[120]34                int minLength;
35                int maxLength;
36                boolean all = true;
37                int numSequences = -1;
[393]38                boolean validEnd = true;
[96]39                try {
40                        modelname = (String) parameters.get(0);
41                        sequencesName = (String) parameters.get(1);
[120]42                        minLength = Integer.parseInt((String) parameters.get(2));
43                        maxLength = Integer.parseInt((String) parameters.get(3));
[171]44                        if (parameters.size() >= 5) {
[120]45                                all = Boolean.parseBoolean((String) parameters.get(4));
46                        }
[393]47                        if (parameters.size() >= 6) {
[171]48                                numSequences = Integer.parseInt((String) parameters.get(5));
[120]49                        }
[393]50                        if (parameters.size() >= 7) {
51                                validEnd = Boolean.parseBoolean((String) parameters.get(6));
52                        }
[171]53                } catch (Exception e) {
[96]54                        throw new InvalidParameterException();
55                }
[171]56
57                IStochasticProcess model = null;
58                Object dataObject = GlobalDataContainer.getInstance()
59                                .getData(modelname);
60                if (dataObject == null) {
[240]61                        CommandHelpers.objectNotFoundMessage(modelname);
[209]62                        return;
[171]63                } else if (!(dataObject instanceof IStochasticProcess)) {
[240]64                        CommandHelpers.objectNotType(modelname, "IStochasticProcess");
[209]65                        return;
66                }
67                model = (IStochasticProcess) dataObject;
[524]68                DrawFromAllSequencesGenerator generator = new DrawFromAllSequencesGenerator(
69                                numSequences, minLength, maxLength, validEnd, all);
[547]70                Collection<List<Event>> sequences = generator
[524]71                                .generateTestSuite(model);
72
[209]73                if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) {
[240]74                        CommandHelpers.dataOverwritten(sequencesName);
[209]75                }
76                Console.println("" + sequences.size() + " sequences generated");
[96]77        }
78
[171]79        /*
80         * (non-Javadoc)
81         *
82         * @see de.ugoe.cs.util.console.Command#help()
83         */
[96]84        @Override
85        public void help() {
[393]86                Console.println("Usage: generateFixedLengthSequences <modelname> <sequencesName> <minlenght> <maxlength> {<all>} {<numSequences>} {<validEnd>}");
[96]87        }
88
89}
Note: See TracBrowser for help on using the repository browser.