source: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/commands/CMDloadSessionsFromClickstream.java @ 225

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

+ implemented replay generation for de.ugoe.cs.eventbench.web.data.WebRequest?

  • Property svn:mime-type set to text/plain
File size: 2.3 KB
RevLine 
[51]1package de.ugoe.cs.eventbench.web.commands;
2
[54]3import java.io.FileNotFoundException;
4import java.io.IOException;
[51]5import java.security.InvalidParameterException;
[54]6import java.text.ParseException;
[51]7import java.util.List;
8
[54]9import de.ugoe.cs.eventbench.data.GlobalDataContainer;
10import de.ugoe.cs.eventbench.web.WeblogParser;
[51]11import de.ugoe.cs.util.console.Command;
12import de.ugoe.cs.util.console.Console;
13
[171]14/**
15 * <p>
16 * Command to load sessions from a web log.
17 * </p>
[183]18 *
[171]19 * @author Steffen Herbold
20 * @version 1.0
21 */
[51]22public class CMDloadSessionsFromClickstream implements Command {
23
[183]24        /*
25         * (non-Javadoc)
26         *
[171]27         * @see de.ugoe.cs.util.console.Command#run(java.util.List)
28         */
[51]29        @Override
30        public void run(List<Object> parameters) {
[183]31                if (parameters.size() < 1) {
[51]32                        throw new InvalidParameterException();
33                }
34                String source = (String) parameters.get(0);
[224]35                String sequencesName = (String) parameters.get(1);
[225]36                String serverUrl = "";
[68]37                int timeout = -1;
38                int minLength = -1;
[224]39                int maxLength = -1;
[225]40                if( parameters.size()>=3 ) {
41                        serverUrl = (String) parameters.get(2);
[183]42                }
[225]43                if (parameters.size() >= 5) {
44                        timeout = Integer.parseInt((String) parameters.get(3));
45                        minLength = Integer.parseInt((String) parameters.get(4));
46                        maxLength = Integer.parseInt((String) parameters.get(5));
47                }
[183]48
[176]49                WeblogParser parser = new WeblogParser();
[225]50                if( serverUrl!="" ) {
51                        parser.setUrl(serverUrl);
52                }
[183]53                if (timeout != -1) {
[68]54                        parser.setTimeout(timeout);
55                        parser.setMinLength(minLength);
[224]56                        parser.setMaxLength(maxLength);
[68]57                }
[54]58                try {
59                        parser.parseFile(source);
60                } catch (FileNotFoundException e) {
61                        Console.println(e.getMessage());
62                } catch (IOException e) {
63                        Console.println(e.getMessage());
64                } catch (ParseException e) {
65                        Console.println("Invalid format of date stamps.");
66                        Console.println(e.getMessage());
[84]67                }
[183]68
69                if (GlobalDataContainer.getInstance().addData(sequencesName,
70                                parser.getSequences())) {
71                        Console.traceln("Old data \"" + sequencesName + "\" overwritten");
72                }
[51]73        }
[183]74
75        /*
76         * (non-Javadoc)
77         *
[171]78         * @see de.ugoe.cs.util.console.Command#help()
79         */
[51]80        @Override
81        public void help() {
[225]82                Console.println("Usage: loadSessionsFromClickstream <filename> <sequencesName> {<serverUrl>} {<timeout> <minSessionLength> <maxSessionLength>}");
[51]83        }
84
85}
Note: See TracBrowser for help on using the repository browser.