source: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateReplayfile.java @ 84

Last change on this file since 84 was 84, checked in by sherbold, 13 years ago

+ added command generateRandomSequences

  • changed command generateReplayfile such that it accepts an optional parameter with the name of the sequences that are to be written, to allow writing sequences generated with generateRandomSequences
  • minor output changes
File size: 1.7 KB
Line 
1package de.ugoe.cs.eventbench.commands;
2
3import java.security.InvalidParameterException;
4import java.util.List;
5
6import de.ugoe.cs.eventbench.ReplayGenerator;
7import de.ugoe.cs.eventbench.data.Event;
8import de.ugoe.cs.eventbench.data.GlobalDataContainer;
9import de.ugoe.cs.eventbench.data.ReplayableEvent;
10import de.ugoe.cs.util.console.Command;
11import de.ugoe.cs.util.console.Console;
12
13public class CMDgenerateReplayfile implements Command {
14
15        @Override
16        public void help() {
17                Console.println("Usage: generateReplayfile <filename> {<sequences>}");         
18        }
19
20        @SuppressWarnings("unchecked")
21        @Override
22        public void run(List<Object> parameters) {
23                if( parameters.size() < 1 ) {
24                        throw new InvalidParameterException();
25                }
26                String filename = (String) parameters.get(0);
27                String sequencesName = "sequences";
28                if( parameters.size()==2 ) {
29                        sequencesName = (String) parameters.get(0);
30                }
31               
32                List<List<ReplayableEvent<?>>> sequences = null;
33                Object dataObject = GlobalDataContainer.getInstance().getData(sequencesName);
34                       
35                try {
36                        sequences = (List<List<ReplayableEvent<?>>>) dataObject;
37                        ReplayGenerator generator = new ReplayGenerator();
38                        if( sequences.size()>0 ) {
39                                if( sequences.get(0).get(0) instanceof Event ) {
40                                        generator.createLogfileMultipleSessions(sequences, filename);
41                                } else {
42                                        Console.printerrln("Loaded data not are not sequences!");
43                                        if( sequencesName.equals("sequences") ) {
44                                                Console.traceln("Illegal use of \"sequences\" parameter in the GlobalDataContainer.");
45                                                Console.traceln("The parameter should always be of type List<List<Event>>!");
46                                        }
47                                }
48                        }
49                }
50                catch(ClassCastException e) {
51                        Console.printerrln("Sequences not found");
52                }
53               
54        }
55
56}
Note: See TracBrowser for help on using the repository browser.