Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Describe how the Malen code was changed.

  • Loading branch information...
commit 4f433d135e39b6ab39020f5ad6168cd212af1003 1 parent 4b9f9a7
Arthur Schreiber authored
Showing with 26 additions and 1 deletion.
  1. +26 −1 README.md
27 README.md
View
@@ -9,7 +9,7 @@ und ist dadurch über `BankGUI.getDB` zugänglich.
Um sicherzustellen, dass die Datenbank beim Beenden der Anwendung korrekt
geschlossen wird, wurden ein `WindowAdapter` als `WindowListener` zum
-Haupt-`JFrame` der `BankGUI` hinzugefügt. Dieser `WindowAdapter` schliesst
+Haupt-`JFrame` der `BankGUI` hinzugefügt. Dieser `WindowAdapter` schließt
die Datenbank in seiner `windowClosing` Methode. Auch wurde die
`BankGUI.machEndeKnopf` Methode so verändert, dass die Datenbank korrekt
geschlossen wird.
@@ -22,3 +22,28 @@ Die `BankGUI.machKontoLoeschknopf`, `BankGUI.machBankLoeschknopf`,
`BankGUI.machKarteKontoAnlegen` wurden so abgeändert, dass in ihnen nach
jeder Modifikation eines `Bank` oder `Konto`-Objektes die jeweiligen Objekte
in der Datenbank angelegt/aktualisiert/entfernt wurden.
+
+## Malen
+
+Ähnlich wie in der Bank-Aufgabe wurde auch hier in der `Anwendung`-Klasse die
+`malen.db4o` geöffnet und der `EmbeddedObjectContainer` an den Konstruktor
+der `Malen`-Klasse übergeben.
+
+Auch wurden wieder Änderungen analog zu denen in der Bank-Aufgabe gemacht, um
+sicherzustellen dass die Datenbank beim Beenden der Anwendung korrekt
+geschlossen wird.
+
+`Malen.getZeichnung` gibt nun bei jedem Aufruf alle Zeichnungen direkt aus
+der Datenbank zurück.
+
+`Malen.addZeichnung` und `Malen.rmvZeichnung` arbeiten nun auch direkt auf
+der Datenbank und der `ActionListener`, der in `Malen.machUpdate` definiert
+wird, aktualisiert die aktuelle Zeichnung in der Datenbank.
+
+Da Db4o jedoch standardmäßig Updates und Deletes nicht kaskadiert, wurde
+die Konfiguration so angepasst, das Updates und Deletes der
+`Zeichnung`-Klasse kaskadiert werden:
+
+ EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
+ config.common().objectClass(Zeichnung.class).cascadeOnUpdate(true);
+ config.common().objectClass(Zeichnung.class).cascadeOnDelete(true);
Please sign in to comment.
Something went wrong with that request. Please try again.