From 5931a1408306fe292a312ca0eba6a1bc3376489d Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Tue, 12 Dec 2017 17:52:59 +0100
Subject: [PATCH] MISSING REPO

---
 .../JdomTable/{jdomtable => Exam}/.gitignore  |   0
 .../JdomTable/{jdomtable => Exam}/pom.xml     |  19 ++-
 .../sda1/jdom/background/RowHighlighting.java |  15 +--
 .../jdom/background/TableRowColumnSwitch.java |  16 +--
 .../src/main/resources/.gitignore             |   2 -
 .../src/main/resources/log4j2.xml             |   0
 .../src/main/resources/persons.xml            |   0
 .../domhtml/test/TestRowHighlighting.java     |   4 +-
 .../test/TestTableRowColumnSwitch.java        |   4 +-
 .../.gitignore                                |   0
 .../{jdomtable_solution => Solution}/build.sh |   0
 Exam/Sda1/JdomTable/Solution/pom.xml          | 119 ++++++++++++++++++
 .../sda1/jdom/background/RowHighlighting.java |   6 +-
 .../jdom/background/TableRowColumnSwitch.java |   5 +-
 .../src/main/resources/.gitignore             |   2 -
 .../src/main/resources/log4j2.xml             |   0
 .../src/main/resources/persons.xml            |   0
 .../domhtml/test/TestRowHighlighting.java     |  73 +++++++++++
 .../test/TestTableRowColumnSwitch.java        |  57 +++++++++
 Exam/Sda1/JdomTable/jdomtable/pom.exam.xml    | 106 ----------------
 .../persons.xml.highlight.expected.html       |  19 ---
 .../persons.xml.switch.expected.html          |  15 ---
 .../Sda1/JdomTable/jdomtable_solution/pom.xml | 112 -----------------
 23 files changed, 282 insertions(+), 292 deletions(-)
 rename Exam/Sda1/JdomTable/{jdomtable => Exam}/.gitignore (100%)
 rename Exam/Sda1/JdomTable/{jdomtable => Exam}/pom.xml (85%)
 rename Exam/Sda1/JdomTable/{jdomtable => Exam}/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java (56%)
 rename Exam/Sda1/JdomTable/{jdomtable => Exam}/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java (50%)
 rename Exam/Sda1/JdomTable/{jdomtable => Exam}/src/main/resources/.gitignore (60%)
 rename Exam/Sda1/JdomTable/{jdomtable => Exam}/src/main/resources/log4j2.xml (100%)
 rename Exam/Sda1/JdomTable/{jdomtable => Exam}/src/main/resources/persons.xml (100%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Exam}/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java (95%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Exam}/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java (93%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Solution}/.gitignore (100%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Solution}/build.sh (100%)
 create mode 100644 Exam/Sda1/JdomTable/Solution/pom.xml
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Solution}/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java (92%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Solution}/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java (94%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Solution}/src/main/resources/.gitignore (60%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Solution}/src/main/resources/log4j2.xml (100%)
 rename Exam/Sda1/JdomTable/{jdomtable_solution => Solution}/src/main/resources/persons.xml (100%)
 create mode 100644 Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
 create mode 100644 Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
 delete mode 100644 Exam/Sda1/JdomTable/jdomtable/pom.exam.xml
 delete mode 100644 Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.highlight.expected.html
 delete mode 100644 Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.switch.expected.html
 delete mode 100644 Exam/Sda1/JdomTable/jdomtable_solution/pom.xml

diff --git a/Exam/Sda1/JdomTable/jdomtable/.gitignore b/Exam/Sda1/JdomTable/Exam/.gitignore
similarity index 100%
rename from Exam/Sda1/JdomTable/jdomtable/.gitignore
rename to Exam/Sda1/JdomTable/Exam/.gitignore
diff --git a/Exam/Sda1/JdomTable/jdomtable/pom.xml b/Exam/Sda1/JdomTable/Exam/pom.xml
similarity index 85%
rename from Exam/Sda1/JdomTable/jdomtable/pom.xml
rename to Exam/Sda1/JdomTable/Exam/pom.xml
index c973f0aee..f27e2aebb 100644
--- a/Exam/Sda1/JdomTable/jdomtable/pom.xml
+++ b/Exam/Sda1/JdomTable/Exam/pom.xml
@@ -9,12 +9,12 @@
 	<modelVersion>4.0.0</modelVersion>
 
 	<groupId>de.hdm_stuttgart.mi.sda1.exam</groupId>
