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