source: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java @ 230

Last change on this file since 230 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.1 KB
Line 
1package de.ugoe.cs.eventbench.web.data;
2
3import java.util.List;
4
5import de.ugoe.cs.eventbench.data.ReplayableEvent;
6
7/**
8 * <p>
9 * This class defines web events (of PHP-based web applications).
10 * </p>
11 *
12 * @author Steffen Herbold
13 * @version 1.0
14 *
15 */
16public class WebEvent extends ReplayableEvent<WebRequest> {
17
18        /**
19         * <p>
20         * Id for object serialization.
21         * </p>
22         */
23        private static final long serialVersionUID = 1L;
24
25        /**
26         * Timestamp of the event.
27         */
28        private final long timestamp;
29
30        /**
31         * <p>
32         * Helper method that generates the type of the event based on the of the
33         * URI, the POST variables, and the GET variables.
34         * </p>
35         *
36         * @param path
37         *            path of the URI of the event
38         * @param postVars
39         *            POST variables send with the event
40         * @param getVars
41         *            GET variables send with the event
42         * @return type of the event
43         */
44        private final static String makeType(String path, List<String> postVars,
45                        List<String> getVars) {
46                String type = path;
47                if (getVars != null && !getVars.isEmpty()) {
48                        type += "+GET" + getVars.toString().replace(" ", "");
49                }
50                if (postVars != null && !postVars.isEmpty()) {
51                        type += "+POST" + postVars.toString().replace(" ", "");
52                }
53                return type;
54        }
55
56        /**
57         * <p>
58         * Constructor. Creates a new WebEvent.
59         * </p>
60         *
61         * @param url
62         *            URL of the server that received the event
63         * @param path
64         *            path of the URI
65         * @param timestamp
66         *            timestamp of when the event took place
67         * @param postVars
68         *            POST variables send with the event
69         * @param getVars
70         *            GET variables send with the event
71         */
72        public WebEvent(String url, String path, long timestamp,
73                        List<String> postVars, List<String> getVars) {
74                super(makeType(path, postVars, getVars));
75                this.timestamp = timestamp;
76                addReplayEvent(new WebRequest(url, path, postVars, getVars));
77        }
78
79        /**
80         * <p>
81         * Returns the timestamp of the event.
82         * </p>
83         *
84         * @return timestamp of th event
85         */
86        public long getTimestamp() {
87                return timestamp;
88        }
89
90}
Note: See TracBrowser for help on using the repository browser.