-	<artifactId>jdomtable</artifactId>
+	<artifactId>jdomtable_exercise</artifactId>
 	<version>1.0</version>
 
 	<packaging>jar</packaging>
 
-	<name>jdomtable</name>
+	<name>jdomtable_exercise</name>
 
 	<url>http://www.mi.hdm-stuttgart.de/freedocs</url>
 
@@ -22,19 +22,26 @@
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 	</properties>
 
+        <repositories>
+                <repository>
+                        <id>hdm-mi-internal-maven-repo</id>
+                        <url>https://maven.mi.hdm-stuttgart.de/artifacts</url>
+                </repository>
+        </repositories>
+
 	<dependencies>
 
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-			<version>4.11</version>
+			<version>4.12</version>
 			<scope>test</scope>
 		</dependency>
 
 		<dependency>
 			<groupId>org.jdom</groupId>
 			<artifactId>jdom2</artifactId>
-			<version>2.0.5</version>
+			<version>2.0.6</version>
 		</dependency>
 
 		<dependency>
@@ -57,8 +64,8 @@
 
 		<dependency>
 			<groupId>de.hdm_stuttgart.mi.exam</groupId>
-			<artifactId>examtesting</artifactId>
-			<version>1.0</version>
+			<artifactId>unitmarking</artifactId>
+			<version>0.9</version>
 		</dependency>
 
 	</dependencies>
diff --git a/Exam/Sda1/JdomTable/jdomtable/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java b/Exam/Sda1/JdomTable/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
similarity index 56%
rename from Exam/Sda1/JdomTable/jdomtable/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
rename to Exam/Sda1/JdomTable/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
index d0515e2c4..40fa2ee20 100644
--- a/Exam/Sda1/JdomTable/jdomtable/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
+++ b/Exam/Sda1/JdomTable/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
@@ -1,13 +1,8 @@
 package de.hdm_stuttgart.mi.sda1.jdom.background;
 
-import java.io.IOException;
-
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilter;
 import org.jdom2.Document;
 import org.jdom2.Element;
-import org.jdom2.JDOMException;
-
-import de.hdm_stuttgart.mi.exam.DomFilter;
-
 
 /**
  * Handling address book data.
@@ -18,13 +13,13 @@ public class RowHighlighting implements DomFilter {
    /**
     * Read XML file data and create corresponding HTML output.
     * 
-    * @param xmlFilename The XML input file containing address book data.
-    * @throws JDOMException Internal error.
-    * @throws IOException IO related errors.
+    * @param addressbook The XML input file containing address book data.
     */
    @Override
-   public Document process(Document addressbook) {
+   public Document process(final Document addressbook) {
+
       // TODO: complete my implementation!
       return new  Document(new Element("table"));
+
    }
 }
\ No newline at end of file
diff --git a/Exam/Sda1/JdomTable/jdomtable/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java b/Exam/Sda1/JdomTable/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
similarity index 50%
rename from Exam/Sda1/JdomTable/jdomtable/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
rename to Exam/Sda1/JdomTable/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
index caaddfd5f..980293c96 100644
--- a/Exam/Sda1/JdomTable/jdomtable/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
+++ b/Exam/Sda1/JdomTable/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
@@ -1,12 +1,8 @@
 package de.hdm_stuttgart.mi.sda1.jdom.background;
 
-import java.io.IOException;
-
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilter;
 import org.jdom2.Document;
 import org.jdom2.Element;
-import org.jdom2.JDOMException;
-
-import de.hdm_stuttgart.mi.exam.DomFilter;
 
 /**
  * Address book data.
@@ -15,13 +11,13 @@ import de.hdm_stuttgart.mi.exam.DomFilter;
 public class TableRowColumnSwitch implements DomFilter {
   /**
    * Reading XML input an create corresponding HTML output
-   * @param xmlFilename XML file input data
-   * @throws JDOMException Internal errors
-   * @throws IOException IO related errors.
+   * @param addressbook XML input data
    */
    @Override
    public Document process(Document addressbook) {
-      // TODO: complete my implementation!
-      return new  Document(new Element("table"));
+
+	   // TODO: complete my implementation!
+	   return new  Document(new Element("table"));
+
    }
 }
