diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-12 23:25:31 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-13 02:02:22 +0100 |
| commit | 8bb0ce651c5d7921725d7195e2f058ce0f431af9 (patch) | |
| tree | 26ef0d695b52ca3fd0cbccdab6165c7159b8e231 /src/de | |
| parent | 1015b4846307df1803e09a03d07e77fc5e1af949 (diff) | |
| download | Projektthemenvergabe-8bb0ce651c5d7921725d7195e2f058ce0f431af9.tar.gz Projektthemenvergabe-8bb0ce651c5d7921725d7195e2f058ce0f431af9.zip | |
Load data from database
Diffstat (limited to 'src/de')
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java | 125 |
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(); + } + + } } |
