Service Builder genera classe non compilabile

thumbnail
Marco Azzalini, modified 5 Years ago. Regular Member Posts: 146 Join Date: 11/18/14 Recent Posts
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

[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 ProcessControlPointCategoryWrapper


i 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
thumbnail
Marco Azzalini, modified 5 Years ago. Regular Member Posts: 146 Join Date: 11/18/14 Recent Posts
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