Index: trunk/quest-plugin-jfc/data/guimappings/guimapping-argouml.txt
===================================================================
--- trunk/quest-plugin-jfc/data/guimappings/guimapping-argouml.txt	(revision 585)
+++ trunk/quest-plugin-jfc/data/guimappings/guimapping-argouml.txt	(revision 585)
@@ -0,0 +1,19 @@
+org.argouml.ui.ProjectBrowser = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCFrame
+org.tigris.toolbar.ToolBar = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCToolBar
+org.tigris.toolbar.toolbutton.ModalButton = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCButton
+org.tigris.swidgets.BorderSplitPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCSplitPane
+org.tigris.swidgets.MultipleSplitPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCSplitPane
+org.argouml.ui.MultiEditorPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+org.argouml.uml.diagram.ui.TabDiagram = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+org.argouml.uml.diagram.ui.DnDJGraph = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCCanvas
+org.tigris.gef.graph.presentation.JGraphInternalPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCCanvas
+org.tigris.toolbar.toolbutton.PopupToolBoxButton = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCMenuButton
+org.argouml.ui.DetailsPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+org.argouml.cognitive.ui.TabToDo = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+org.tigris.swidgets.Splitter = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCSplitPane
+org.argouml.ui.MenuBar14 = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCMenuBar
+org.tigris.gef.presentation.FigTextEditor = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCTextField
+org.argouml.core.propertypanels.ui.UMLLinkedList = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCShape
+org.argouml.core.propertypanels.ui.LabelledComponent = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCShape
+org.argouml.core.propertypanels.ui.UMLTextField = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCTextField
+org.argouml.core.propertypanels.ui.UMLComboBox = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCGUIElement
Index: trunk/quest-plugin-jfc/data/guimappings/guimapping-swing.txt
===================================================================
--- trunk/quest-plugin-jfc/data/guimappings/guimapping-swing.txt	(revision 585)
+++ trunk/quest-plugin-jfc/data/guimappings/guimapping-swing.txt	(revision 585)
@@ -0,0 +1,12 @@
+javax.swing.JPanel = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+javax.swing.JRootPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+javax.swing.JLayeredPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+javax.swing.JTabbedPane= de.ugoe.cs.quest.plugin.jfc.guimodel.JFCTabbedPane
+javax.swing.JScrollPane = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCScrollPane
+javax.swing.JViewport = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
+javax.swing.JScrollPane$ScrollBar = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCScrollBar
+javax.swing.JMenu = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCMenu
+javax.swing.JMenu$1 = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCMenu
+javax.swing.JDialog = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCDialog
+javax.swing.JFileChooser = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCDialog
+javax.swing.plaf.metal.MetalFileChooserUI$3 = de.ugoe.cs.quest.plugin.jfc.guimodel.JFCPanel
Index: trunk/quest-plugin-jfc/pom.xml
===================================================================
--- trunk/quest-plugin-jfc/pom.xml	(revision 573)
+++ trunk/quest-plugin-jfc/pom.xml	(revision 585)
@@ -36,4 +36,22 @@
 				</configuration>
 			</plugin>
+			<plugin>
+				<artifactId>maven-assembly-plugin</artifactId>
+				<version>2.2-beta-2</version>
+				<configuration>
+					<descriptors>
+						<descriptor>src/main/assembly/config.xml</descriptor>
+					</descriptors>
+				</configuration>
+				<executions>
+					<execution>
+						<id>make-assembly</id>
+						<phase>package</phase>
+						<goals>
+							<goal>single</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
 		</plugins>
 	</build>
