From 830b16c2a448d18f34f858902eead068e0c41af9 Mon Sep 17 00:00:00 2001
From: "Stefan T. Ruehl" <stefan.ruehl@h-da.de>
Date: Thu, 22 Aug 2019 09:38:59 +0200
Subject: [PATCH] Cleanup

---
 build.gradle                                  |   2 +-
 .../fbi/db2/stud/EntityManagerController.java |  31 --
 .../de/hda/fbi/db2/stud/entity/Answer.java    |  59 ----
 .../de/hda/fbi/db2/stud/entity/Category.java  |  65 ----
 .../java/de/hda/fbi/db2/stud/entity/Game.java | 330 ------------------
 .../de/hda/fbi/db2/stud/entity/Player.java    |  35 --
 .../de/hda/fbi/db2/stud/entity/Question.java  |  70 ----
 .../hda/fbi/db2/stud/impl/Lab01DataImpl.java  | 104 ------
 .../db2/stud/impl/Lab02EntityManagerImpl.java |  28 --
 .../hda/fbi/db2/stud/impl/Lab03GameImpl.java  |  80 -----
 .../fbi/db2/stud/impl/Lab04MassDataImpl.java  | 114 ------
 11 files changed, 1 insertion(+), 917 deletions(-)
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/EntityManagerController.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/entity/Answer.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/entity/Category.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/entity/Game.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/entity/Player.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/entity/Question.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/impl/Lab01DataImpl.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/impl/Lab02EntityManagerImpl.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/impl/Lab03GameImpl.java
 delete mode 100644 src/main/java/de/hda/fbi/db2/stud/impl/Lab04MassDataImpl.java

diff --git a/build.gradle b/build.gradle
index b2653b8..a5fd06b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,7 +21,7 @@ plugins {
 }
 
 // Define the main class for the application
