diff --git a/src/main/java/de/hda/fbi/db2/controller/Controller.java b/src/main/java/de/hda/fbi/db2/controller/Controller.java index f38751dcd45bd1e39d0f175d6e60a0e266d81b26..e72fe7281594d9b9c64d41079893a426aaec956f 100644 --- a/src/main/java/de/hda/fbi/db2/controller/Controller.java +++ b/src/main/java/de/hda/fbi/db2/controller/Controller.java @@ -189,7 +189,13 @@ public class Controller { return; } - lab02EntityManager.persistData(); + String schemaGeneration = (String) lab02EntityManager.getEntityManager().getProperties() + .get("javax.persistence.schema-generation.database.action"); + + if (schemaGeneration.equals("drop-and-create") || + schemaGeneration.equals("create")) { + lab02EntityManager.persistData(); + } isPersisted = true; } diff --git a/src/test/java/de/hda/fbi/db2/test/Lab02Test.java b/src/test/java/de/hda/fbi/db2/test/Lab02Test.java index e54f351eec0e711cadb9ce04bdd4489b9523514b..90512766ad87ee3f4b061a75df09a048699ddd18 100644 --- a/src/test/java/de/hda/fbi/db2/test/Lab02Test.java +++ b/src/test/java/de/hda/fbi/db2/test/Lab02Test.java @@ -9,6 +9,7 @@ import javax.persistence.metamodel.Type; import de.hda.fbi.db2.controller.Controller; import org.eclipse.persistence.internal.jpa.metamodel.AttributeImpl; import org.eclipse.persistence.internal.jpa.metamodel.EntityTypeImpl; +import org.eclipse.persistence.mappings.AggregateCollectionMapping; import org.eclipse.persistence.mappings.DatabaseMapping; import org.eclipse.persistence.mappings.DirectMapMapping; import org.eclipse.persistence.mappings.OneToManyMapping; @@ -146,6 +147,9 @@ public class Lab02Test { } else if (mapping instanceof OneToManyMapping) { return; } + if (mapping instanceof AggregateCollectionMapping) { + return; + } } Assert.fail("Could not find a possible answer constellation in question"); } diff --git a/src/test/java/de/hda/fbi/db2/test/Lab03Test.java b/src/test/java/de/hda/fbi/db2/test/Lab03Test.java index 57ab43f591f91f2f460982c0d786b2323ab0685a..7c75bebdb649e0ddb033b30dc2b77ed1dfa1ffa8 100644 --- a/src/test/java/de/hda/fbi/db2/test/Lab03Test.java +++ b/src/test/java/de/hda/fbi/db2/test/Lab03Test.java @@ -1,9 +1,9 @@ package de.hda.fbi.db2.test; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import javax.persistence.metamodel.Attribute; +import javax.persistence.metamodel.EmbeddableType; import javax.persistence.metamodel.EntityType; import javax.persistence.metamodel.Metamodel; import javax.persistence.metamodel.PluralAttribute; @@ -77,7 +77,6 @@ public class Lab03Test { Lab03Game gameController = controller.getLab03Game(); Lab01Data lab01Data = controller.getLab01Data(); List<Object> questions = new ArrayList<>(); - Collections.shuffle(questions); questions.add(lab01Data.getQuestions().get(0)); questions.add(lab01Data.getQuestions().get(1)); Object game = gameController.createGame("PlayerName", questions); @@ -94,7 +93,6 @@ public class Lab03Test { Lab03Game gameController = controller.getLab03Game(); Lab01Data lab01Data = controller.getLab01Data(); List<Object> questions = new ArrayList<>(); - Collections.shuffle(questions); questions.add(lab01Data.getQuestions().get(0)); questions.add(lab01Data.getQuestions().get(1)); Object game = gameController.createGame("PlayerName", questions); @@ -121,7 +119,6 @@ public class Lab03Test { Lab03Game gameController = controller.getLab03Game(); Lab01Data lab01Data = controller.getLab01Data(); List<Object> questions = new ArrayList<>(); - Collections.shuffle(questions); questions.add(lab01Data.getQuestions().get(0)); questions.add(lab01Data.getQuestions().get(1)); Object game = gameController.createGame("PlayerName", questions); @@ -166,6 +163,13 @@ public class Lab03Test { } } + for (EmbeddableType embeddable : metaData.getEmbeddables()) { + if (embeddable.getJavaType().getSimpleName().toLowerCase().equals("answer") || + embeddable.getJavaType().getSimpleName().toLowerCase().equals("answers")) { + answerEntity = embeddable; + } + } + if (answerEntity == null) { Assert.fail("No Answer Entity found"); }