bloggers bloggers

Marco Napolitano
Messaggi: 68
Stelle: 0
Data: 15/11/17
Jader Jed Francia
Messaggi: 50
Stelle: 0
Data: 22/09/17
Ezio Lombardi
Messaggi: 9
Stelle: 0
Data: 23/06/17
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
marcello marangio
Messaggi: 4
Stelle: 0
Data: 05/07/13
Marco Mancini
Messaggi: 1
Stelle: 0
Data: 05/06/13
Indietro

Impossibile creare entità Liferay contenenti la stringa Error

Stavo lavorando ad una portlet di importazione dati ed avevo la necessità di memorizzare nel database gli errori che si fossero verificati durante l'importazione; così ho creato, all'interno del file service.xml, una nuova entità chiamata ImportError.

Peccato che, ad ogni avvio del target Ant build-service, il build fallisse sempre senza un messaggio di errore che mi aiutasse a capirne il motivo.

Dopo un lungo momento di sconforto ho iniziato ad indagare meglio su cosa facesse esattamente lo script Ant ed ho scoperto il motivo.

In pratica il target Antbuild-service memorizza tutto l'output della console all'interno di una variabile ed alla fine della generazione dei file sorgenti Java, esegue questo test:

<if>
    <contains string="${build-service.output}" substring="Error" />
    <then>
        <fail>Service Builder generated exceptions.</fail>
    </then>
</if>

In pratica controlla se in tutto l'output della console è contenuta la stringa Error; ma nel mio caso è ovvio che ci sia tale stringa perchè la mia entità si chiama proprio ImportError.

La risoluzione del problema è stata quindi molto semplice: ho rinominato l'entità in ImportFail.

Il messaggio quindi è: non usate la stringa Error nei nomi delle vostre entità!

Precedente
Commenti
Aggiungi Commento
Marco Napolitano
Aggiungo inoltre che non potete usare nemmeno "Model" come nome di una vostra enità custom.
Inviato il 02/02/16 23.10.