Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/WeblogParser.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/WeblogParser.java	(revision 110)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/WeblogParser.java	(revision 111)
@@ -3,4 +3,6 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -47,5 +49,5 @@
 	}
 	
-	public void parseFile(String filename) throws IOException, FileNotFoundException, ParseException {
+	public void parseFile(String filename) throws IOException, FileNotFoundException, ParseException, URISyntaxException {
 		String[] lines = FileTools.getLinesFromFile(filename);
 		
@@ -66,5 +68,5 @@
 			String dateString = values[1];
 			long timestamp = dateFormat.parse(dateString).getTime();
-			String uri = values[2];
+			String uriString = values[2];
 			// String ref = values[3]; // referer is not yet used!
 			String agent;
@@ -77,10 +79,15 @@
 			List<String> postedVars = new ArrayList<String>();
 			if( values.length==6 ) { // post vars found
-				for( String postVar : values[5].split(" ") ) {
+				for( String postVar : values[5].trim().split(" ") ) {
 					postedVars.add(postVar);
 				}
 			}
 			if( !isRobot(agent) ) {
-				WebEvent event = new WebEvent(uri, timestamp, postedVars);
+				URI uri = new URI(uriString);
+				
+				String path = uri.getPath();				
+				List<String> getVars = extractGetVarsFromUri(uri);
+				
+				WebEvent event = new WebEvent(path, timestamp, postedVars, getVars);
 				
 				// find session and add event
@@ -141,3 +148,16 @@
 		return agent.matches(robotRegex);
 	}
+	
+	private List<String> extractGetVarsFromUri(URI uri) {
+		List<String> getVars = new ArrayList<String>();
+		String query = uri.getQuery();
+		if( query!=null ) {
+			String[] paramPairs = query.split("&");
+			for( String paramPair : paramPairs ) {
+				String[] paramSplit = paramPair.split("=");
+				getVars.add(paramSplit[0]);
+			}
+		}
+		return getVars;
+	}
 }
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/commands/CMDloadSessionsFromClickstream.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/commands/CMDloadSessionsFromClickstream.java	(revision 110)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/commands/CMDloadSessionsFromClickstream.java	(revision 111)
@@ -3,4 +3,5 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.net.URISyntaxException;
 import java.security.InvalidParameterException;
 import java.text.ParseException;
@@ -41,4 +42,7 @@
 			Console.println("Invalid format of date stamps.");
 			Console.println(e.getMessage());
+		} catch (URISyntaxException e) {
+			Console.println("Invalid URI!");
+			Console.println(e.getMessage());
 		}
 		
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java	(revision 110)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java	(revision 111)
@@ -8,24 +8,28 @@
 
 	/**
+	 * <p>
 	 * Id for object serialization.
+	 * </p>
 	 */
 	private static final long serialVersionUID = 1L;
 	
 	private final long timestamp;
-	private String uri;
+		
 	
-	private final static String makeType(String uri, List<String> postVars) {
-		String type = uri;
+	private final static String makeType(String path, List<String> postVars, List<String> getVars) {
+		String type = path;
+		if( getVars!=null && !getVars.isEmpty() ) {
+			type += "+GET"+getVars.toString().replace(" ", "");
+		}
 		if( postVars!=null && !postVars.isEmpty() ) {
-			type += postVars.toString().replace(" ", "");
+			type += "+POST"+postVars.toString().replace(" ", "");
 		}
 		return type;
 	}
 	
-	public WebEvent(String uri, long timestamp, List<String> postVars) {
-		super(makeType(uri, postVars));
+	public WebEvent(String path, long timestamp, List<String> postVars, List<String> getVars) {
+		super(makeType(path, postVars, getVars));
 		this.timestamp = timestamp;
-		this.uri = uri;
-		addReplayEvent(new WebRequest(uri, postVars));
+		addReplayEvent(new WebRequest(path, postVars, getVars));
 	}
 	
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebRequest.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebRequest.java	(revision 110)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebRequest.java	(revision 111)
@@ -14,10 +14,12 @@
 
 	List<String> postVars;
+	List<String> getVars;
 	
 	String targetUri;
 	
-	public WebRequest(String uri, List<String> postVars) {
+	public WebRequest(String uri, List<String> postVars, List<String> getVars) {
 		targetUri = uri;
 		this.postVars = new ArrayList<String>(postVars); // defensive copy
+		this.getVars = new ArrayList<String>(getVars);
 	}
 	
@@ -33,4 +35,26 @@
 		return null;
 	}
+	
+	@Override
+	public boolean equals(Object other) {
+		if( this==other ) {
+			return true;
+		}
+		if( other instanceof WebRequest ) {
+			return targetUri.equals(((WebRequest) other).targetUri) && postVars.equals(((WebRequest) other).postVars);
+		}
+		return false;
+	}
+	
+	@Override
+	public int hashCode() {
+		int multiplier = 17;
+		int hash = 42;
+
+		hash = multiplier * hash + targetUri.hashCode();
+		hash = multiplier * hash + postVars.hashCode();
+
+		return hash;
+	}
 
 }
