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

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