summaryrefslogtreecommitdiffstats
path: root/src/de
diff options
context:
space:
mode:
Diffstat (limited to 'src/de')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java125
1 files changed, 125 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
index 53bcd7f..4caaa35 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java
@@ -3,6 +3,12 @@
*/
package de.fhswf.in.inf.se.projektthemenvergabe;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+
import de.fhswf.in.inf.se.projektthemenvergabe.model.Ansprechpartner;
import de.fhswf.in.inf.se.projektthemenvergabe.model.Organisation;
import de.fhswf.in.inf.se.projektthemenvergabe.model.Projekt;
@@ -12,6 +18,7 @@ import de.fhswf.in.inf.se.projektthemenvergabe.view.ProjektHinzufuegenController
import de.fhswf.in.inf.se.projektthemenvergabe.view.ProjektthemenverwaltungsController;
import de.fhswf.in.inf.se.projektthemenvergabe.view.StudentenverwaltungsController;
import javafx.application.Application;
+import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXMLLoader;
@@ -48,6 +55,8 @@ public class Main extends Application
private Stage projekthinzufuegenStage;
+ private Connection dbConnection;
+
/*
* (non-Javadoc)
*
@@ -56,6 +65,8 @@ public class Main extends Application
@Override
public void start(Stage primaryStage) throws Exception
{
+ loadData();
+
this.primaryStage = primaryStage;
try
@@ -273,4 +284,118 @@ public class Main extends Application
{
launch(args);
}
+
+ /**
+ * Load Data on launch from database.
+ *
+ */
+ private void loadData()
+ {
+ try
+ {
+ Class.forName("com.mysql.jdbc.Driver").newInstance();
+ dbConnection = DriverManager
+ .getConnection("jdbc:mysql://localhost/projekte", "root", "");
+
+ ansprechpartner.clear();
+ organisation.clear();
+
+ HashMap<String, Organisation> orgaHash = new HashMap<>();
+ HashMap<String, HashMap<String, Ansprechpartner>> anspHash = new HashMap<>();
+ HashMap<Integer, Student> studHash = new HashMap<>();
+
+ ResultSet rs = dbConnection.createStatement()
+ .executeQuery("SELECT * from organisation");
+ while (rs.next())
+ {
+ Organisation organisation = new Organisation(
+ rs.getString("name"));
+
+ orgaHash.put(organisation.getName(), organisation);
+ }
+
+ rs = dbConnection.createStatement()
+ .executeQuery("SELECT * from ansprechpartner");
+ while (rs.next())
+ {
+ Organisation organisation = orgaHash
+ .get(rs.getString("organisation"));
+
+ Ansprechpartner ansprechpartner = new Ansprechpartner(
+ organisation, rs.getString("vorname"),
+ rs.getString("nachname"));
+
+ HashMap<String, Ansprechpartner> tmpHashMap = new HashMap<>();
+
+ tmpHashMap.put(ansprechpartner.getNachname(), ansprechpartner);
+
+ tmpHashMap = anspHash.putIfAbsent(ansprechpartner.getVorname(),
+ tmpHashMap);
+ if (tmpHashMap != null)
+ {
+ tmpHashMap.put(ansprechpartner.getNachname(), ansprechpartner);
+ }
+ }
+
+ rs = dbConnection.createStatement()
+ .executeQuery("SELECT * from student");
+ while (rs.next())
+ {
+ Student student = new Student(rs.getInt("matrikelnummer"));
+
+ student.setVorname(rs.getString("vorname"));
+ student.setNachname(rs.getString("nachname"));
+
+ studHash.put(student.getMatrikelnummer(), student);
+ }
+
+ rs = dbConnection.createStatement()
+ .executeQuery("SELECT * from projekt");
+ while (rs.next())
+ {
+ Ansprechpartner ansprechpartner = null;
+
+ if (rs.getString("ansprechpartnerVorname") != null
+ && rs.getString("ansprechpartnerNachname") != null)
+ {
+ ansprechpartner = anspHash
+ .get(rs.getString("ansprechpartnerVorname"))
+ .get(rs.getString("ansprechpartnerNachname"));
+ }
+
+ Student student1 = studHash.get(rs.getInt("student1"));
+ Student student2 = studHash.get(rs.getInt("student2"));
+ Student student3 = studHash.get(rs.getInt("student3"));
+
+ Projekt projekt = new Projekt(rs.getString("projektthema"),
+ student1, student2, student3, ansprechpartner);
+
+ projekt.setSkizze(rs.getString("skizze"));
+ projekt.setProjektbeschreibung(
+ rs.getString("projektbeschreibung"));
+ projekt.setProjekteinhalte(rs.getString("projektinhalte"));
+ projekt.setStatus(
+ Projekt.StatusTypes.valueOf(rs.getString("status")));
+ projekt.setDozentenkommentar(rs.getString("dozentenkommentar"));
+
+ this.projekte.add(projekt);
+ }
+
+ organisation.addAll(orgaHash.values());
+ for (HashMap<String, Ansprechpartner> hashs : anspHash.values())
+ {
+ ansprechpartner.addAll(hashs.values());
+ }
+ studenten.addAll(studHash.values());
+ }
+ catch (SQLException | InstantiationException | IllegalAccessException |
+
+ ClassNotFoundException e)
+
+ {
+ e.printStackTrace();
+ Platform.exit();
+ }
+
+ }
}