\ No newline at end of file
diff --git a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/.gitignore b/Exam/Sda1/JdomTable/Exam/src/main/resources/.gitignore
similarity index 60%
rename from Exam/Sda1/JdomTable/jdomtable/src/main/resources/.gitignore
rename to Exam/Sda1/JdomTable/Exam/src/main/resources/.gitignore
index 23fdc6278..ca13f74d5 100644
--- a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/.gitignore
+++ b/Exam/Sda1/JdomTable/Exam/src/main/resources/.gitignore
@@ -1,4 +1,2 @@
-/memo.xml.1.html
-/memo.xml.2.html
 /persons.xml.highlight.html
 /persons.xml.switch.html
diff --git a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/log4j2.xml b/Exam/Sda1/JdomTable/Exam/src/main/resources/log4j2.xml
similarity index 100%
rename from Exam/Sda1/JdomTable/jdomtable/src/main/resources/log4j2.xml
rename to Exam/Sda1/JdomTable/Exam/src/main/resources/log4j2.xml
diff --git a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml b/Exam/Sda1/JdomTable/Exam/src/main/resources/persons.xml
similarity index 100%
rename from Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml
rename to Exam/Sda1/JdomTable/Exam/src/main/resources/persons.xml
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java b/Exam/Sda1/JdomTable/Exam/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
similarity index 95%
rename from Exam/Sda1/JdomTable/jdomtable_solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
rename to Exam/Sda1/JdomTable/Exam/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
index 0a6686bd5..0bda06acc 100644
--- a/Exam/Sda1/JdomTable/jdomtable_solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
+++ b/Exam/Sda1/JdomTable/Exam/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
@@ -1,9 +1,9 @@
 package de.hdm_stuttgart.sda1.domhtml.test;
 
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomAssert;
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilterTest;
 import org.junit.Test;
 
