<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Service Builder genera classe non compilabile</title>
  <link rel="self" href="https://liferay.dev/ca/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=119512126" />
  <subtitle>Service Builder genera classe non compilabile</subtitle>
  <id>https://liferay.dev/ca/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=119512126</id>
  <updated>2026-04-27T07:04:07Z</updated>
  <dc:date>2026-04-27T07:04:07Z</dc:date>
  <entry>
    <title>RE: Service Builder genera classe non compilabile</title>
    <link rel="alternate" href="https://liferay.dev/ca/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119513062" />
    <author>
      <name>Marco Azzalini</name>
    </author>
    <id>https://liferay.dev/ca/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119513062</id>
    <updated>2020-06-30T13:15:29Z</updated>
    <published>2020-06-30T13:15:29Z</published>
    <summary type="html">Ok, mistero risolto... ripensandoci era quasi facile :-)&lt;br /&gt;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&amp;#39; bastato fare un equals con il tipo specifico ed il service ha ripreso a compilarsi correttamente.&lt;br /&gt;ciaoMarco</summary>
    <dc:creator>Marco Azzalini</dc:creator>
    <dc:date>2020-06-30T13:15:29Z</dc:date>
  </entry>
  <entry>
    <title>Service Builder genera classe non compilabile</title>
    <link rel="alternate" href="https://liferay.dev/ca/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119512125" />
    <author>
      <name>Marco Azzalini</name>
    </author>
    <id>https://liferay.dev/ca/c/message_boards/find_message?p_l_id=119785294&amp;messageId=119512125</id>
    <updated>2020-06-30T09:55:08Z</updated>
    <published>2020-06-30T09:55:08Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;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&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;[javac] Compiling 1 source file to ..../docroot/WEB-INF/service-classes
&amp;amp;nbsp; &amp;amp;nbsp; [javac] ----------
&amp;amp;nbsp; &amp;amp;nbsp; [javac] 1. ERROR in ..../model/ProcessControlPointCategoryWrapper.java (at line 838)
&amp;amp;nbsp; &amp;amp;nbsp; [javac] &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;public boolean equals(java.lang.Object obj) {
&amp;amp;nbsp; &amp;amp;nbsp; [javac] &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
&amp;amp;nbsp; &amp;amp;nbsp; [javac] Duplicate method equals(Object) in type ProcessControlPointCategoryWrapper
&amp;amp;nbsp; &amp;amp;nbsp; [javac] ----------
&amp;amp;nbsp; &amp;amp;nbsp; [javac] 2. ERROR in ..../model/ProcessControlPointCategoryWrapper.java (at line 843)
&amp;amp;nbsp; &amp;amp;nbsp; [javac] &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;public boolean equals(Object obj) {
&amp;amp;nbsp; &amp;amp;nbsp; [javac] &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ^^^^^^^^^^^^^^^^^^
&amp;amp;nbsp; &amp;amp;nbsp; [javac] Duplicate method equals(Object) in type ProcessControlPointCategoryWrapper&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;i due metodi sono questi&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;pre&gt;&lt;code&gt; @Override
&amp;amp;nbsp; &amp;amp;nbsp; public boolean equals(java.lang.Object obj) {
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; return _processControlPointCategory.equals(obj);
&amp;amp;nbsp; &amp;amp;nbsp; }&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;nbsp; &amp;amp;nbsp; @Override
&amp;amp;nbsp; &amp;amp;nbsp; public boolean equals(Object obj) {
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; if (this == obj) {
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; return true;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; }&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; if (!(obj instanceof ProcessControlPointCategoryWrapper)) {
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; return false;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; }&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ProcessControlPointCategoryWrapper processControlPointCategoryWrapper = (ProcessControlPointCategoryWrapper) obj;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; if (Validator.equals(_processControlPointCategory,
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; processControlPointCategoryWrapper._processControlPointCategory)) {
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; return true;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; }&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; return false;
&amp;amp;nbsp; &amp;amp;nbsp; }

&lt;/code&gt;&lt;/pre&gt;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&amp;nbsp;Marco&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Marco Azzalini</dc:creator>
    <dc:date>2020-06-30T09:55:08Z</dc:date>
  </entry>
</feed>
