From 3d9f4ebec50c636281cfaff6aad42d62e6826e87 Mon Sep 17 00:00:00 2001
From: opitzju <julian.opitz@stud.hs-hannover.de>
Date: Thu, 2 Dec 2021 10:23:11 +0100
Subject: [PATCH] =?UTF-8?q?letzte=20Aufr=C3=A4umarbeiten=20und=20Anpassen?=
 =?UTF-8?q?=20der=20Readme?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 README.md                                     |  2 +-
 .../edu/hsh/dbs2/imdb/entity/MovieMapper.java |  1 -
 .../java/edu/hsh/dbs2/imdb/logic/Manager.java | 20 +++++++++----------
 .../imdb/util/EntityManagerFactoryUtil.java   |  2 +-
 .../java/edu/hsh/dbs2/imdb/util/Util.java     |  7 -------
 .../META-INF/persistence.example.xml          |  1 +
 src/test/java/edu/hsh/dbs2/imdb/TestDB.java   |  4 ++--
 7 files changed, 15 insertions(+), 22 deletions(-)

diff --git a/README.md b/README.md
index 6d2c6a3..d13cfc6 100644
--- a/README.md
+++ b/README.md
@@ -1 +1 @@
-Vor dem Ausführen persistence.example.xml umbenennen und dort Verbindungsdaten eintragen. Das Project lädt standardmässig ein paar Testdaten, um dies zu verhindern in EntityManagerFactoryUtil die zusätzliche Property im Aufruf von Persistence.createEntityManagerFactory() entfernen.
+Vor dem Ausführen persistence.example.xml umbenennen und dort Verbindungsdaten eintragen. Das Project lädt standardmäßig ein paar Testdaten, um dies zu verhindern in der persistence.xml das Property jakarta.persistence.sql-load-script-source entfernen.
diff --git a/src/main/java/edu/hsh/dbs2/imdb/entity/MovieMapper.java b/src/main/java/edu/hsh/dbs2/imdb/entity/MovieMapper.java
index 74dd135..a779c71 100644
--- a/src/main/java/edu/hsh/dbs2/imdb/entity/MovieMapper.java
+++ b/src/main/java/edu/hsh/dbs2/imdb/entity/MovieMapper.java
@@ -19,7 +19,6 @@ public class MovieMapper implements Mapper<Movie, MovieDTO> {
     private final CharacterMapper charMapper = new CharacterMapper();
     private Set<Genre> genres;
 
-
     @Override
     public MovieDTO map(Movie movie) {
         if (movie == null)
diff --git a/src/main/java/edu/hsh/dbs2/imdb/logic/Manager.java b/src/main/java/edu/hsh/dbs2/imdb/logic/Manager.java
index 649e7d1..a6ab31c 100644
--- a/src/main/java/edu/hsh/dbs2/imdb/logic/Manager.java
+++ b/src/main/java/edu/hsh/dbs2/imdb/logic/Manager.java
@@ -23,16 +23,6 @@ public class Manager<T> {
         this.type = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
     }
 
-    protected List<T> query(BiConsumer<CriteriaBuilder, CriteriaQuery<T>> function) {
-        var manager = getEntityManager();
-        var cb = manager.getCriteriaBuilder();
-        var cq = cb.createQuery(type);
-        function.accept(cb, cq);
-        var result = manager.createQuery(cq).getResultList();
-        closeEntityManager();
-        return result;
-    }
-
     protected EntityManager getEntityManager() {
         if (!localManager.get().isOpen())
             closeEntityManager();
@@ -46,6 +36,16 @@ public class Manager<T> {
         localManager.remove();
     }
 
+    protected List<T> query(BiConsumer<CriteriaBuilder, CriteriaQuery<T>> function) {
+        var manager = getEntityManager();
+        var cb = manager.getCriteriaBuilder();
+        var cq = cb.createQuery(type);
+        function.accept(cb, cq);
+        var result = manager.createQuery(cq).getResultList();
+        closeEntityManager();
+        return result;
+    }
+
     protected void doTransaction(Consumer<EntityManager> content) {
         var manager = getEntityManager();
         try {
diff --git a/src/main/java/edu/hsh/dbs2/imdb/util/EntityManagerFactoryUtil.java b/src/main/java/edu/hsh/dbs2/imdb/util/EntityManagerFactoryUtil.java
index 66846d9..ea7a6b2 100644
--- a/src/main/java/edu/hsh/dbs2/imdb/util/EntityManagerFactoryUtil.java
+++ b/src/main/java/edu/hsh/dbs2/imdb/util/EntityManagerFactoryUtil.java
@@ -7,7 +7,7 @@ public class EntityManagerFactoryUtil {
 	
 	public static EntityManagerFactory createSessionFactory() {
 		try {
-			return Persistence.createEntityManagerFactory("edu.hsh.dbs2.imdb", Util.getTestDataProperty());
+			return Persistence.createEntityManagerFactory("edu.hsh.dbs2.imdb");
 		} catch (Exception e) {
 			System.err.println("Error while connecting to database");
 			e.printStackTrace();
diff --git a/src/main/java/edu/hsh/dbs2/imdb/util/Util.java b/src/main/java/edu/hsh/dbs2/imdb/util/Util.java
index 655637e..0056bbb 100644
--- a/src/main/java/edu/hsh/dbs2/imdb/util/Util.java
+++ b/src/main/java/edu/hsh/dbs2/imdb/util/Util.java
@@ -10,11 +10,4 @@ public class Util {
     public static <T> boolean isNullOrEmpty(Collection<T> coll) {
         return coll == null || coll.isEmpty();
     }
-
-    public static Map<String, String> getTestDataProperty() {
-        var properties = new HashMap<String, String>();
-        properties.put("jakarta.persistence.sql-load-script-source", "src/main/resources/TestData.sql");
-        return properties;
-    }
-
 }
diff --git a/src/main/resources/META-INF/persistence.example.xml b/src/main/resources/META-INF/persistence.example.xml
index 3f3181d..cbdc216 100644
--- a/src/main/resources/META-INF/persistence.example.xml
+++ b/src/main/resources/META-INF/persistence.example.xml
@@ -13,6 +13,7 @@
             <property name="jakarta.persistence.schema-generation.drop-source" value="script"/>
             <property name="jakarta.persistence.schema-generation.create-script-source" value="src/main/resources/Schema.sql"/>
             <property name="jakarta.persistence.schema-generation.drop-script-source" value="src/main/resources/DropSchema.sql"/>
+            <property name="jakarta.persistence.sql-load-script-source" value="src/main/resources/TestData.sql"/>
             <property name="hibernate.check_nullability" value="true"/>
             <property name="hibernate.hbm2ddl.auto" value="validate"/>
         </properties>
diff --git a/src/test/java/edu/hsh/dbs2/imdb/TestDB.java b/src/test/java/edu/hsh/dbs2/imdb/TestDB.java
index f1898bc..9fffbe2 100644
--- a/src/test/java/edu/hsh/dbs2/imdb/TestDB.java
+++ b/src/test/java/edu/hsh/dbs2/imdb/TestDB.java
@@ -7,8 +7,8 @@ import edu.hsh.dbs2.imdb.logic.ManagerFactory;
 import edu.hsh.dbs2.imdb.logic.MovieManager;
 import edu.hsh.dbs2.imdb.logic.dto.CharacterDTO;
 import edu.hsh.dbs2.imdb.logic.dto.MovieDTO;
+import edu.hsh.dbs2.imdb.util.EntityManagerFactoryUtil;
 import jakarta.persistence.EntityManagerFactory;
-import jakarta.persistence.Persistence;
 import jakarta.persistence.PersistenceException;
 import lombok.Cleanup;
 import org.junit.AfterClass;
@@ -23,7 +23,7 @@ public class TestDB {
 
     @BeforeClass
     public static void setUp() {
-        sessionFactory = Persistence.createEntityManagerFactory("edu.hsh.dbs2.imdb");
+        sessionFactory = EntityManagerFactoryUtil.createSessionFactory();
         ManagerFactory.instance.setSessionFactory(sessionFactory);
         movieManager = ManagerFactory.instance.getMovieManager();
     }
-- 
GitLab