Index: /trunk/java-utils-test/.classpath
===================================================================
--- /trunk/java-utils-test/.classpath	(revision 552)
+++ /trunk/java-utils-test/.classpath	(revision 553)
@@ -2,4 +2,10 @@
 <classpath>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
 		<attributes>
 			<attribute name="optional" value="true"/>
Index: /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/CoverageCalculatorObservedTest.java
===================================================================
--- /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/CoverageCalculatorObservedTest.java	(revision 552)
+++ /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/CoverageCalculatorObservedTest.java	(revision 553)
@@ -5,6 +5,6 @@
 import de.ugoe.cs.quest.coverage.CoverageCalculatorObserved;
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.MockTrieBasedModel;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 
 import java.util.LinkedHashSet;
Index: /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/CoverageCalculatorProcessTest.java
===================================================================
--- /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/CoverageCalculatorProcessTest.java	(revision 552)
+++ /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/CoverageCalculatorProcessTest.java	(revision 553)
@@ -11,6 +11,6 @@
 import de.ugoe.cs.quest.coverage.CoverageCalculatorProcess;
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.MockTrieBasedModel;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 
 import org.junit.*;
Index: /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/SequenceToolsTest.java
===================================================================
--- /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/SequenceToolsTest.java	(revision 552)
+++ /trunk/quest-core-coverage-test/src/test/java/de/ugoe/cs/quest/coverage/SequenceToolsTest.java	(revision 553)
@@ -12,8 +12,8 @@
 import de.ugoe.cs.quest.coverage.SequenceTools;
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.FirstOrderMarkovModel;
 import de.ugoe.cs.quest.usageprofiles.IStochasticProcess;
 import de.ugoe.cs.quest.usageprofiles.MockTrieBasedModel;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 
 import org.junit.*;
Index: /trunk/quest-core-events-test/.classpath
===================================================================
--- /trunk/quest-core-events-test/.classpath	(revision 552)
+++ /trunk/quest-core-events-test/.classpath	(revision 553)
@@ -2,4 +2,10 @@
 <classpath>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
 		<attributes>
 			<attribute name="optional" value="true"/>
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/Event.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/Event.java	(revision 552)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/Event.java	(revision 553)
@@ -30,5 +30,5 @@
      * </p>
      */
-    public static final Event STARTEVENT = new Event(new DummyEventType());
+    public static final Event STARTEVENT = new Event(new StringEventType("START"));
 
     /**
@@ -36,5 +36,5 @@
      * Global end event that can be used to indicate the end of a sequence.
      */
-    public static final Event ENDEVENT = new Event(new DummyEventType());
+    public static final Event ENDEVENT = new Event(new StringEventType("END"));
 
     /**
@@ -160,5 +160,9 @@
      */
     public String getId() {
-        return "(" + type.toString() + ";" + target.toString() + ")";
+        String id = type.toString();
+        if( target!=null ) {
+            id += "." + target.toString();
+        }
+        return id;
     }
 
Index: /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/StringEventType.java
===================================================================
--- /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/StringEventType.java	(revision 553)
+++ /trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/StringEventType.java	(revision 553)
@@ -0,0 +1,92 @@
+
+package de.ugoe.cs.quest.eventcore;
+
+import java.security.InvalidParameterException;
+
+/**
+ * <p>
+ * A simple event type that is identified by a string.
+ * </p>
+ * 
+ * @version $Revision: $ $Date: Aug 16, 2012$
+ * @author 2012, last modified by $Author: sherbold$
+ */
+public class StringEventType implements IEventType {
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * <p>
+     * String that identifies the event type.
+     * </p>
+     */
+    private String str;
+
+    /**
+     * <p>
+     * Constructor. Creates a new StringEventType. str must not be null.
+     * </p>
+     * 
+     * @param str
+     *            string that identifies the event type
+     * @throws InvalidParameterException
+     *             thrown if str is null
+     */
+    public StringEventType(String str) throws InvalidParameterException {
+        if (str == null) {
+            throw new InvalidParameterException("str must not be null");
+        }
+        this.str = str;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.quest.eventcore.IEventType#getName()
+     */
+    @Override
+    public String getName() {
+        return "StringEventType";
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return str;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        return str.hashCode();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object other) {
+        if (other == this) {
+            return true;
+        }
+        if (other instanceof StringEventType) {
+            return str.equals(((StringEventType) other).str);
+        }
+        return false;
+    }
+}
Index: /trunk/quest-core-tasktrees-test/.classpath
===================================================================
--- /trunk/quest-core-tasktrees-test/.classpath	(revision 552)
+++ /trunk/quest-core-tasktrees-test/.classpath	(revision 553)
@@ -2,4 +2,10 @@
 <classpath>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
 		<attributes>
 			<attribute name="optional" value="true"/>
Index: /trunk/quest-core-usageprofiles-test/.classpath
===================================================================
--- /trunk/quest-core-usageprofiles-test/.classpath	(revision 552)
+++ /trunk/quest-core-usageprofiles-test/.classpath	(revision 553)
@@ -2,4 +2,10 @@
 <classpath>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
 		<attributes>
 			<attribute name="optional" value="true"/>
Index: /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/DeterministicFiniteAutomatonTest.java
===================================================================
--- /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/DeterministicFiniteAutomatonTest.java	(revision 552)
+++ /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/DeterministicFiniteAutomatonTest.java	(revision 553)
@@ -6,6 +6,6 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.DeterministicFiniteAutomaton;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 
 import java.util.Random;
Index: /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/FirstOrderMarkovModelTest.java
===================================================================
--- /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/FirstOrderMarkovModelTest.java	(revision 552)
+++ /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/FirstOrderMarkovModelTest.java	(revision 553)
@@ -8,7 +8,7 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.FirstOrderMarkovModel;
 import de.ugoe.cs.quest.usageprofiles.FirstOrderMarkovModel.MarkovEdge;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 import static org.junit.Assert.*;
 
Index: /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/HighOrderMarkovModelTest.java
===================================================================
--- /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/HighOrderMarkovModelTest.java	(revision 552)
+++ /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/HighOrderMarkovModelTest.java	(revision 553)
@@ -6,6 +6,6 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.HighOrderMarkovModel;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 
 import java.util.Random;
Index: /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/ModelFlattenerTest.java
===================================================================
--- /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/ModelFlattenerTest.java	(revision 552)
+++ /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/ModelFlattenerTest.java	(revision 553)
@@ -10,4 +10,5 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.FirstOrderMarkovModel;
 import de.ugoe.cs.quest.usageprofiles.HighOrderMarkovModel;
@@ -15,5 +16,4 @@
 import de.ugoe.cs.quest.usageprofiles.PredictionByPartialMatch;
 import de.ugoe.cs.quest.usageprofiles.TrieNode;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 import static org.junit.Assert.*;
 
Index: /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/PredictionByPartialMatchTest.java
===================================================================
--- /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/PredictionByPartialMatchTest.java	(revision 552)
+++ /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/PredictionByPartialMatchTest.java	(revision 553)
@@ -6,6 +6,6 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.PredictionByPartialMatch;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 
 import java.util.Random;
Index: /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/TrieBasedModelTest.java
===================================================================
--- /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/TrieBasedModelTest.java	(revision 552)
+++ /trunk/quest-core-usageprofiles-test/src/test/java/de/ugoe/cs/quest/usageprofiles/TrieBasedModelTest.java	(revision 553)
@@ -8,8 +8,8 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 import de.ugoe.cs.quest.usageprofiles.Trie;
 import de.ugoe.cs.quest.usageprofiles.TrieBasedModel;
 import de.ugoe.cs.quest.usageprofiles.TrieNode;
-import de.ugoe.cs.quest.usageprofiles.mock.StringEventType;
 
 import org.junit.*;
Index: /trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/FirstOrderMarkovModel.java
===================================================================
--- /trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/FirstOrderMarkovModel.java	(revision 552)
+++ /trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/FirstOrderMarkovModel.java	(revision 553)
@@ -103,9 +103,9 @@
 		List<Integer> endIndexList = new LinkedList<Integer>();
 		for( int i=0 ; i<knownSymbols.size() ; i++ ) {
-			String id = knownSymbols.get(i).getStandardId();
-			if( id.equals(Event.STARTEVENT.getStandardId()) || id.contains(Event.STARTEVENT.getStandardId()+"-=-") ) {
+			String id = knownSymbols.get(i).getId();
+			if( id.equals(Event.STARTEVENT.getId()) || id.contains(Event.STARTEVENT.getId()+"-=-") ) {
 				startIndexList.add(i);
 			}
-			if( id.equals(Event.ENDEVENT.getStandardId()) || id.contains("-=-"+Event.ENDEVENT.getStandardId()) ) {
+			if( id.equals(Event.ENDEVENT.getId()) || id.contains("-=-"+Event.ENDEVENT.getId()) ) {
 				endIndexList.add(i);
 			}
@@ -176,5 +176,5 @@
 				trie.getKnownSymbols());
 		for (Event symbol : knownSymbols) {
-			final String thisSaneId = symbol.getShortId().replace("\"", "\\\"")
+			final String thisSaneId = symbol.getId().replace("\"", "\\\"")
 					.replaceAll("[\r\n]", "");
 			stringBuilder.append(" " + knownSymbols.indexOf(symbol) + " [label=\""
@@ -210,5 +210,5 @@
 
 		for (Event symbol : knownSymbols) {
-			String from = symbol.getShortId();
+			String from = symbol.getId();
 			List<Event> context = new ArrayList<Event>();
 			context.add(symbol);
@@ -217,5 +217,5 @@
 
 			for (Event follower : followers) {
-				String to = follower.getShortId();
+				String to = follower.getId();
 				MarkovEdge prob = new MarkovEdge(getProbability(context,
 						follower));
Index: /trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/ModelFlattener.java
===================================================================
--- /trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/ModelFlattener.java	(revision 552)
+++ /trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/ModelFlattener.java	(revision 553)
@@ -6,5 +6,5 @@
 
 import de.ugoe.cs.quest.eventcore.Event;
-import de.ugoe.cs.quest.eventcore.ReplayableEvent;
+import de.ugoe.cs.quest.eventcore.StringEventType;
 
 /**
@@ -101,5 +101,5 @@
 			List<String> parentIDs, int depth) {
 		for (TrieNode<Event> child : currentNode.getChildren()) {
-			String currentId = child.getSymbol().getStandardId();
+			String currentId = child.getSymbol().getId();
 			if (depth > 1) {
 				List<String> childParentIDs = new LinkedList<String>(parentIDs);
@@ -114,6 +114,6 @@
 				firstOrderID.append(currentId);
 				TrieNode<Event> firstOrderNode = firstOrderTrie
-						.getChildCreate(new Event<Object>(firstOrderID
-								.toString()));
+						.getChildCreate(new Event(new StringEventType(firstOrderID
+								.toString())));
 				firstOrderNode.setCount(child.getCount());
 				for (TrieNode<Event> transitionChild : child.getChildren()) {
@@ -125,8 +125,8 @@
 					transitionID.append(currentId + EVENT_SEPARATOR);
 					transitionID.append(transitionChild.getSymbol()
-							.getStandardId());
+							.getId());
 					TrieNode<Event> firstOrderTransitionChild = firstOrderNode
-							.getChildCreate(new Event<Object>(transitionID
-									.toString()));
+							.getChildCreate(new Event(new StringEventType(transitionID
+									.toString())));
 					firstOrderTransitionChild.setCount(transitionChild
 							.getCount());
Index: /trunk/quest-ui-core-test/.classpath
===================================================================
--- /trunk/quest-ui-core-test/.classpath	(revision 552)
+++ /trunk/quest-ui-core-test/.classpath	(revision 553)
@@ -2,4 +2,10 @@
 <classpath>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
 		<attributes>
 			<attribute name="optional" value="true"/>
