[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SessionContext i przechowywanie obiektów o wartości null



Cześć.

Mam takie rozważanie na temat SessionContext i przechowywania obiektów: w obecnej implementacji nie ma możliwości rozróżnienia czy do kontektu w ogóle został wrzucony obiekt czy został wrzucony obiekt o wartości null.

Innymi słowy chodzi mi o to że jeżeli pewna zmienna ma wartość null to jest to też pewna informacja, ale do kontektsu niestety nie da się jej wrzucić - labeo się wywala z komunikatem:

During hook execution:

java.lang.NullPointerException
at net.labeo.internal.webcore.SessionContextStoreImpl$SessionContextImpl.clone(SessionContextStoreImpl.java:396) at net.labeo.internal.webcore.SessionContextStoreImpl.setContextId(SessionContextStoreImpl.java:129)
	at net.labeo.internal.webcore.RunDataImpl.setContextId(RunDataImpl.java:847)
at net.labeo.internal.webcore.WebcoreServiceImpl.prepareRunData(WebcoreServiceImpl.java:775) at net.labeo.internal.webcore.WebcoreServiceImpl.doRequest(WebcoreServiceImpl.java:597)

Przedstawię jeszcze w trzech słowach po co tak kombinuje: chcę do listy dodać opcję filtrowania w zależności od dat. Daty są przechowane jako java.sql.Timestamp i jako takie chciałbym je rzucać do kontekstu. Może się zdarzyć że ktoś nie życzy sobie tego filtrowania i wtedy moje wartości związane z datami są równe "null" i jako takie chciałem je wepchnąć do kontekstu. Rozwiązanie okrężne jakie widzę to przechowanie dodatkowych znaczników określających czy filtr jest aktywny i, jeżeli nie, po prostu nie wstawiać żadnej daty do kontekstu. Ale jest to rozwiązania troszeczkę nadmiarowe.

Pytanie 1: czy ktoś rozumie mój problem i czy sądzicie że jest sens umożliwiać wpisywanie do kontekstu obiektów o wartości null?

Pytanie 2: czy możliwe jest dodanie do ContextSession metody containsAttribute(String name) i poprawienie błędu przedstawionego powyżej? Pytanie najprawdopodobniej do Rafała, ale jeżeli nie jest to niemożliwe to mogę się tego podjąć.

Pozdrawiam,
Marek.



Reply to: