Skip to content

Commit

Permalink
Describe how the Malen code was changed.
Browse files Browse the repository at this point in the history
  • Loading branch information
arthurschreiber committed Apr 7, 2011
1 parent 4b9f9a7 commit 4f433d1
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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);

0 comments on commit 4f433d1

Please sign in to comment.