Übung 12 - Klitzekleines Fehlerchen im Rahmencode?

f_m
Windoof-User
Windoof-User
Beiträge: 25
Registriert: 21. Okt 2008 17:08

Übung 12 - Klitzekleines Fehlerchen im Rahmencode?

Beitrag von f_m »

Hallo,

Gibt es eigentlich einen Grund für den this.setParent(parent) aufruf im Konstruktor von File? Der Parent von File ist ja ein Directory und wird damit auch in der addChildNode-Methode von Directory gesetzt. Das Problem das sich ergibt ist nun, dass wenn ein neues File angelegt wird setParent insgesamt 3 mal aufgerufen wird, erstmal wird der Parent vom Konstruktor auf den wirklichen Vater gesetzt, dann in der addChildNode Methode auf Null und am ende wieder auf den wirklichen Vater. setParent(Null) ruft nun aber removeChildNode auf, was problematisch ist, da dadurch ein Event bezüglich Node löschen getriggert wird.

Außerdem noch ne kleine Frage: dürfen wir bei der 2d) die Java Logging API benutzen?

d3non
Erstie
Erstie
Beiträge: 22
Registriert: 23. Mai 2009 19:20

Re: Übung 12 - Klitzekleines Fehlerchen im Rahmencode?

Beitrag von d3non »

Das mit dem löschen, stimmt so, glaube ich, nicht ganz - aber das setParent 3 mal aufgerufen wird, kann ich bestätigen.
Auch beim Erstellen/Ändern eines Ordners wird setParent mehrmals aufgerufen.
(Und nicht nur setParent, einiges wird öfter als einmal aufgerufen!)

Da setParent sich als zentrale Methode, die bei fast allen Ereignissen(außer rename) aufgerufen wird, anbietet um über Änderungen zu informieren, wäre es vielleicht gut, wenn sie nur pro Änderungen nur einmal aufgerufen wird - so wird die Überwachung mehrmals pro Aktion getriggert.

Können wir also an den Klassen File und Directory Anpassungen vornehmen, oder können die Tutoren mit mehrfachen Meldungen über das gleiche Ereigniss leben?
Andere Möglichkeiten wäre, meiner Meinung nach, sehr umständlich!

Danke und Grüße
Patrick

mitschke
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 184
Registriert: 10. Okt 2008 16:09

Re: Übung 12 - Klitzekleines Fehlerchen im Rahmencode?

Beitrag von mitschke »

Hallo,

ja es finden mehrere Aufrufe an setParent() statt.
Die Aufrufe sind für die Bewertung der Übung aber nicht relevant.

Euer Logger kann einfach alle Events protokollieren.
Gibt es eigentlich einen Grund für den this.setParent(parent) aufruf im Konstruktor von File? ... was problematisch ist, da dadurch ein Event bezüglich Node löschen getriggert wird.
Das mit dem Konten löschen kann ich nicht ganz nachvollziehen. Nach dem Abarbeiten des Konstruktors ist der Parent korrekt gesetzt.
dürfen wir bei der 2d) die Java Logging API benutzen?
Ja, ihr könnt die API gerne nutzen.
Dipl.-Inform. Ralf Mitschke <mitschke@st.informatik.tu-...>

Software Technology Group

Antworten

Zurück zu „Archiv“