Servus Forum.
Ich habe gerade ein Problem, das ich mir nicht erklären kann. Im wesentlichen geht es darum, dass ich eine NullPointerException erhalte, die ich nicht verstehen kann.
Ich verwende das JDK 1.6.0_05.
Die Exception fliegt in der Methode getRowCount() meiner Klasse und eine Debug-Ausgabe gibt auch an, dass das Objekt NULL ist.
Allerdings wird das Objekt bei der Erzeugung der Instanzvariable schon initialisiert. Außerdem wird ihm im Konstruktor eigentlich ein Wert zugewiesen. (Dieser ist definitiv nicht NULL; mit Debug-Ausgabe überprüft)
Des Weiteren findet sich in der Ausgabe von log4j kein Hinweis darauf, dass der Konstruktor überhaupt durchlaufen wird.
Hoffe einer von euch sieht vielleicht meinen Fehler. Ich bin da gerade vollkommen blind dafür. :-/
Danke
PS: Die NPE fliegt beim Zugriff auf die Instanzvariable iCalendar (definiert in CalendarTableModel) aus der Methode getRowCount heraus
Erzeugte Ausgabe:
*************************************************************************************
2008-04-01 18:50:50,297 DEBUG [main] SteuerhelferTest: Installed loggers
2008-04-01 18:50:50,334 DEBUG [main] CalendarTableModelTest: testCalendar
2008-04-01 18:50:50,335 DEBUG [main] CalendarTableModelTest: Calendar =====>java.util.GregorianCalendar[time=1207068650334,areFieldsSet=true,
areAllFieldsSet=true,lenient=true,
zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,
useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,
offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,
startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,
endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],
firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2008,MONTH=3,
WEEK_OF_YEAR=14,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,
DAY_OF_YEAR=92,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,
AM_PM=1,HOUR=6,HOUR_OF_DAY=18,MINUTE=50,SECOND=50,
MILLISECOND=334,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
2008-04-01 18:50:50,337 DEBUG [main] CalendarTableModel: getRowCount null
Zum Code:
Einstiegspunkt in den jUnit-Test
=====================================================================
=====================================================================
Einer der Tests: (CalendarTableModelTest)
=====================================================================
=====================================================================
CalendarTableModel: (Auszug)
=====================================================================
=====================================================================
Die Methode getRowCount(): (Hier fliegt die Exception)
=====================================================================
Ich habe gerade ein Problem, das ich mir nicht erklären kann. Im wesentlichen geht es darum, dass ich eine NullPointerException erhalte, die ich nicht verstehen kann.
Ich verwende das JDK 1.6.0_05.
Die Exception fliegt in der Methode getRowCount() meiner Klasse und eine Debug-Ausgabe gibt auch an, dass das Objekt NULL ist.
Allerdings wird das Objekt bei der Erzeugung der Instanzvariable schon initialisiert. Außerdem wird ihm im Konstruktor eigentlich ein Wert zugewiesen. (Dieser ist definitiv nicht NULL; mit Debug-Ausgabe überprüft)
Des Weiteren findet sich in der Ausgabe von log4j kein Hinweis darauf, dass der Konstruktor überhaupt durchlaufen wird.
Hoffe einer von euch sieht vielleicht meinen Fehler. Ich bin da gerade vollkommen blind dafür. :-/
Danke
PS: Die NPE fliegt beim Zugriff auf die Instanzvariable iCalendar (definiert in CalendarTableModel) aus der Methode getRowCount heraus
Erzeugte Ausgabe:
*************************************************************************************
2008-04-01 18:50:50,297 DEBUG [main] SteuerhelferTest: Installed loggers
2008-04-01 18:50:50,334 DEBUG [main] CalendarTableModelTest: testCalendar
2008-04-01 18:50:50,335 DEBUG [main] CalendarTableModelTest: Calendar =====>java.util.GregorianCalendar[time=1207068650334,areFieldsSet=true,
areAllFieldsSet=true,lenient=true,
zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,
useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,
offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,
startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,
endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],
firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2008,MONTH=3,
WEEK_OF_YEAR=14,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,
DAY_OF_YEAR=92,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,
AM_PM=1,HOUR=6,HOUR_OF_DAY=18,MINUTE=50,SECOND=50,
MILLISECOND=334,ZONE_OFFSET=3600000,DST_OFFSET=3600000]
2008-04-01 18:50:50,337 DEBUG [main] CalendarTableModel: getRowCount null
Zum Code:
Einstiegspunkt in den jUnit-Test
=====================================================================
Code:
public static Test suite()
{
DOMConfigurator.configure("log4j.xml");
cLogger.debug("Installed loggers");
TestSuite suite = new TestSuite("Test for de.bonnland.steuerhelfer.test");
//$JUnit-BEGIN$
suite.addTest(DRTestSuite.suite());
suite.addTest(DRGraphicalTestSuite.suite());
//$JUnit-END$
return suite;
}
=====================================================================
Einer der Tests: (CalendarTableModelTest)
=====================================================================
Code:
public void testCalendar() throws Exception
{
cLogger.debug("testCalendar");
GregorianCalendar tCalendar = new GregorianCalendar();
cLogger.debug("Calendar =====>" + tCalendar);
CalendarTableModel tModel = new CalendarTableModel(tCalendar);
tCalendar.set(2008, 3, 1);
assertEquals(6, tModel.getRowCount());
}
CalendarTableModel: (Auszug)
=====================================================================
Code:
private Calendar iCalendar = new GregorianCalendar();
**** Das ist der einzige Konstruktor
public CalendarTableModel(Calendar aCalendar)
{
cLogger.debug("Calendar-Parameter" + aCalendar);
iCalendar = aCalendar;
}
Die Methode getRowCount(): (Hier fliegt die Exception)
=====================================================================
Code:
public int getRowCount()
{
cLogger.debug("getRowCount " + iCalendar);
int tRowCount = 1;
iCalendar.set(Calendar.DAY_OF_MONTH, 1);
**** hier kommt noch einiges, aber die NPE fliegt in der letzten Zeile
}