-import de.hdm_stuttgart.de.mi.exam.test.dom.DomFilterTest;
-import de.hdm_stuttgart.de.mi.exam.test.sax.DomAssert;
 import de.hdm_stuttgart.mi.sda1.jdom.background.RowHighlighting;
 
 /**
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java b/Exam/Sda1/JdomTable/Exam/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
similarity index 93%
rename from Exam/Sda1/JdomTable/jdomtable_solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
rename to Exam/Sda1/JdomTable/Exam/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
index 38991469a..1ed036c92 100644
--- a/Exam/Sda1/JdomTable/jdomtable_solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
+++ b/Exam/Sda1/JdomTable/Exam/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
@@ -1,9 +1,9 @@
 package de.hdm_stuttgart.sda1.domhtml.test;
 
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomAssert;
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilterTest;
 import org.junit.Test;
 
-import de.hdm_stuttgart.de.mi.exam.test.dom.DomFilterTest;
-import de.hdm_stuttgart.de.mi.exam.test.sax.DomAssert;
 import de.hdm_stuttgart.mi.sda1.jdom.background.TableRowColumnSwitch;
 
 /**
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/.gitignore b/Exam/Sda1/JdomTable/Solution/.gitignore
similarity index 100%
rename from Exam/Sda1/JdomTable/jdomtable_solution/.gitignore
rename to Exam/Sda1/JdomTable/Solution/.gitignore
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/build.sh b/Exam/Sda1/JdomTable/Solution/build.sh
similarity index 100%
rename from Exam/Sda1/JdomTable/jdomtable_solution/build.sh
rename to Exam/Sda1/JdomTable/Solution/build.sh
diff --git a/Exam/Sda1/JdomTable/Solution/pom.xml b/Exam/Sda1/JdomTable/Solution/pom.xml
new file mode 100644
index 000000000..6c58af485
--- /dev/null
+++ b/Exam/Sda1/JdomTable/Solution/pom.xml
@@ -0,0 +1,119 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <description>Test execution requires 'mvn install' in the maven sub project
+        'GoikLectures/ws/eclipse/ExamTesting' within
+        https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures
+        to resolve the 'examtesting' dependency.</description>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>de.hdm_stuttgart.mi.sda1.exam</groupId>
+    <artifactId>jdomtable_solution</artifactId>
+    <version>1.0</version>
+
+    <packaging>jar</packaging>
+
+    <name>jdomtable_solution</name>
+
+    <url>http://www.mi.hdm-stuttgart.de/freedocs</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <repositories>
+        <repository>
+            <id>hdm-mi-internal-maven-repo</id>
+            <url>https://maven.mi.hdm-stuttgart.de/artifacts</url>
+        </repository>
+    </repositories>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.jdom</groupId>
+            <artifactId>jdom2</artifactId>
+            <version>2.0.6</version>
+        </dependency>
+
+        <dependency>
+            <groupId>jaxen</groupId>
+            <artifactId>jaxen</artifactId>
+            <version>1.1.4</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <version>2.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <version>2.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>de.hdm_stuttgart.mi.exam</groupId>
+            <artifactId>unitmarking</artifactId>
+            <version>0.9</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.10.1</version>
+                <configuration />
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>2.3</version>
+                <configuration>
+                    <transformers>
+                        <transformer
+                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                            <manifestEntries>
+                                <Main-Class>de.hdm_stuttgart.de.saxstandard.App</Main-Class>
+                            </manifestEntries>
+                        </transformer>
+                    </transformers>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+        </plugins>
+    </build>
+</project>
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java b/Exam/Sda1/JdomTable/Solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
similarity index 92%
rename from Exam/Sda1/JdomTable/jdomtable_solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
rename to Exam/Sda1/JdomTable/Solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
index a22f0d2d0..8d550890f 100644
--- a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
+++ b/Exam/Sda1/JdomTable/Solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/RowHighlighting.java
@@ -3,13 +3,13 @@ package de.hdm_stuttgart.mi.sda1.jdom.background;
 import java.io.IOException;
 import java.util.List;
 
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilter;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
 import org.jdom2.xpath.XPathExpression;
 import org.jdom2.xpath.XPathFactory;
 
-import de.hdm_stuttgart.mi.exam.DomFilter;
 
 /**
  * Handling address book data.
@@ -20,12 +20,12 @@ public class RowHighlighting implements DomFilter {
    /**
     * Read XML file data and create corresponding HTML output.
     * 
-    * @param xmlFilename The XML input file containing address book data.
+    * @param addressbook The XML input file containing address book data.
     * @throws JDOMException Internal error.
     * @throws IOException IO related errors.
     */
    @Override
