- Timestamp:
- 09/14/11 20:17:10 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDtrainDFA.java
r171 r184 1 1 package de.ugoe.cs.eventbench.commands; 2 2 3 import java.security.InvalidParameterException;4 3 import java.util.List; 5 4 import java.util.Random; 6 5 7 import de.ugoe.cs.eventbench.data.Event;8 import de.ugoe.cs.eventbench.data.GlobalDataContainer;9 6 import de.ugoe.cs.eventbench.models.DeterministicFiniteAutomaton; 10 import de.ugoe.cs. util.console.Command;7 import de.ugoe.cs.eventbench.models.TrieBasedModel; 11 8 import de.ugoe.cs.util.console.Console; 12 9 … … 17 14 * 18 15 * @author Steffen Herbold 19 * @version 1.016 * @version 2.0 20 17 */ 21 public class CMDtrainDFA implementsCommand {18 public class CMDtrainDFA extends AbstractTrainCommand { 22 19 23 20 /* … … 28 25 @Override 29 26 public void help() { 30 Console.println("Usage: trainDFA <modelName>"); 27 Console.println("Usage: trainDFA <modelName> <sequencesName>"); 28 } 29 30 /** 31 * <p> 32 * No additional parameters. 33 * </p> 34 * 35 * @see de.ugoe.cs.eventbench.commands.AbstractTrainCommand#handleAdditionalParameters(java.util.List) 36 */ 37 @Override 38 void handleAdditionalParameters(List<Object> parameters) throws Exception { 39 // no additional parameters. 31 40 } 32 41 … … 34 43 * (non-Javadoc) 35 44 * 36 * @see de.ugoe.cs. util.console.Command#run(java.util.List)45 * @see de.ugoe.cs.eventbench.commands.AbstractTrainCommand#createModel() 37 46 */ 38 @SuppressWarnings("unchecked")39 47 @Override 40 public void run(List<Object> parameters) { 41 String modelname; 42 try { 43 modelname = (String) parameters.get(0); 44 } catch (Exception e) { 45 throw new InvalidParameterException(); 46 } 47 48 List<List<Event<?>>> sequences = null; 49 Object dataObject = GlobalDataContainer.getInstance().getData( 50 "sequences"); 51 52 try { 53 sequences = (List<List<Event<?>>>) dataObject; 54 if (sequences.size() > 0) { 55 if (sequences.get(0).get(0) instanceof Event) { 56 DeterministicFiniteAutomaton model = new DeterministicFiniteAutomaton( 57 new Random()); 58 model.train(sequences); 59 if (GlobalDataContainer.getInstance().addData(modelname, 60 model)) { 61 Console.traceln("Old data \"" + modelname 62 + "\" overwritten"); 63 } 64 } else { 65 Console.traceln("Illegal use of \"sequences\" parameter in the GlobalDataContainer."); 66 Console.traceln("The parameter should always be of type List<List<? extends Event<?>>!"); 67 } 68 } 69 } catch (ClassCastException e) { 70 Console.println("Sequences need to be loaded first using parseXML"); 71 } 48 TrieBasedModel createModel() { 49 return new DeterministicFiniteAutomaton(new Random()); 72 50 } 73 51
Note: See TracChangeset
for help on using the changeset viewer.