Closed jruef closed 13 years ago
Ich weiss wieso:
Im XMLParser.java wird in Zeile 215 die Methode question.setLastChanged()
aufgerufen. Diese Methode ist in zweierlei Hinsicht speziell:
Genau da liegt auch der Hund begraben: Die Frage wird erst in Zeile 217 im XMLParser.java in den DbManager eingefügt. Weil setLastChanged aber vorher aufgerufen wird und über den DbManager auf sich selbst zugreifen will, gibt es natürlich die NullPointerException.
Schnelles work-around: Den Aufruf von setLastChanged hinter den Aufruf von DbManager.addQuestion verschieben.
Besser wäre es wohl, die Methode setLastChanged umschreiben.
Vielleicht kann ja gerade noch jemand erklären, warum in setLastChanged
dann die Methode setLastChangedDate
aufgerufen wird -- warum dieser Umweg?!
habe die methoden umgeschrieben - war in einem schwachen moment wohl nicht auf die idee gekommen, eine abstrakte methode zu verwenden ;-)
nun ist jedoch noch ein anderer - wie ich finde komischer - fehler in der methode enthalten (Siehe TODO-kommentar im XMLParser.java
)
Aber: Die Frage (oder Antwort) wird doch gleich beim Aufruf des Konstruktors in den DbManager aufgenommen (falls man kein false
mitgibt)!? Folglich sollten ja auch auf jedes Objekt vom DbManager aus zugegriffen werden können..!?
äh bei mir hats kein TODO im XMLParser.java
sorry, noch nicht gepusht =) wäre jetzt online...
Computer says no.. cough
Git pull sagt up-to-date und github zeigt meinen commit noch als letzten an..
git log ergibt: commit dad234c3f80a992b68f1dbd2ea978f75571d59a9 Merge: 3552127 548032d Author: Alexander Striffeler alexanders@bluewin.ch Date: Tue Nov 30 16:12:42 2010 +0100
Merge branch 'unstable' of github.com:ese-unibe-ch/ese2010-team2 into unstab
commit 35521274d775065c41db5916dd3090de64756a68 Author: Alexander Striffeler alexanders@bluewin.ch Date: Tue Nov 30 16:11:17 2010 +0100
see issue 116
hm..komisch, jetzt ists da, angeblich seit 18 min..
1: a.setDate(creationDate);
2: // TODO: Wieso funktioniert dieser Aufruf und der untere nicht??
3:DbManager.getInstance().getQuestionById(qId).setLastChanged(lastChangedDate);
4: // a.setLastChanged(lastChangedDate);
Also der in Zeile 3 klappt und der in Zeile 4 nicht?
Genau
Könne wir diesen Bug eigentich schliesen? Also ist er gefixt, wenn halt auch nicht so wunderschön ;)?
ich denke ja... wir sollten einfach im hinterkopf behalten, dass dort noch eine mögliche baustelle ist..
Hallo Leute, habe bemerkt, dass wenn man unsere eingnen sample daten nicht lädt, sondern nur einen das xml file importiert im bootstrap man eine null pointer exceptions bekommt. Ich sehe nicht ganz wo das Problem liegt. Leider begreife ich nicht ganz wie der XML Importer Daten zu den verschiedenen ArrayLists im DB manager hinzufügt. Um das ganze zu reproduzieren könnet ihr einfach beim TestBootStrap die Annotation @OnApplicationStart enkommentieren und dafür beim BootStrap auskommentieren.