Ano, těžko si to představit. Kompletní popis by byl rozsáhlý. Ale stručně je to asi tak, že mám modul v NetBeans Platform, který poskytuje POJO jiným modulům. V určitý moment se z POJO stanou JPA managed entities. Odkazy, ale ale již existují např. z TableModelů Swingové JTable a ještě ke všemu v jiném dalším třetím modulu. Navíc si řízení a načítání modulů řídí NBP více méně podle sebe samo.
Jen výpis zrovna této NullPointerException je asi tak cca 90-100 volání :-) V téhle "džungli" se pak můžou dít věci a to je pak debugging jak má být :-) Dne 9. června 2011 10:29 Martin Beránek <[email protected]> napsal(a): > Dne 9.6.2011 09:15, Libor Jelinek napsal(a): > > Dobrý den! >> Chtěl bych probrat, jak by kdo řešil následující problém ochrany proti >> NullPointerException pokud s jednou referenční proměnnou pracuje >> současně více částí aplikace (více Swing formulářů nebo JPA perzisence a >> JavaServer Faces web GUI současně apod.). >> >> OrderItem item = new OrderItem(); >> >> /// V nějaké vrstvě se při vytváření položky nastaví nějaké hodnoty/ >> item.setPN(123); >> item.setQty(2); >> >> /// V jiné vrstvě uživatel smaže položku. Reference je na null./ >> item = null; >> >> /// Další vrstva to neví a zavolá, což //skončí chybou >> NullPointerException/ >> item.getPN();// >> >> Jak k tomu co nejlépe přistoupit? Mě napadají tak dvě možnosti: >> 1. Do do getter metod přidat kontrolu na na null a v tom případě vrátit >> např "-1". >> 2. Oznamovat si změny např. beanovským PropertyChangeListener, což by >> ale hodně zkomplikovalo kód. >> >> Budu rád za Vaše názory. >> Libor >> > > Nechápu jakým způsobem jste vlastně k tomuhle problému přišel. Pokud mám > metodu která s objektem pracuje a pak si musím na začátku zkontrolovat, > jestli mi někdo nepředal null. Ale v průběhu metody nejde nijak zvenku > znullovat objekt, na který držím referenci. > > -- > Martin Beránek > >
