BUT it is also a T5 property so that could be T5 related.

The instance seems to created but the T5 property ledger is null after the
assignment.

2011/9/3 Gunnar Eketrapp <gunnar.eketr...@gmail.com>

> Hum .. sorry .. too early in the morning for me .. Ledger is a hibernate
> entity class and T5 should not be involved.
>
> I'll be right back ...
>
>
> 2011/9/3 Gunnar Eketrapp <gunnar.eketr...@gmail.com>
>
>> Hi !
>>
>> I have been happily hacking web sites with T5 for a year and half now and
>> is more then pleased!
>> Kudos to all of you for this excellent web framework that makes coding fun
>> again.
>>
>> And I have never ever encountered any defect in the T5 code.
>>
>> Now to my problem.
>>
>> I just got an error in an onActivate method that looked like it could not
>> happen.
>>
>> When steeping through it in my debugger I really get puzzled.
>>
>> A variable assigned inside a block is null after leaving the block.
>>
>> It must have something to do with the "plastering" of my code. Or !?
>>
>> The error I get is ..
>>
>> Caused by: java.lang.NullPointerException
>>        at
>> utskicket.pages.economy.EditYear._$advised$onActivate_13(EditYear.java:91)
>>
>> ... and in the debugger I can see that ledger is null at line 91.
>>
>> In the code below I have commented what happens in the debugger.
>>
>> Can anyone understand what could cause this error ...
>> I have stepped through the generated code without seeing anything strange.
>> It all looks great but when returning ledger is null.
>>
>> Do I break any rule / convention with my code !?
>>
>> Many many thanks in  advance,
>> Gunnar Eketrapp, Stockholm, Sweden
>>
>> Environment:
>> *jdk 1.6.0_22*
>> *t5.2.6*
>> *windows 7 proffesional, 32-bit*
>>
>>
>>     @Property
>>     private Ledger ledger;
>>
>>     @Property
>>     private String notice;
>>
>>     //
>> ------------------------------------------------------------------------------
>>     // -- Tapestry event methods - Tapestry event methods - Tapestry event
>> methods --
>>     //
>> ------------------------------------------------------------------------------
>>
>>     @Log
>>     Object onActivate(long groupId, long ledgerId) {
>>
>>         group = groupDAO.findById(groupId);
>>         if (group == null)
>>             return Index.class;
>>
>>         if (ledgerId != 0) {
>>             ledger = ledgerDAO.findById(ledgerId);
>>             if (ledger == null)
>>                 return Index.class;
>>             if (!same(group.getId(), ledger.getGroup().getId()))
>>                 return Index.class;
>>
>>             hasPrevious = (null != ledgerDAO.findPrevious(ledger));
>>             hasNext = (null != ledgerDAO.findNext(ledger));
>>             transactionCount = transactionDAO.countTransactions(ledger);
>>
>>         } else  {
>>             ledger = new Ledger(); * // 1: This one returns null !!!*
>>             Ledger lastLedger = ledgerDAO.findLast(group);
>>             if (null == lastLedger) {
>>                 UTDate today = new UTDate();
>>                 ledger.setStartDate(new UTDate(today.getYear(), 1, 1));
>> *// 2: This line ends the block!*
>>                 ledger.setEndDate(new UTDate(today.getYear(), 12, 31));
>>             } else {
>>
>> ledger.setStartDate(lastLedger.getStartDate().warpYears(1));
>>                 ledger.setEndDate(lastLedger.getEndDate().warpYears(1));
>>             }
>>         }
>>
>> *        if (ledger.getClosed())  // 3: And here we crash!*
>>             notice = "Året är stängt och kan inte ändras";
>>         else {
>>             if (!mayEdit())
>>                 notice = "Endast det senaste året kan ändras.";
>>             else if (!mayEditStarts())
>>                 notice = "Startdagen kan inte ändras då det finns tidigare
>> år.";
>>         }
>>
>>        return null;
>>     }
>>
>>
>
>
> --
> [Hem: 08-715 59 57, Mobil: 070-991 86 42]
> Allévägen 2A, 132 42 Saltsjö-Boo
>



-- 
[Hem: 08-715 59 57, Mobil: 070-991 86 42]
Allévägen 2A, 132 42 Saltsjö-Boo

Reply via email to