Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/PHPEventTarget.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/PHPEventTarget.java	(revision 554)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/PHPEventTarget.java	(revision 554)
@@ -0,0 +1,62 @@
+
+package de.ugoe.cs.quest.plugin.php.eventcore;
+
+import de.ugoe.cs.quest.eventcore.IEventTarget;
+
+/**
+ * <p>
+ * Event target for PHP web requests.
+ * </p>
+ * 
+ * @version $Revision: $ $Date: Aug 16, 2012$
+ * @author 2012, last modified by $Author: sherbold$
+ */
+public class PHPEventTarget implements IEventTarget {
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * <p>
+     * Path of the PHP request.
+     * </p>
+     */
+    private String path;
+
+    /**
+     * <p>
+     * Constructor. Creates a new PHP event target as the path of the request.
+     * </p>
+     * 
+     * @param path
+     *            path of the URI of the event
+     */
+    public PHPEventTarget(String path) {
+        this.path = path;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.quest.eventcore.IEventTarget#getPlatform()
+     */
+    @Override
+    public String getPlatform() {
+        return "PHP";
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return path;
+    }
+
+}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/PHPEventType.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/PHPEventType.java	(revision 554)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/PHPEventType.java	(revision 554)
@@ -0,0 +1,97 @@
+// Module    : $RCSfile: PHPEventType.java,v $
+// Version   : $Revision: 0.0 $  $Author: sherbold $  $Date: Aug 16, 2012 $
+// Project   : quest-ui-core
+// Creation  : 2012 by sherbold
+// Copyright : Patrick Harms, 2012
+
+package de.ugoe.cs.quest.plugin.php.eventcore;
+
+import java.util.List;
+
+import de.ugoe.cs.quest.eventcore.IEventType;
+
+/**
+ * <p>
+ * Event type for PHP web requests.
+ * </p>
+ * 
+ * @version $Revision: $ $Date: Aug 16, 2012$
+ * @author 2012, last modified by $Author: sherbold$
+ */
+public class PHPEventType implements IEventType {
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * <p>
+     * Path of the web request.
+     * </p>
+     */
+    private String path;
+
+    /**
+     * <p>
+     * List of post variable names posted with the request.
+     * </p>
+     */
+    private List<String> postVars;
+
+    /**
+     * <p>
+     * List of get variable names posted with the request.
+     * </p>
+     */
+    private List<String> getVars;
+
+    /**
+     * <p>
+     * Constructor. Creates a new PHPEventType from a given path, a list of post variables, and a
+     * list of get variables.
+     * </p>
+     * 
+     * @param path
+     *            path of the URI of the event
+     * @param postVars
+     *            POST variables send with the event
+     * @param getVars
+     *            GET variables send with the event
+     */
+    public PHPEventType(String path, List<String> postVars, List<String> getVars) {
+        this.path = path;
+        this.postVars = postVars;
+        this.getVars = getVars;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.quest.eventcore.IEventType#getName()
+     */
+    @Override
+    public String getName() {
+        return "PHPEventType";
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        String str = path;
+        if (getVars != null && !getVars.isEmpty()) {
+            str += "+GET" + getVars.toString().replace(" ", "");
+        }
+        if (postVars != null && !postVars.isEmpty()) {
+            str += "+POST" + postVars.toString().replace(" ", "");
+        }
+        return str;
+    }
+
+}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/WebEvent.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/WebEvent.java	(revision 488)
+++ 	(revision )
@@ -1,108 +1,0 @@
-package de.ugoe.cs.quest.plugin.php.eventcore;
-
-import java.util.List;
-
-import de.ugoe.cs.quest.eventcore.ReplayableEvent;
-
-/**
- * <p>
- * This class defines web events (of PHP-based web applications).
- * </p>
- * 
- * @author Steffen Herbold
- * @version 1.0
- * 
- */
-public class WebEvent extends ReplayableEvent<WebRequest> {
-
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * <p>
-	 * Timestamp of the event.
-	 * </p>
-	 */
-	private final long timestamp;
-
-	/**
-	 * <p>
-	 * Helper method that generates the type of the event based on the of the
-	 * URI, the POST variables, and the GET variables.
-	 * </p>
-	 * 
-	 * @param path
-	 *            path of the URI of the event
-	 * @param postVars
-	 *            POST variables send with the event
-	 * @param getVars
-	 *            GET variables send with the event
-	 * @return type of the event
-	 */
-	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 += "+POST" + postVars.toString().replace(" ", "");
-		}
-		return type;
-	}
-
-	/**
-	 * <p>
-	 * Constructor. Creates a new WebEvent.
-	 * </p>
-	 * 
-	 * @param url
-	 *            URL of the server that received the event
-	 * @param path
-	 *            path of the URI
-	 * @param timestamp
-	 *            timestamp of when the event took place
-	 * @param postVars
-	 *            POST variables send with the event
-	 * @param getVars
-	 *            GET variables send with the event
-	 */
-	public WebEvent(String url, String path, long timestamp,
-			List<String> postVars, List<String> getVars) {
-		super(makeType(path, postVars, getVars));
-		this.timestamp = timestamp;
-		super.setTarget(path);
-		addReplayEvent(new WebRequest(url, path, postVars, getVars));
-	}
-
-	/**
-	 * <p>
-	 * Returns the timestamp of the event.
-	 * </p>
-	 * 
-	 * @return timestamp of th event
-	 */
-	public long getTimestamp() {
-		return timestamp;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.ugoe.cs.quest.eventcore.ReplayableEvent#equals(java.lang.Object)
-	 */
-	@Override
-	public boolean equals(Object other) {
-		return super.equals(other);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.ugoe.cs.quest.eventcore.ReplayableEvent#hashCode()
-	 */
-	@Override
-	public int hashCode() {
-		return super.hashCode();
-	}
-
-}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/WebRequest.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/WebRequest.java	(revision 488)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/eventcore/WebRequest.java	(revision 554)
@@ -1,2 +1,3 @@
+
 package de.ugoe.cs.quest.plugin.php.eventcore;
 
@@ -8,12 +9,10 @@
 /**
  * <p>
- * Contains all information related to a web request, i.e., the path, the POST
- * variables and the GET variables. The generated replay are for the command
- * line tool {@code curl}. The requests do not contain correct values for the
- * POST and GET request. Instead, only the parameters that are part of the
- * requests are added and the values of the parameters are
- * DATA_$PARAMNAME$_DATA, where $PARAMNAME$ is the upper case string of the
- * parameter name. This allows test data generators to insert concrete values,
- * as EventBench does not include a test data generator for web software.
+ * Contains all information related to a web request, i.e., the path, the POST variables and the GET
+ * variables. The generated replay are for the command line tool {@code curl}. The requests do not
+ * contain correct values for the POST and GET request. Instead, only the parameters that are part
+ * of the requests are added and the values of the parameters are DATA_$PARAMNAME$_DATA, where
+ * $PARAMNAME$ is the upper case string of the parameter name. This allows test data generators to
+ * insert concrete values, as EventBench does not include a test data generator for web software.
  * </p>
  * 
@@ -23,150 +22,139 @@
 public class WebRequest implements IReplayable {
 
-	/**
-	 * <p>
-	 * Id for object serialization.
-	 * </p>
-	 */
-	private static final long serialVersionUID = 1L;
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
 
-	/**
-	 * <p>
-	 * POST variables of the web request.
-	 * </p>
-	 */
-	List<String> postVars;
+    /**
+     * <p>
+     * POST variables of the web request.
+     * </p>
+     */
+    List<String> postVars;
 
-	/**
-	 * <p>
-	 * GET variables of the web request.
-	 * </p>
-	 */
-	List<String> getVars;
+    /**
+     * <p>
+     * GET variables of the web request.
+     * </p>
+     */
+    List<String> getVars;
 
-	/**
-	 * <p>
-	 * URI of the web request.
-	 * </p>
-	 */
-	String targetUri;
+    /**
+     * <p>
+     * URI of the web request.
+     * </p>
+     */
+    String targetUri;
 
-	/**
-	 * <p>
-	 * URL of the server.
-	 * </p>
-	 */
-	String serverUrl;
+    /**
+     * <p>
+     * URL of the server.
+     * </p>
+     */
+    String serverUrl;
 
-	/**
-	 * <p>
-	 * Constructor. Creates a new WebRequest.
-	 * </p>
-	 * 
-	 * @param uri
-	 *            URI of the request
-	 * @param postVars
-	 *            POST variables of the request
-	 * @param getVars
-	 *            GET variables of the request
-	 */
-	public WebRequest(String url, String uri, List<String> postVars,
-			List<String> getVars) {
-		serverUrl = url;
-		targetUri = uri;
-		this.postVars = new ArrayList<String>(postVars); // defensive copy
-		this.getVars = new ArrayList<String>(getVars);
-	}
+    /**
+     * <p>
+     * Constructor. Creates a new WebRequest.
+     * </p>
+     * 
+     * @param uri
+     *            URI of the request
+     * @param postVars
+     *            POST variables of the request
+     * @param getVars
+     *            GET variables of the request
+     */
+    public WebRequest(String url, String uri, List<String> postVars, List<String> getVars) {
+        serverUrl = url;
+        targetUri = uri;
+        this.postVars = new ArrayList<String>(postVars); // defensive copy
+        this.getVars = new ArrayList<String>(getVars);
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.ugoe.cs.quest.eventcore.IReplayable#getReplay()
-	 */
-	@Override
-	public String getReplay() {
-		StringBuilder builder = new StringBuilder();
-		builder.append("curl");
-		if (!postVars.isEmpty()) {
-			boolean isFirstPost = true;
-			for (String postVar : postVars) {
-				if (isFirstPost) {
-					builder.append(" --data \"");
-					isFirstPost = false;
-				} else {
-					builder.append('&');
-				}
-				builder.append(postVar + "=DATA_" + postVar.toUpperCase()
-						+ "_DATA");
-			}
-			builder.append('\"');
-		}
-		builder.append(' ');
-		if (serverUrl != null) {
-			builder.append(serverUrl);
-		}
-		builder.append(targetUri);
-		if (!getVars.isEmpty()) {
-			boolean isFirstGet = true;
-			for (String getVar : getVars) {
-				if (isFirstGet) {
-					builder.append('?');
-					isFirstGet = false;
-				} else {
-					builder.append('&');
-				}
-				builder.append(getVar + "=DATA_" + getVar.toUpperCase()
-						+ "_DATA");
-			}
-		}
-		return builder.toString();
-	}
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.quest.eventcore.IReplayable#getReplay()
+     */
+    @Override
+    public String getReplay() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("curl");
+        if (!postVars.isEmpty()) {
+            boolean isFirstPost = true;
+            for (String postVar : postVars) {
+                if (isFirstPost) {
+                    builder.append(" --data \"");
+                    isFirstPost = false;
+                }
+                else {
+                    builder.append('&');
+                }
+                builder.append(postVar + "=DATA_" + postVar.toUpperCase() + "_DATA");
+            }
+            builder.append('\"');
+        }
+        builder.append(' ');
+        if (serverUrl != null) {
+            builder.append(serverUrl);
+        }
+        builder.append(targetUri);
+        if (!getVars.isEmpty()) {
+            boolean isFirstGet = true;
+            for (String getVar : getVars) {
+                if (isFirstGet) {
+                    builder.append('?');
+                    isFirstGet = false;
+                }
+                else {
+                    builder.append('&');
+                }
+                builder.append(getVar + "=DATA_" + getVar.toUpperCase() + "_DATA");
+            }
+        }
+        return builder.toString();
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.ugoe.cs.quest.eventcore.IReplayable#getTarget()
-	 */
-	@Override
-	public String getTarget() {
-		return targetUri;
-	}
+    /**
+     * <p>
+     * Two {@link WebRequest}s are equal, if their {@link #targetUri}, {@link #postVars}, and
+     * {@link #getVars} are equal.
+     * </p>
+     * 
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @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) &&
+                getVars.equals(((WebRequest) other).getVars);
+        }
+        return false;
+    }
 
-	/**
-	 * <p>
-	 * Two {@link WebRequest}s are equal, if their {@link #targetUri},
-	 * {@link #postVars}, and {@link #getVars} are equal.
-	 * </p>
-	 * 
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	@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)
-					&& getVars.equals(((WebRequest) other).getVars);
-		}
-		return false;
-	}
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        int multiplier = 17;
+        int hash = 42;
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#hashCode()
-	 */
-	@Override
-	public int hashCode() {
-		int multiplier = 17;
-		int hash = 42;
+        hash = multiplier * hash + targetUri.hashCode();
+        hash = multiplier * hash + postVars.hashCode();
+        hash = multiplier * hash + getVars.hashCode();
 
-		hash = multiplier * hash + targetUri.hashCode();
-		hash = multiplier * hash + postVars.hashCode();
-		hash = multiplier * hash + getVars.hashCode();
-
-		return hash;
-	}
+        return hash;
+    }
 
 }
