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

Last change on this file since 171 was 171, checked in by sherbold, 13 years ago
  • code documentation and formatting
File size: 2.0 KB
RevLine 
[1]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
[171]13/**
14 * <p>Command to create a replay file from stored sessions.</p>
15 * @author Steffen Herbold
16 * @version 1.0
17 */
[1]18public class CMDgenerateReplayfile implements Command {
19
[171]20        /* (non-Javadoc)
21         * @see de.ugoe.cs.util.console.Command#help()
22         */
[1]23        @Override
24        public void help() {
[84]25                Console.println("Usage: generateReplayfile <filename> {<sequences>}");         
[1]26        }
27
[171]28        /* (non-Javadoc)
29         * @see de.ugoe.cs.util.console.Command#run(java.util.List)
30         */
[1]31        @SuppressWarnings("unchecked")
32        @Override
33        public void run(List<Object> parameters) {
34                if( parameters.size() < 1 ) {
35                        throw new InvalidParameterException();
36                }
37                String filename = (String) parameters.get(0);
[84]38                String sequencesName = "sequences";
39                if( parameters.size()==2 ) {
[98]40                        sequencesName = (String) parameters.get(1);
[84]41                }
[1]42               
43                List<List<ReplayableEvent<?>>> sequences = null;
[84]44                Object dataObject = GlobalDataContainer.getInstance().getData(sequencesName);
[1]45                       
46                try {
47                        sequences = (List<List<ReplayableEvent<?>>>) dataObject;
48                        ReplayGenerator generator = new ReplayGenerator();
[98]49                        if( sequences!=null && sequences.size()>0 && sequences.get(0).get(0) instanceof Event ) {
50                                generator.createLogfileMultipleSessions(sequences, filename);
51                        } else {
52                                Console.printerrln("Loaded data not are not sequences!");
53                                if( sequencesName.equals("sequences") ) {
54                                        Console.traceln("Illegal use of \"sequences\" parameter in the GlobalDataContainer.");
55                                        Console.traceln("The parameter should always be of type List<List<Event>>!");
[1]56                                }
57                        }
58                }
59                catch(ClassCastException e) {
[84]60                        Console.printerrln("Sequences not found");
[1]61                }
62               
63        }
64
65}
Note: See TracBrowser for help on using the repository browser.