Skip to content
Snippets Groups Projects
Commit 3d9f4ebe authored by opitzju's avatar opitzju
Browse files

letzte Aufräumarbeiten und Anpassen der Readme

parent 5a5c387f
No related branches found
No related tags found
No related merge requests found
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.
...@@ -19,7 +19,6 @@ public class MovieMapper implements Mapper<Movie, MovieDTO> { ...@@ -19,7 +19,6 @@ public class MovieMapper implements Mapper<Movie, MovieDTO> {
private final CharacterMapper charMapper = new CharacterMapper(); private final CharacterMapper charMapper = new CharacterMapper();
private Set<Genre> genres; private Set<Genre> genres;
@Override @Override
public MovieDTO map(Movie movie) { public MovieDTO map(Movie movie) {
if (movie == null) if (movie == null)
......
...@@ -23,16 +23,6 @@ public class Manager<T> { ...@@ -23,16 +23,6 @@ public class Manager<T> {
this.type = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; 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() { protected EntityManager getEntityManager() {
if (!localManager.get().isOpen()) if (!localManager.get().isOpen())
closeEntityManager(); closeEntityManager();
...@@ -46,6 +36,16 @@ public class Manager<T> { ...@@ -46,6 +36,16 @@ public class Manager<T> {
localManager.remove(); 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) { protected void doTransaction(Consumer<EntityManager> content) {
var manager = getEntityManager(); var manager = getEntityManager();
try { try {
......
...@@ -7,7 +7,7 @@ public class EntityManagerFactoryUtil { ...@@ -7,7 +7,7 @@ public class EntityManagerFactoryUtil {
public static EntityManagerFactory createSessionFactory() { public static EntityManagerFactory createSessionFactory() {
try { try {
return Persistence.createEntityManagerFactory("edu.hsh.dbs2.imdb", Util.getTestDataProperty()); return Persistence.createEntityManagerFactory("edu.hsh.dbs2.imdb");
} catch (Exception e) { } catch (Exception e) {
System.err.println("Error while connecting to database"); System.err.println("Error while connecting to database");
e.printStackTrace(); e.printStackTrace();
......
...@@ -10,11 +10,4 @@ public class Util { ...@@ -10,11 +10,4 @@ public class Util {
public static <T> boolean isNullOrEmpty(Collection<T> coll) { public static <T> boolean isNullOrEmpty(Collection<T> coll) {
return coll == null || coll.isEmpty(); 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;
}
} }
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<property name="jakarta.persistence.schema-generation.drop-source" value="script"/> <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.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.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.check_nullability" value="true"/>
<property name="hibernate.hbm2ddl.auto" value="validate"/> <property name="hibernate.hbm2ddl.auto" value="validate"/>
</properties> </properties>
......
...@@ -7,8 +7,8 @@ import edu.hsh.dbs2.imdb.logic.ManagerFactory; ...@@ -7,8 +7,8 @@ import edu.hsh.dbs2.imdb.logic.ManagerFactory;
import edu.hsh.dbs2.imdb.logic.MovieManager; import edu.hsh.dbs2.imdb.logic.MovieManager;
import edu.hsh.dbs2.imdb.logic.dto.CharacterDTO; import edu.hsh.dbs2.imdb.logic.dto.CharacterDTO;
import edu.hsh.dbs2.imdb.logic.dto.MovieDTO; import edu.hsh.dbs2.imdb.logic.dto.MovieDTO;
import edu.hsh.dbs2.imdb.util.EntityManagerFactoryUtil;
import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;
import jakarta.persistence.PersistenceException; import jakarta.persistence.PersistenceException;
import lombok.Cleanup; import lombok.Cleanup;
import org.junit.AfterClass; import org.junit.AfterClass;
...@@ -23,7 +23,7 @@ public class TestDB { ...@@ -23,7 +23,7 @@ public class TestDB {
@BeforeClass @BeforeClass
public static void setUp() { public static void setUp() {
sessionFactory = Persistence.createEntityManagerFactory("edu.hsh.dbs2.imdb"); sessionFactory = EntityManagerFactoryUtil.createSessionFactory();
ManagerFactory.instance.setSessionFactory(sessionFactory); ManagerFactory.instance.setSessionFactory(sessionFactory);
movieManager = ManagerFactory.instance.getMovieManager(); movieManager = ManagerFactory.instance.getMovieManager();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment