Index: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/JFCLogParser.java
===================================================================
--- trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/JFCLogParser.java	(revision 367)
+++ trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/JFCLogParser.java	(revision 369)
@@ -1,4 +1,5 @@
 package de.ugoe.cs.eventbench.jfc;
 
+import java.awt.event.MouseEvent;
 import java.io.File;
 import java.io.FileInputStream;
@@ -9,4 +10,5 @@
 import java.security.InvalidParameterException;
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
@@ -58,5 +60,5 @@
 	 */
 	private List<JFCEvent> currentSequence = null;
-	
+
 	/**
 	 * <p>
@@ -87,4 +89,6 @@
 	ParamSource paramSource = null;
 
+	private Collection<Integer> eventFilter;
+
 	/**
 	 * <p>
@@ -95,4 +99,11 @@
 		sequences = new LinkedList<List<JFCEvent>>();
 		currentSequence = new LinkedList<JFCEvent>();
+		setupEventFilter();
+	}
+
+	private void setupEventFilter() {
+		eventFilter = new HashSet<Integer>();
+		eventFilter.add(MouseEvent.MOUSE_PRESSED);
+		eventFilter.add(MouseEvent.MOUSE_RELEASED);
 	}
 
@@ -117,5 +128,5 @@
 	public void startElement(String uri, String localName, String qName,
 			Attributes atts) throws SAXException {
-		if( qName.equals("sessions") ) {
+		if (qName.equals("sessions")) {
 			currentSequence = new LinkedList<JFCEvent>();
 		}
@@ -127,26 +138,31 @@
 			currentSequence = new LinkedList<JFCEvent>();
 		} else if (qName.equals("event")) {
-			currentEvent = new JFCEvent(atts.getValue("id"));
-			paramSource = ParamSource.EVENT;
-		} else if (qName.equals("param")) {
-			if (paramSource == ParamSource.EVENT) {
-				currentEvent.addParameter(atts.getValue("name"),
-						atts.getValue("value"));
-			} else if (paramSource == ParamSource.SOURCE) {
-				currentEvent.addSourceInformation(atts.getValue("name"),
-						atts.getValue("value"));
-			} else if (paramSource == ParamSource.PARENT) {
-				currentEvent.addParentInformation(atts.getValue("name"),
-						atts.getValue("value"));
-			} else if (paramSource == ParamSource.COMPONENT) {
-				componentString += "'" + atts.getValue("value") + "',";
-			}
-		} else if (qName.equals("source")) {
-			paramSource = ParamSource.SOURCE;
-		} else if (qName.equals("parent")) {
-			paramSource = ParamSource.PARENT;
-		} else if (qName.equals("component")) {
-			paramSource = ParamSource.COMPONENT;
-			componentString = "[";
+			int eventId = Integer.parseInt(atts.getValue("id"));
+			if (!eventFilter.contains(eventId)) {
+				currentEvent = new JFCEvent(atts.getValue("id"));
+				paramSource = ParamSource.EVENT;
+			}
+		} else if (currentEvent != null) {
+			if (qName.equals("param")) {
+				if (paramSource == ParamSource.EVENT) {
+					currentEvent.addParameter(atts.getValue("name"),
+							atts.getValue("value"));
+				} else if (paramSource == ParamSource.SOURCE) {
+					currentEvent.addSourceInformation(atts.getValue("name"),
+							atts.getValue("value"));
+				} else if (paramSource == ParamSource.PARENT) {
+					currentEvent.addParentInformation(atts.getValue("name"),
+							atts.getValue("value"));
+				} else if (paramSource == ParamSource.COMPONENT) {
+					componentString += "'" + atts.getValue("value") + "',";
+				}
+			} else if (qName.equals("source")) {
+				paramSource = ParamSource.SOURCE;
+			} else if (qName.equals("parent")) {
+				paramSource = ParamSource.PARENT;
+			} else if (qName.equals("component")) {
+				paramSource = ParamSource.COMPONENT;
+				componentString = "[";
+			}
 		}
 	}
@@ -161,18 +177,22 @@
 	public void endElement(String uri, String localName, String qName)
 			throws SAXException {
-		if (qName.equals("event")) {
-			currentSequence.add(currentEvent);
-		} else if (qName.equals("source")) {
-			paramSource = ParamSource.EVENT;
-		} else if (qName.equals("parent")) {
-			paramSource = ParamSource.SOURCE;
-		} else if (qName.equals("sessions")) {
-			if(currentSequence!=null && !currentSequence.isEmpty() ) {
+		if (qName.equals("sessions")) {
+			if (currentSequence != null && !currentSequence.isEmpty()) {
 				sequences.add(currentSequence);
 			}
 			currentSequence = null;
-		} else if (qName.equals("component")) {
-			paramSource.equals(ParamSource.SOURCE);
-			currentEvent.extendTarget(componentString.substring(0, componentString.length()-1)+"]");
+		} else if (currentEvent != null) {
+			if (qName.equals("event")) {
+				currentSequence.add(currentEvent);
+				currentEvent = null;
+			} else if (qName.equals("source")) {
+				paramSource = ParamSource.EVENT;
+			} else if (qName.equals("parent")) {
+				paramSource = ParamSource.SOURCE;
+			} else if (qName.equals("component")) {
+				paramSource.equals(ParamSource.SOURCE);
+				currentEvent.extendTarget(componentString.substring(0,
+						componentString.length() - 1) + "]");
+			}
 		}
 	}
