martedì 24 luglio 2007

I deliri del databinding in JSF

In alcuni contesti JSF ha la brutta abitudine di silenziare alcune eccezioni rendendo molto più difficile la rilevazione dell'errore e la sua correzione.
Oggi mi è capitata una cosa del genere.

Grosso modo avevo un combobox che doveva mostrare una lista di ive, semplice no ? Il binding però l'avevo scritto sbagliato perchè si riferiva a un attributo di tipo stringa. In casi come questi non succede nulla a livello di log non c'è nessun avvertimento, neanche un warning. Ci si accorge che qualcosa non funziona perchè quando si clicca su un bottone, l'action o l'actionListener associato non viene scatenato. L'unico modo per poter leggere l'eccezione è associare al componente (meglio se a tutti i componenti della schermata) un UIMessage; in questo modo l'eccezione viene catturata e stampata a video.

Purtroppo questo piccolo accorgimento è obbligatorio se non si vuole impazzire nel debug !

domenica 22 luglio 2007

La cattedrale del mare

Da un paio di giorni ormai ho terminato di leggere "La cattedrale del mare" di Idelfonso Falcones (un avvocato appassionato di storia) e pubblicato da Longanesi.
L'opera ruota attorno alla costruzione di una chiesa e alla vita di due persone, padre e figlio nella Barcellona del XIV secolo. Non voglio fare ulteriori accenni alla trama dico soltanto che durante le prime pagine mi sembrava di leggere "I Pilastri della Terra"; l'impressione, però si è dissolta abbastanza velocemente.
Il libro si legge tutto d'un fiato, anche se a volte l'autore si disperde in alcune descrizioni; ovviamente non aspettatevi di avere una fedele riproduzione della realtà storica dell'epoca: le vicissitudini accadute ai due protagonisti hanno poco a che vedere con la vita dei loro contemporanei. Comunque l'opera è assolutamente indicata se state cercando uno di quei libri da leggere sotto l'ombrellone; inoltre se siete appassionati dei libri di Ken Follett questo primo debutto di Falcones vi piacerà sicuramente.

lunedì 2 luglio 2007

Import statici in java5

Ci sono molte novità introdotte in java5 che non mi piacciono la prima fra tutte la possibilità di usare gli import statici.

L'inutilità fatta java.

Permettono di scrivere cose del tipo:
import static java.lang.Math.cos;
...
public static void main(String[] args){
cos(3d);
}
La cosa veramente buffa è che nemmeno alla Sun credono in questa nuova feature tanto che qua sconsigliano persino il suo utilizzo.
Cito:
So when should you use static import? Very sparingly! Only use it when you'd otherwise be tempted to declare local copies of constants, or to abuse inheritance (the Constant Interface Antipattern). In other words, use it when you require frequent access to static members from one or two classes. If you overuse the static import feature, it can make your program unreadable and unmaintainable, polluting its namespace with all the static members you import. Readers of your code (including you, a few months after you wrote it) will not know which class a static member comes from. Importing all of the static members from a class can be particularly harmful to readability; if you need only one or two members, import them individually.


Invece di preoccuparsi a evitare il type erasure in compilazione dei generics perdono tempo in queste cavolate.