Index: trunk/quest-plugin-jfc/src/main/assembly/config.xml
===================================================================
--- trunk/quest-plugin-jfc/src/main/assembly/config.xml	(revision 585)
+++ trunk/quest-plugin-jfc/src/main/assembly/config.xml	(revision 585)
@@ -0,0 +1,19 @@
+<assembly
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+  <id>config</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>data</directory>
+      <outputDirectory></outputDirectory>
+      <includes>
+        <include>**/*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</assembly>
Index: trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/JFCLogParser.java
===================================================================
--- trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/JFCLogParser.java	(revision 573)
+++ trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/JFCLogParser.java	(revision 585)
@@ -40,4 +40,5 @@
 import de.ugoe.cs.quest.eventcore.gui.MouseButtonUp;
 import de.ugoe.cs.quest.eventcore.gui.MouseClick;
+import de.ugoe.cs.quest.eventcore.guimodel.AbstractDefaultGUIElementFactory;
 import de.ugoe.cs.quest.eventcore.guimodel.GUIModel;
 import de.ugoe.cs.quest.eventcore.guimodel.GUIModelException;
@@ -45,5 +46,4 @@
 import de.ugoe.cs.quest.plugin.jfc.eventcore.JFCEvent;
 import de.ugoe.cs.quest.plugin.jfc.eventcore.JFCEventId;
-import de.ugoe.cs.quest.plugin.jfc.guimodel.JFCGUIElementFactory;
 import de.ugoe.cs.quest.plugin.jfc.guimodel.JFCGUIElementSpec;
 import de.ugoe.cs.tasktree.keyboardmaps.VirtualKey;
@@ -394,6 +394,7 @@
                 IGUIElement currentGUIElement;
                 try {
+                    // TODO right now, there is null pointer exception possible, if the factory cannot create a the GUIElement. We need to devise where and how this should be handled best
                     currentGUIElement = guiModel.integratePath
-                        (currentGuiElementPath, JFCGUIElementFactory.getInstance());
+                        (currentGuiElementPath, AbstractDefaultGUIElementFactory.getInstance());
                 }
                 catch (GUIModelException e) {
Index: trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElementFactory.java
===================================================================
--- trunk/quest-plugin-jfc/src/main/java/de/ugoe/cs/quest/plugin/jfc/guimodel/JFCGUIElementFactory.java	(revision 573)
+++ 	(revision )
@@ -1,139 +1,0 @@
-// Module    : $RCSfile: GUIModelFactory.java,v $
-// Version   : $Revision: 0.0 $  $Author: patrick $  $Date: 13.05.2012 $
-// Project   : JavaInteractionParser
-// Creation  : 2012 by patrick
-// Copyright : Patrick Harms, 2012
-
-package de.ugoe.cs.quest.plugin.jfc.guimodel;
-
-import java.util.logging.Logger;
-
-import de.ugoe.cs.quest.eventcore.guimodel.AbstractDefaultGUIElementFactory;
-import de.ugoe.cs.quest.eventcore.guimodel.IGUIElement;
-import de.ugoe.cs.quest.eventcore.guimodel.GUIModelConfigurationException;
-import de.ugoe.cs.quest.eventcore.guimodel.IGUIElementSpec;
-
-/**
- * TODO comment
- * 
- * @version $Revision: $ $Date: 13.05.2012$
- * @author 2012, last modified by $Author: patrick$
- */
-public class JFCGUIElementFactory extends AbstractDefaultGUIElementFactory {
-    
-    /** */
-    private static JFCGUIElementFactory instance = new JFCGUIElementFactory();
-
-    /**
-     * TODO: comment
-     * 
-     */
-    private JFCGUIElementFactory() {
-        super();
-    }
-
-    /**
-     * TODO: comment
-     * 
-     * @return
-     */
-    public static synchronized JFCGUIElementFactory getInstance() {
-        return instance;
-    }
-
-    /* (non-Javadoc)
-     * @see de.ugoe.cs.quest.eventcore.guimodel.IGUIElementFactory#instantiateGUIElement(IGUIElementSpec)
-     */
-    @Override
-    public IGUIElement instantiateGUIElement(IGUIElementSpec specification) {
-        if (!(specification instanceof JFCGUIElementSpec)) {
-            throw new IllegalArgumentException
-                ("can only process gui element specifications of type JFCHGUIElementSpec");
-        }
-        
-        JFCGUIElementSpec jfcGuiElemSpec = (JFCGUIElementSpec) specification;
-        
-        return createNewGUIElementInternal(jfcGuiElemSpec);
-    }
-
-    /**
-     * TODO: comment
-     * 
-     * @param name
-     * @param type
-     * @param icon
-     * @param index
-     * @param hash
-     * @return
-     */
-    private synchronized JFCGUIElement createNewGUIElementInternal(JFCGUIElementSpec specification)
-    {
-        JFCGUIElement retVal = null;
-
-        IGUIElement guiElement = null;
-        try {
-            guiElement = super.instantiateGUIElementFromConfiguredMappings(specification);
-        }
-        catch (GUIModelConfigurationException e) {
-            throw new IllegalArgumentException
-                ("detected a configuration error in the GUI element mapping", e);
-        }
-
-        if ((guiElement != null) && (!(guiElement instanceof JFCGUIElement))) {
-            Logger.getLogger(this.getClass().getName()).warning
-                ("configured GUI element representing class " +
-                 guiElement.getClass().getName() + " is no valid GUIElement derivate.");
-        }
-        else {
-            retVal = (JFCGUIElement) guiElement;
-        }
-
-        String type = specification.getType();
-
-        if (retVal == null) {
-            if ("javax.swing.JPanel".equals(type)) {
-                retVal = new JFCPanel(specification);
-            }
-            else if ("javax.swing.JRootPane".equals(type)) {
-                retVal = new JFCPanel(specification);
-            }
-            else if ("javax.swing.JLayeredPane".equals(type)) {
-                retVal = new JFCPanel(specification);
-            }
-            else if ("javax.swing.JTabbedPane".equals(type)) {
-                retVal = new JFCTabbedPane(specification);
-            }
-            else if ("javax.swing.JScrollPane".equals(type)) {
-                retVal = new JFCScrollPane(specification);
-            }
-            else if ("javax.swing.JViewport".equals(type)) {
-                retVal = new JFCPanel(specification);
-            }
-            else if ("javax.swing.JScrollPane$ScrollBar".equals(type)) {
-                retVal = new JFCScrollBar(specification);
-            }
-            else if ("javax.swing.JMenu".equals(type)) {
-                retVal = new JFCMenu(specification);
-            }
-            else if ("javax.swing.JMenu$1".equals(type)) {
-                retVal = new JFCMenu(specification);
-            }
-            else if ("javax.swing.JDialog".equals(type)) {
-                retVal = new JFCDialog(specification);
-            }
-            else if ("javax.swing.JFileChooser".equals(type)) {
-                retVal = new JFCDialog(specification);
-            }
-            else if ("javax.swing.plaf.metal.MetalFileChooserUI$3".equals(type)) {
-                retVal = new JFCPanel(specification);
-            }
-            else {
-                throw new IllegalArgumentException
-                    ("could not find a GUIElement representation for type specification " + type);
-            }
-        }
-
-        return retVal;
-    }
-
-}
