Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
Service Builder genera classe non compilabile
Ciao a tutti, mi trovo alle prese con uno strano problema generato dal Service Builder che senza apparente motivo ha cominciato a generare una classe contenente due metodi equals con identica segnatura e quindi la classe risolta poi ovviamente non compilabile come segnalato da javac
i due metodi sono questi
[javac] Compiling 1 source file to ..../docroot/WEB-INF/service-classes
[javac] ----------
[javac] 1. ERROR in ..../model/ProcessControlPointCategoryWrapper.java (at line 838)
[javac] public boolean equals(java.lang.Object obj) {
[javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[javac] Duplicate method equals(Object) in type ProcessControlPointCategoryWrapper
[javac] ----------
[javac] 2. ERROR in ..../model/ProcessControlPointCategoryWrapper.java (at line 843)
[javac] public boolean equals(Object obj) {
[javac] ^^^^^^^^^^^^^^^^^^
[javac] Duplicate method equals(Object) in type ProcessControlPointCategoryWrapperi due metodi sono questi
@Override
public boolean equals(java.lang.Object obj) {
return _processControlPointCategory.equals(obj);
} @Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
} if (!(obj instanceof ProcessControlPointCategoryWrapper)) {
return false;
} ProcessControlPointCategoryWrapper processControlPointCategoryWrapper = (ProcessControlPointCategoryWrapper) obj; if (Validator.equals(_processControlPointCategory,
processControlPointCategoryWrapper._processControlPointCategory)) {
return true;
} return false;
}
Non ho cambiato nulla nel file service.xml quindi presumo che possa essere un effetto collaterale di qualche altra cosa ma non riesco a capire cosa. A qualcuno è mai successo una cosa del genere?ciao e grazie Marco
Ok, mistero risolto... ripensandoci era quasi facile :-)
In pratica per poter ordinare i miei array di oggetti di quel tipo avevo introdotto io un metodo equals(Object obj) nella implementazione del modello ProcessControlPointCategoryImpl e me ne ero totalmente scordato... la propagazione di quel metodo nei wrapper ha fatto il resto. E' bastato fare un equals con il tipo specifico ed il service ha ripreso a compilarsi correttamente.
ciaoMarco
In pratica per poter ordinare i miei array di oggetti di quel tipo avevo introdotto io un metodo equals(Object obj) nella implementazione del modello ProcessControlPointCategoryImpl e me ne ero totalmente scordato... la propagazione di quel metodo nei wrapper ha fatto il resto. E' bastato fare un equals con il tipo specifico ed il service ha ripreso a compilarsi correttamente.
ciaoMarco