-mainClassName = 'de.hda.fbi.db2.stud.Main'
+mainClassName = 'de.hda.fbi.db2.Main'
 
 tasks.withType(SpotBugsTask) {
     reports {
diff --git a/src/main/java/de/hda/fbi/db2/stud/EntityManagerController.java b/src/main/java/de/hda/fbi/db2/stud/EntityManagerController.java
deleted file mode 100644
index 163dac7..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/EntityManagerController.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package de.hda.fbi.db2.stud;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-
-/**
- * EntityManagerController Created by l.koehler on 05.08.2019.
- */
-public class EntityManagerController {
-
-  private static EntityManagerController entityManagerController;
-
-  private EntityManagerController() {
-    EntityManagerFactory emf = Persistence.createEntityManagerFactory("postgresPU");
-    this.entityManager = emf.createEntityManager();
-  }
-
-  public static EntityManagerController getInstance() {
-    if (entityManagerController == null) {
-      entityManagerController = new EntityManagerController();
-    }
-    return entityManagerController;
-  }
-
-  public EntityManager getEntityManager() {
-    return entityManager;
-  }
-
-  private EntityManager entityManager;
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/entity/Answer.java b/src/main/java/de/hda/fbi/db2/stud/entity/Answer.java
deleted file mode 100644
index 08233bd..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/entity/Answer.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package de.hda.fbi.db2.stud.entity;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-
-/**
- * Answer
- * Created by l.koehler on 05.08.2019.
- */
-@Entity
-public class Answer {
-
-    @Id
-    @GeneratedValue
-    private long id;
-
-    @ManyToOne
-    private Question question;
-
-    private String name;
-
-    private boolean correct;
-
-    public Answer(String name, boolean correct, Question question) {
-        this.name = name;
-        this.correct = correct;
-        this.question = question;
-    }
-
-    public Answer() {}
-
-    public String getName() {
-        return name;
-    }
-
-    public void setQuestion(Question question) {
-        this.question = question;
-    }
-
-    public boolean isCorrect() {
-        return correct;
-    }
-
-    public long getId() {
-        return id;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        return super.equals(obj);
-    }
-
-    @Override
-    public int hashCode() {
-        return super.hashCode();
-    }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/entity/Category.java b/src/main/java/de/hda/fbi/db2/stud/entity/Category.java
deleted file mode 100644
index a500405..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/entity/Category.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package de.hda.fbi.db2.stud.entity;
-
-import java.util.ArrayList;
-import java.util.List;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-
-/**
- * Category Created by l.koehler on 05.08.2019.
- */
-@Entity
-public class Category {
-
-  public Category() {
-  }
-
-  @Id
-  @GeneratedValue
-  private Long id;
-
-  @Column(unique = true)
-  private String name;
-
-  @OneToMany(mappedBy = "category", cascade = {CascadeType.PERSIST})
-  private List<Question> questions;
-
-  public Category(String name) {
-    this.questions = new ArrayList<>();
-    this.name = name;
-  }
-
-  public void addQuestion(Question question) {
-    this.questions.add(question);
-  }
-
-  public int getQuestionSize() {
-    return questions.size();
-  }
-
-  public List<Question> getQuestions() {
-    return questions;
-  }
-
-  public String getName() {
-    return name;
-  }
-
-  public Long getId() {
-    return id;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    return super.equals(obj);
-  }
-
-  @Override
-  public int hashCode() {
-    return super.hashCode();
-  }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/entity/Game.java b/src/main/java/de/hda/fbi/db2/stud/entity/Game.java
deleted file mode 100644
index 02fd733..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/entity/Game.java
+++ /dev/null
@@ -1,330 +0,0 @@
-package de.hda.fbi.db2.stud.entity;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Random;
-import javax.persistence.Entity;
-import javax.persistence.EntityManager;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.ManyToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.Transient;
-import de.hda.fbi.db2.stud.EntityManagerController;
-
-/**
- * Game Created by l.koehler on 05.08.2019.
- */
-@Entity
-public class Game {
-
-  @Id
-  @GeneratedValue
-  private Long id;
-
-  @OneToOne
-  private Player player;
-
-  public Player getPlayer() {
-    return player;
-  }
-
-  @Transient
-  private List<Question> questions;
-
-  private int countOfQuestions;
-
-  @ManyToMany
-  private List<Answer> givenAnswers;
-
-  public List<Answer> getGivenAnswers() {
-    return givenAnswers;
-  }
-
-  private Timestamp timestamp;
-
-  public Game(Player player, List<Question> questions, int countOfQuestions, Timestamp timestamp) {
-    givenAnswers = new ArrayList<>();
-    this.questions = questions;
-    this.countOfQuestions = countOfQuestions;
-    this.player = player;
-    this.timestamp = new Timestamp(timestamp.getTime());
-  }
-
-  public Game() {
-    givenAnswers = new ArrayList<>();
-    timestamp = new Timestamp(System.currentTimeMillis());
-  }
-
-  public Game(String playerName, List<Object> questions) {
-    givenAnswers = new ArrayList<>();
-    timestamp = new Timestamp(System.currentTimeMillis());
-
-    try {
-      EntityManager em = EntityManagerController.getInstance().getEntityManager();
-      em.getTransaction().begin();
-      List users = em
-          .createQuery("select player from Player player where player.name = '" + playerName + "'")
-          .getResultList();
-      em.getTransaction().commit();
-      if (users.isEmpty()) {
-        player = new Player(playerName);
-        em.getTransaction().begin();
-        em.persist(player);
-        em.getTransaction().commit();
-      } else {
-        player = (Player) users.get(0);
-      }
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-    countOfQuestions = 3;
-    this.questions = (List<Question>) (List<?>) questions;
-  }
-
-  public void readData() {
-    player = choosePlayer();
-    List<Category> cat = chooseCategories();
-    countOfQuestions = chooseCountOfQuestions();
-    questions = filterQuestions(cat);
-  }
-
-  private List<Question> filterQuestions(List<Category> categories) {
-    Random rand = new Random();
-    List<Question> questions = new ArrayList<>();
-    for (Category cat : categories) {
-      while (cat.getQuestionSize() > countOfQuestions) {
-        int n = rand.nextInt(cat.getQuestionSize());
-        cat.getQuestions().remove(n);
-      }
-
-      questions.addAll(cat.getQuestions());
-    }
-
-    return questions;
-  }
-
-  private int chooseCountOfQuestions() {
-    do {
-      try {
-        System.out.println("Wählen sie aus wie viele Fragen pro Kategorie sie wollen");
-
-        BufferedReader reader =
-            new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
-        String input = reader.readLine();
-        if (input == null) {
-          continue;
-        }
-        int number = Integer.parseInt(input);
-        if (number <= 0) {
-          System.out.println("Geben sie ein ganzzahlige positive Zahl ein! Dummkopf!");
-        } else {
-          return number;
-        }
-
-      } catch (Exception e) {
-        System.out.println("Geben sie bitte eine ganzzahlige Zahl ein! Dummkopf");
-      }
-    } while (true);
-  }
-
-  private List<Category> chooseCategories() {
-    try {
-      EntityManager em = EntityManagerController.getInstance().getEntityManager();
-      em.getTransaction().begin();
-      List categories = em.createQuery("select category from Category category").getResultList();
-      List<Category> choosedCategories = new ArrayList<>();
-      em.getTransaction().commit();
-
-      for (Object objectCat : categories) {
-        Category currentCat = (Category) objectCat;
-        System.out.println(currentCat.getId() + ": " + currentCat.getName());
-      }
-
-      System.out.println("Wählen Sie Kategorien indem sie die ID eingeben und enter drücken. " +
-          "Mit -1 beenden sie die Eingabe. Wählen sie mindestens 2 Kategorien aus");
-
-      do {
-        BufferedReader reader =
-            new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
-        String input = reader.readLine();
-
-        if (input == null) {
-          continue;
-        }
-        if (input.equals("-1")) {
-          if (choosedCategories.size() < 2) {
-            System.out.println("Zu wenig categorien");
-          } else {
-            System.out.println("Choosed:");
-            for (Category cat : choosedCategories) {
-              System.out.println(cat.getId() + ": " + cat.getName());
-            }
-            return choosedCategories;
-          }
-        } else {
-          boolean found = false;
-          for (Object objectCat : categories) {
-            Category currentCat = (Category) objectCat;
-
-            if (currentCat.getId().toString().equals(input)) {
-              choosedCategories.add(currentCat);
-              found = true;
-            }
-          }
-          if (!found) {
-            System.out.println("Keine passende Kategorie gefunden");
-          }
-        }
-
-      } while (true);
-
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-
-    return null;
-  }
-
-  private Player choosePlayer() {
-    try {
-      EntityManager em = EntityManagerController.getInstance().getEntityManager();
-      em.getTransaction().begin();
-      List users = em.createQuery("select player from Player player").getResultList();
-      em.getTransaction().commit();
-      Player player;
-      if (users.isEmpty()) {
-        System.out.println("Es existieren noch keine Player. Ein neuer Player wird angelegt.");
-        player = createPlayer();
-      } else {
-        do {
-          System.out.println("Wählen sie einen Spieler anhand der ID aus:");
-          for (Object currentObject : users) {
-            Player currentPlayer = (Player) currentObject;
-            System.out.println(currentPlayer.getId() + ": " + currentPlayer.getName());
-          }
-
-          BufferedReader reader =
-              new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
-          String input = reader.readLine();
-
-          for (Object currentObject : users) {
-            Player currentPlayer = (Player) currentObject;
-            if (currentPlayer.getId().toString().equals(input)) {
-              return currentPlayer;
-            }
-          }
-
-          System.out.println("Keine gültige ID");
-
-        } while (true);
-      }
-      return player;
-
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-
-    return null;
-  }
-
-  private Player createPlayer() {
-    try {
-      System.out.println("Geben Sie Ihren Namen ein:");
-      BufferedReader reader =
-          new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
-      String name = reader.readLine();
-
-      Player player = new Player(name);
-      EntityManager em = EntityManagerController.getInstance().getEntityManager();
-      em.getTransaction().begin();
-      em.persist(player);
-      em.getTransaction().commit();
-
-      return player;
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-    return null;
-  }
-
-  public void playGame() {
-    System.out.println("Das Spiel beginnt. Geben Sie als Antwort den Index an.");
-    int questionCounter = 1;
-    for (Question question : questions) {
-      System.out.println("Frage " + questionCounter++ + ":");
-      System.out.println("Kategorie: " + question.getCategory().getName());
-      System.out.println(question.getName());
-      for (int i = 0; i < question.getAnswerCount(); i++) {
-        Answer ans = question.getAnswers().get(i);
-        System.out.println("\t" + (i + 1) + ": " + ans.getName());
-      }
-
-      int givenAns = -1;
-      do {
-        try {
-          BufferedReader reader =
-              new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
-          String input = reader.readLine();
-          if (input == null) {
-            continue;
-          }
-          int ansI = Integer.parseInt(input);
-          if (ansI <= 0 || ansI > question.getAnswerCount()) {
-            System.out.println("Ungültige Eingabe!");
-          } else {
-            givenAns = ansI;
-            break;
-          }
-        } catch (Exception e) {
-          System.out.println("Falsche eingabe!");
-        }
-      } while (true);
-
-      int size = question.getAnswers().size();
-      int remove = 0;
-      for (int i = 0; i < size; i++) {
-        if (i != (givenAns - 1)) {
-          question.getAnswers().remove(remove);
-        } else {
-          remove++;
-        }
-      }
-
-      givenAnswers.add(question.getAnswers().get(0));
-      if (question.getAnswers().get(0).isCorrect()) {
-        System.out.println("Die Antwort ist richig :)");
-      } else {
-        System.out.println("Die Antwort ist leider falsch :(");
-      }
-      System.out.println("\n");
-    }
-
-    System.out.println("Das Spiel ist zu Ende");
-  }
-
-  public void printStats() {
-    System.out.println("ID: " + id);
-    System.out.println("Datum: " + timestamp.toString());
-    int correct = 0;
-    for (Answer ans : givenAnswers) {
-      if (ans.isCorrect()) {
-        correct++;
-      }
-    }
-    System.out.println("Percentage: " + correct + "/" + givenAnswers.size() +
-        " (" + correct / givenAnswers.size() * 100 + ")");
-  }
-
-  public void simulatePlay() {
-    Random randAns = new Random();
-    for (Question question : questions) {
-      int ans = randAns.nextInt(4);
-      givenAnswers.add(question.getAnswers().get(ans));
-    }
-  }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/entity/Player.java b/src/main/java/de/hda/fbi/db2/stud/entity/Player.java
deleted file mode 100644
index 41f2375..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/entity/Player.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package de.hda.fbi.db2.stud.entity;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-
-/**
- * Player Created by l.koehler on 05.08.2019.
- */
-@Entity
-public class Player {
-
-  public Player() {
-  }
-
-  public Player(String name) {
-    this.name = name;
-  }
-
-  @Id
-  @GeneratedValue
-  private Long id;
-
-  @Column(unique = true, nullable = false)
-  private String name;
-
-  public Long getId() {
-    return id;
-  }
-
-  public String getName() {
-    return name;
-  }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/entity/Question.java b/src/main/java/de/hda/fbi/db2/stud/entity/Question.java
deleted file mode 100644
index ec1b578..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/entity/Question.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package de.hda.fbi.db2.stud.entity;
-
-import java.util.ArrayList;
-import java.util.List;
-import javax.persistence.CascadeType;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-
-/**
- * Question Created by l.koehler on 05.08.2019.
- */
-@Entity
-public class Question {
-
-  public Question() {
-  }
-
-  @Id
-  private long id;
-
-  @ManyToOne
-  private Category category;
-
-  private String name;
-
-  @OneToMany(mappedBy = "question", cascade = {CascadeType.PERSIST})
-  private List<Answer> answers;
-
-  public Question(String name, long id) {
-    this.answers = new ArrayList<>();
-    this.name = name;
-    this.id = id;
-  }
-
-  public void addAnswer(Answer answer) {
-    this.answers.add(answer);
-  }
-
-  public int getAnswerCount() {
-    return answers.size();
-  }
-
-  public List<Answer> getAnswers() {
-    return answers;
-  }
-
-  public String getName() {
-    return name;
-  }
-
-  public void setCategory(Category category) {
-    this.category = category;
-  }
-
-  public Category getCategory() {
-    return category;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    return super.equals(obj);
-  }
-
-  @Override
-  public int hashCode() {
-    return super.hashCode();
-  }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/impl/Lab01DataImpl.java b/src/main/java/de/hda/fbi/db2/stud/impl/Lab01DataImpl.java
deleted file mode 100644
index 263c019..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/impl/Lab01DataImpl.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package de.hda.fbi.db2.stud.impl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import de.hda.fbi.db2.api.Lab01Data;
-import de.hda.fbi.db2.stud.entity.Answer;
-import de.hda.fbi.db2.stud.entity.Category;
-import de.hda.fbi.db2.stud.entity.Question;
-
-/**
- * Lab01DataImpl Created by l.koehler on 05.08.2019.
- */
-public class Lab01DataImpl extends Lab01Data {
-
-  private HashMap<String, Category> categoryMap;
-
-  private List<Object> questions;
-
-  private List<Object> cateogories;
-
-  @Override
-  public List<Object> getQuestions() {
-    if (questions == null) {
-      questions = new ArrayList<>();
-      for (Map.Entry<String, Category> entry : categoryMap.entrySet()) {
-        questions.addAll(entry.getValue().getQuestions());
-      }
-    }
-    return questions;
-  }
-
-  @Override
-  public List<Object> getCategories() {
-    if (cateogories == null) {
-      cateogories = new ArrayList<>();
-      for (Map.Entry<String, Category> entry : categoryMap.entrySet()) {
-        cateogories.add(entry.getValue());
-      }
-    }
-    return cateogories;
-  }
-
-  @Override
-  public void loadCsvFile(List<String[]> additionalCsvLines) {
-    categoryMap = new HashMap<>();
-
-    for (int i = 1; i < additionalCsvLines.size(); i++) {
-      String[] currentLine = additionalCsvLines.get(i);
-      long id = Long.parseLong(currentLine[0]);
-      String questionString = currentLine[1];
-      String ans1 = currentLine[2];
-      String ans2 = currentLine[3];
-      String ans3 = currentLine[4];
-      String ans4 = currentLine[5];
-      int solution = Integer.parseInt(currentLine[6]);
-      String cat = currentLine[7];
-
-      Question question = new Question(questionString, id);
-      question.addAnswer(new Answer(ans1, solution == 1, question));
-      question.addAnswer(new Answer(ans2, solution == 2, question));
-      question.addAnswer(new Answer(ans3, solution == 3, question));
-      question.addAnswer(new Answer(ans4, solution == 4, question));
-
-      if (categoryMap.containsKey(cat)) {
-        Category category = categoryMap.get(cat);
-        category.addQuestion(question);
-      } else {
-        Category category = new Category(cat);
-        category.addQuestion(question);
-        categoryMap.put(cat, category);
-      }
-
-      question.setCategory(categoryMap.get(cat));
-    }
-
-    printStats(categoryMap);
-  }
-
-  private void printStats(Map<String, Category> categoryMap) {
-    int catCount = categoryMap.size();
-    int questionCount = 0;
-    int ansCount = 0;
-
-    for (Category cat : categoryMap.values()) {
-      System.out.println(cat.getName());
-
-      questionCount += cat.getQuestionSize();
-      for (Question ques : cat.getQuestions()) {
-        System.out.println("\t" + ques.getName());
-        ansCount += ques.getAnswerCount();
-
-        for (Answer ans : ques.getAnswers()) {
-          System.out.println("\t\t" + ans.getName());
-        }
-      }
-    }
-    System.out.println("\n\n\n");
-    System.out.println("Categories: " + catCount);
-    System.out.println("Questions: " + questionCount);
-    System.out.println("Answers: " + ansCount);
-  }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/impl/Lab02EntityManagerImpl.java b/src/main/java/de/hda/fbi/db2/stud/impl/Lab02EntityManagerImpl.java
deleted file mode 100644
index 74c9c18..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/impl/Lab02EntityManagerImpl.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.hda.fbi.db2.stud.impl;
-
-import javax.persistence.EntityManager;
-import de.hda.fbi.db2.api.Lab02EntityManager;
-import de.hda.fbi.db2.stud.EntityManagerController;
-
-/**
- * Lab02EntityManagerImpl Created by l.koehler on 05.08.2019.
- */
-public class Lab02EntityManagerImpl extends Lab02EntityManager {
-
-  @Override
-  public EntityManager getEntityManager() {
-    return EntityManagerController.getInstance().getEntityManager();
-  }
-
-  @Override
-  public void persistData() {
-    EntityManager em = getEntityManager();
-    em.getTransaction().begin();
-
-    for (Object category : lab01Data.getCategories()) {
-      em.persist(category);
-    }
-
-    em.getTransaction().commit();
-  }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/impl/Lab03GameImpl.java b/src/main/java/de/hda/fbi/db2/stud/impl/Lab03GameImpl.java
deleted file mode 100644
index 3cfe33c..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/impl/Lab03GameImpl.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package de.hda.fbi.db2.stud.impl;
-
-import java.util.List;
-import javax.persistence.EntityManager;
-import de.hda.fbi.db2.api.Lab03Game;
-import de.hda.fbi.db2.stud.EntityManagerController;
-import de.hda.fbi.db2.stud.entity.Answer;
-import de.hda.fbi.db2.stud.entity.Game;
-
-/**
- * Lab03GameImpl Created by l.koehler on 05.08.2019.
- */
-public class Lab03GameImpl extends Lab03Game {
-
-  @Override
-  public Object createGame() {
-    Game game = new Game();
-    game.readData();
-    return game;
-  }
-
-  @Override
-  public void playGame(Object game) {
-    ((Game) game).playGame();
-  }
-
-  @Override
-  public Object createGame(String playerName, List<Object> questions) {
-    return new Game(playerName, questions);
-  }
-
-  @Override
-  public void simulateGame(Object game) {
-    ((Game) game).simulatePlay();
-  }
-
-  @Override
-  public Object getPlayer(Object game) {
-    return ((Game) game).getPlayer();
-  }
-
-  @Override
-  public Object getPlayer(String name) {
-    try {
-      EntityManager em = EntityManagerController.getInstance().getEntityManager();
-      em.getTransaction().begin();
-      List users = em
-          .createQuery("select player from Player player where player.name = '" + name + "'")
-          .getResultList();
-      em.getTransaction().commit();
-      if (users.isEmpty()) {
-        return null;
-      } else {
-        return users.get(0);
-      }
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-    return null;
-  }
-
-  @Override
-  public int getRightAnswers(Object game) {
-    int counter = 0;
-    for (Answer ans : ((Game) game).getGivenAnswers()) {
-      if (ans.isCorrect()) {
-        counter = counter + 1;
-      }
-    }
-    return counter;
-  }
-
-  @Override
-  public void persistGame(Object game) {
-    EntityManager em = EntityManagerController.getInstance().getEntityManager();
-    em.getTransaction().begin();
-    em.persist(game);
-    em.getTransaction().commit();
-  }
-}
diff --git a/src/main/java/de/hda/fbi/db2/stud/impl/Lab04MassDataImpl.java b/src/main/java/de/hda/fbi/db2/stud/impl/Lab04MassDataImpl.java
deleted file mode 100644
index c4d0100..0000000
--- a/src/main/java/de/hda/fbi/db2/stud/impl/Lab04MassDataImpl.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package de.hda.fbi.db2.stud.impl;
-
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import javax.persistence.EntityManager;
-import de.hda.fbi.db2.api.Lab04MassData;
-import de.hda.fbi.db2.stud.EntityManagerController;
-import de.hda.fbi.db2.stud.entity.Category;
-import de.hda.fbi.db2.stud.entity.Game;
-import de.hda.fbi.db2.stud.entity.Player;
-import de.hda.fbi.db2.stud.entity.Question;
-
-/**
- * Lab04MassDataImpl Created by l.koehler on 05.08.2019.
- */
-public class Lab04MassDataImpl extends Lab04MassData {
-
-  private int persistCounter = 0;
-
-  private Map<String, Category> categoryMap;
-
-  @Override
-  public void createMassData() {
-    categoryMap = new HashMap<>();
-    for (Object current : lab01Data.getCategories()) {
-      Category cat = (Category) current;
-      categoryMap.put(cat.getName(), cat);
-    }
-
-    Timestamp start = new Timestamp(System.currentTimeMillis());
-    Timestamp end = new Timestamp((long) (System.currentTimeMillis() - 1.21e9));
-    createRandomData(10, 100,
-        end, start,
-        3, 10,
-        3, 5);
-  }
-
-  public void createRandomData(int gamers, int games,
-      Timestamp startDate, Timestamp stopDate,
-      int minQuestions, int maxQuestions,
-      int minCat, int maxCat) {
-    EntityManager em = EntityManagerController.getInstance().getEntityManager();
-    em.getTransaction().begin();
-
-    Random randDate = new Random();
-    Random randQuestion = new Random();
-    Random randCat = new Random();
-    int randomPlayer = 0;
-    for (int gamerI = 0; gamerI < gamers; gamerI++) {
-      Player player = new Player("Player" + randomPlayer++);
-      em.persist(player);
-      for (int gameI = 0; gameI < games; gameI++) {
-        //System.out.println("Gamer: " + gamerI + "Game: " + gameI);
-        long randomDate = randDate.nextInt((int) (stopDate.getTime() - startDate.getTime()) + 1)
-            + startDate.getTime();
-        Timestamp timestamp = new Timestamp(randomDate);
-        int questionNumber = randQuestion.nextInt(maxQuestions - minQuestions + 1)
-            + minQuestions;
-        int catNumber = randCat.nextInt(maxCat - minCat + 1) + minCat;
-
-        List<Question> questions = getRandomQuestions(catNumber, questionNumber);
-
-        createGame(player, timestamp, questions, maxQuestions);
-      }
-    }
-
-    em.getTransaction().commit();
-  }
-
-  private List<Question> getRandomQuestions(int catNumber, int questionNumber) {
-    List<Question> returnQuestions = new ArrayList<>();
-    List<Category> categories = new ArrayList<>(categoryMap.values());
-    Collections.shuffle(categories);
-
-    Category cat;
-    int questionPerCat = questionNumber / catNumber;
-    if (questionPerCat <= 0) {
-      questionPerCat = 1;
-    }
-    int catCount = 0;
-    do {
-      cat = categories.get(catCount++);
-      List<Question> questions = cat.getQuestions();
-      Collections.shuffle(questions);
-      for (int i = 0; i < questions.size(); i++) {
-        if (i == questionPerCat || returnQuestions.size() >= questionNumber) {
-          break;
-        } else {
-          returnQuestions.add(questions.get(i));
-        }
-      }
-    } while (returnQuestions.size() < questionNumber);
-
-    return returnQuestions;
-  }
-
-  private void createGame(Player player, Timestamp timestamp, List<Question> questions,
-      int maxQuestions) {
-    Game game = new Game(player, questions, maxQuestions, timestamp);
-    game.simulatePlay();
-    EntityManager em = EntityManagerController.getInstance().getEntityManager();
-    em.persist(game);
-    if (persistCounter++ == 5000) {
-      em.flush();
-      em.clear();
-      persistCounter = 0;
-    }
-  }
-}
-- 
GitLab