-   public Document process(Document addressbook) {
+   public Document process(final Document addressbook) {
 
       // Create <table> skeleton:
       // <table>
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java b/Exam/Sda1/JdomTable/Solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
similarity index 94%
rename from Exam/Sda1/JdomTable/jdomtable_solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
rename to Exam/Sda1/JdomTable/Solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
index bfd5751b3..59e05d678 100644
--- a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
+++ b/Exam/Sda1/JdomTable/Solution/src/main/java/de/hdm_stuttgart/mi/sda1/jdom/background/TableRowColumnSwitch.java
@@ -3,14 +3,13 @@ package de.hdm_stuttgart.mi.sda1.jdom.background;
 import java.io.IOException;
 import java.util.List;
 
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilter;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
 import org.jdom2.xpath.XPathExpression;
 import org.jdom2.xpath.XPathFactory;
 
-import de.hdm_stuttgart.mi.exam.DomFilter;
-
 /**
  * Address book data.
  *
@@ -18,7 +17,7 @@ import de.hdm_stuttgart.mi.exam.DomFilter;
 public class TableRowColumnSwitch implements DomFilter {
   /**
    * Reading XML input an create corresponding HTML output
-   * @param xmlFilename XML file input data
+   * @param addressbook XML input data
    * @throws JDOMException Internal errors
    * @throws IOException IO related errors.
    */
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/resources/.gitignore b/Exam/Sda1/JdomTable/Solution/src/main/resources/.gitignore
similarity index 60%
rename from Exam/Sda1/JdomTable/jdomtable_solution/src/main/resources/.gitignore
rename to Exam/Sda1/JdomTable/Solution/src/main/resources/.gitignore
index 23fdc6278..ca13f74d5 100644
--- a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/resources/.gitignore
+++ b/Exam/Sda1/JdomTable/Solution/src/main/resources/.gitignore
@@ -1,4 +1,2 @@
-/memo.xml.1.html
-/memo.xml.2.html
 /persons.xml.highlight.html
 /persons.xml.switch.html
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/resources/log4j2.xml b/Exam/Sda1/JdomTable/Solution/src/main/resources/log4j2.xml
similarity index 100%
rename from Exam/Sda1/JdomTable/jdomtable_solution/src/main/resources/log4j2.xml
rename to Exam/Sda1/JdomTable/Solution/src/main/resources/log4j2.xml
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/src/main/resources/persons.xml b/Exam/Sda1/JdomTable/Solution/src/main/resources/persons.xml
similarity index 100%
rename from Exam/Sda1/JdomTable/jdomtable_solution/src/main/resources/persons.xml
rename to Exam/Sda1/JdomTable/Solution/src/main/resources/persons.xml
diff --git a/Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java b/Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
new file mode 100644
index 000000000..0bda06acc
--- /dev/null
+++ b/Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestRowHighlighting.java
@@ -0,0 +1,73 @@
+package de.hdm_stuttgart.sda1.domhtml.test;
+
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomAssert;
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilterTest;
+import org.junit.Test;
+
+import de.hdm_stuttgart.mi.sda1.jdom.background.RowHighlighting;
+
+/**
+ * Unit testing DOM HTML output
+ */
+@SuppressWarnings("javadoc")
+public class TestRowHighlighting extends DomFilterTest {
+   
+   static {
+      init("src/main/resources/persons.xml", new RowHighlighting(), ".highlight.html");
+   }
+   @Test public void testNumberOfColumnHeaders() {
+      DomAssert.assertNumberOfNodes(
+            "Two column headers expected",
+            xmlRootElement,
+            "tr", 4);
+   }
+   @Test public void testColumnHeader_Name() {
+      DomAssert.assertSingleNodeContent("Checking first <th>", 
+            xmlRootElement, 
+            "tr/th[1]",
+            "th", "Name");
+   }
+   @Test public void testColumnHeader_Birthday() {
+      DomAssert.assertSingleNodeContent("Checking second <th>", 
+            xmlRootElement, 
+            "tr/th[2]",
+            "th", "Birthday");
+   }
+   @Test public void testNumberOfHeaderRows() {
+      DomAssert.assertNumberOfNodes(
+            "1 <tr> element containing <th> expected",
+            xmlRootElement,
+            "tr[th]", 1);
+   }
+   @Test public void testNumberOfDataRows() {
+      DomAssert.assertNumberOfNodes(
+            "3 <tr> element containing <td> expected",
+            xmlRootElement,
+            "tr[td]", 3);
+   }
+   
+   @Test public void testNumberOfHighlightedRows() {
+      DomAssert.assertNumberOfNodes(
+            "2 <tr style='background-color: #FFFF88;> elements expected",
+            xmlRootElement,
+            "tr[@style='background-color: #FFFF88;']", 2);
+   }
+   @Test public void testRowWithoutHighlighing() {
+      DomAssert.assertNumberOfNodes(
+            "Middle data row shall not contain highlighting",
+            xmlRootElement,
+            "tr[not(@style) and position() = 3]", 1);
+   }
+   @Test public void testLastRecord_Name() {
+      DomAssert.assertSingleNodeContent("Last record must start with <td>Jim Smith</td>", 
+            xmlRootElement, 
+            "tr[last()]/td[1]",
+            "td", "Jim Smith");
+   }
+   @Test public void testLastRecord_Date() {
+      DomAssert.assertSingleNodeContent("Last record must end with <td>1981-04-13</td>", 
+            xmlRootElement, 
+            "tr[last()]/td[2]",
+            "td", "1981-04-13");
+   }
+}
\ No newline at end of file
diff --git a/Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java b/Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
new file mode 100644
index 000000000..1ed036c92
--- /dev/null
+++ b/Exam/Sda1/JdomTable/Solution/src/test/java/de/hdm_stuttgart/sda1/domhtml/test/TestTableRowColumnSwitch.java
@@ -0,0 +1,57 @@
+package de.hdm_stuttgart.sda1.domhtml.test;
+
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomAssert;
+import de.hdm_stuttgart.mi.unitmarking.jdom.DomFilterTest;
+import org.junit.Test;
+
+import de.hdm_stuttgart.mi.sda1.jdom.background.TableRowColumnSwitch;
+
+/**
+ * Unit testing dom HTML output
+ */
+@SuppressWarnings("javadoc")
+public class TestTableRowColumnSwitch extends DomFilterTest {
+   
+   static {
+      init("src/main/resources/persons.xml", new TableRowColumnSwitch(), ".switch.html");
+   }
+   @Test public void testNumberOfColumnHeaders() {
+      DomAssert.assertNumberOfNodes(
+            "Two <tr> expected",
+            xmlRootElement,
+            "tr", 2);
+   }
+   @Test public void testColumnHeader_Name() {
+      DomAssert.assertSingleNodeContent("Checking 'Name' <th>", 
+            xmlRootElement, 
+            "tr[1]/th",
+            "th", "Name");
+   }
+
+   @Test public void testColumnHeader_Birthday() {
+      DomAssert.assertSingleNodeContent("Checking 'Birthday' <th>", 
+            xmlRootElement, 
+            "tr[2]/th",
+            "th", "Birthday");
+   }
+   
+   @Test public void testNumberOfTd() {
+      DomAssert.assertNumberOfNodes(
+            "6 <td> in two groups of 3 expected",
+            xmlRootElement,
+            "tr[1]/td[0 < position() and position() < 4]|tr[2]/td[0 < position() and position() < 4]", 6);
+   }
+
+   @Test public void testNameFirstDataRecord() {
+      DomAssert.assertSingleNodeContent("Checking Name of first data record", 
+            xmlRootElement, 
+            "tr[1]/*[2]",
+            "td", "Scott Geoffrey");
+   }
+   @Test public void testBirthdayLastDataRecord() {
+      DomAssert.assertSingleNodeContent("Checking birthday of last data record", 
+            xmlRootElement, 
+            "tr[2]/*[last()]",
+            "td", "1981-04-13");
+   }
+}
\ No newline at end of file
diff --git a/Exam/Sda1/JdomTable/jdomtable/pom.exam.xml b/Exam/Sda1/JdomTable/jdomtable/pom.exam.xml
deleted file mode 100644
index 7ebb5ae2a..000000000
--- a/Exam/Sda1/JdomTable/jdomtable/pom.exam.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	
-	<description>Test execution requires 'mvn install' in the maven sub project
-	'GoikLectures/ws/eclipse/ExamTesting' within 
-	https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures
-	to resolve the 'examtesting' dependency.</description>
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<groupId>de.hdm_stuttgart.mi.sda1.exam</groupId>
-	<artifactId>jdomtable</artifactId>
-	<version>1.0</version>
-
-	<packaging>jar</packaging>
-
-	<name>jdomtable</name>
-
-	<url>http://www.mi.hdm-stuttgart.de/freedocs</url>
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-
-	<dependencies>
-
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>4.11</version>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.jdom</groupId>
-			<artifactId>jdom2</artifactId>
-			<version>2.0.5</version>
-		</dependency>
-
-		<dependency>
-			<groupId>jaxen</groupId>
-			<artifactId>jaxen</artifactId>
-			<version>1.1.4</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.logging.log4j</groupId>
-			<artifactId>log4j-api</artifactId>
-			<version>2.1</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.logging.log4j</groupId>
-			<artifactId>log4j-core</artifactId>
-			<version>2.1</version>
-		</dependency>
-
-	</dependencies>
-
-	<build>
-		<plugins>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>3.1</version>
-				<configuration>
-					<source>1.8</source>
-					<target>1.8</target>
-				</configuration>
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.10.1</version>
-				<configuration />
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-shade-plugin</artifactId>
-				<version>2.3</version>
-				<configuration>
-					<transformers>
-						<transformer
-							implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-							<manifestEntries>
-								<Main-Class>de.hdm_stuttgart.de.saxstandard.App</Main-Class>
-							</manifestEntries>
-						</transformer>
-					</transformers>
-				</configuration>
-				<executions>
-					<execution>
-						<phase>package</phase>
-						<goals>
-							<goal>shade</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-
-		</plugins>
-	</build>
-</project>
diff --git a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.highlight.expected.html b/Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.highlight.expected.html
deleted file mode 100644
index 1f1df3b6d..000000000
--- a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.highlight.expected.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<table>
-  <tr>
-    <th>Name</th>
-    <th>Birthday</th>
-  </tr>
-  <tr style="background-color: #FFFF88;">
-    <td>Scott Geoffrey</td>
-    <td>1942-07-22</td>
-  </tr>
-  <tr>
-    <td>Julia Duncan</td>
-    <td>2001-11-07</td>
-  </tr>
-  <tr style="background-color: #FFFF88;">
-    <td>Jim Smith</td>
-    <td>1981-04-13</td>
-  </tr>
-</table>
diff --git a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.switch.expected.html b/Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.switch.expected.html
deleted file mode 100644
index 9fc846f07..000000000
--- a/Exam/Sda1/JdomTable/jdomtable/src/main/resources/persons.xml.switch.expected.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<table>
-  <tr>
-    <th>Name</th>
-    <td>Scott Geoffrey</td>
-    <td>Julia Duncan</td>
-    <td>Jim Smith</td>
-  </tr>
-  <tr>
-    <th>Birthday</th>
-    <td>1942-07-22</td>
-    <td>2001-11-07</td>
-    <td>1981-04-13</td>
-  </tr>
-</table>
diff --git a/Exam/Sda1/JdomTable/jdomtable_solution/pom.xml b/Exam/Sda1/JdomTable/jdomtable_solution/pom.xml
deleted file mode 100644
index d9a350b4e..000000000
--- a/Exam/Sda1/JdomTable/jdomtable_solution/pom.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	
-	<description>Test execution requires 'mvn install' in the maven sub project
-	'GoikLectures/ws/eclipse/ExamTesting' within 
-	https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures
-	to resolve the 'examtesting' dependency.</description>
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<groupId>de.hdm_stuttgart.mi.sda1.exam</groupId>
-	<artifactId>jdomtable_solution</artifactId>
-	<version>1.0</version>
-
-	<packaging>jar</packaging>
-
-	<name>jdomtable_solution</name>
-
-	<url>http://www.mi.hdm-stuttgart.de/freedocs</url>
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-
-	<dependencies>
-
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>4.11</version>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.jdom</groupId>
-			<artifactId>jdom2</artifactId>
-			<version>2.0.5</version>
-		</dependency>
-
-		<dependency>
-			<groupId>jaxen</groupId>
-			<artifactId>jaxen</artifactId>
-			<version>1.1.4</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.logging.log4j</groupId>
-			<artifactId>log4j-api</artifactId>
-			<version>2.1</version>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.logging.log4j</groupId>
-			<artifactId>log4j-core</artifactId>
-			<version>2.1</version>
-		</dependency>
-
-		<dependency>
-			<groupId>de.hdm_stuttgart.mi.exam</groupId>
-			<artifactId>examtesting</artifactId>
-			<version>1.0</version>
-		</dependency>
-
-	</dependencies>
-
-	<build>
-		<plugins>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>3.1</version>
-				<configuration>
-					<source>1.8</source>
-					<target>1.8</target>
-				</configuration>
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.10.1</version>
-				<configuration />
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-shade-plugin</artifactId>
-				<version>2.3</version>
-				<configuration>
-					<transformers>
-						<transformer
-							implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-							<manifestEntries>
-								<Main-Class>de.hdm_stuttgart.de.saxstandard.App</Main-Class>
-							</manifestEntries>
-						</transformer>
-					</transformers>
-				</configuration>
-				<executions>
-					<execution>
-						<phase>package</phase>
-						<goals>
-							<goal>shade</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-
-		</plugins>
-	</build>
-</project>
-- 
GitLab