Contribution et erreurs de compilation v1.4b1 (r89)

Répondre
Avatar du membre
bmalynovytch
Messages : 14
Enregistré le : jeu. janv. 22, 2015 8:51 am
Localisation : Clermont-Ferrand

jeu. janv. 22, 2015 9:08 am

Bonjour à tous,

Je surveille OpenConcerto depuis quelques mois, en vue de l'utiliser pour l'activité professionnelle de mon épouse.

En effectuant des tests, j'ai décelé quelques petits problèmes gênants (bugs ou features).
Etant un habitué des logiciels opensource et de la contribution communautaire, je souhaite proposer des patchs.

Problème, lorsque j'importe les sources "as is" dans Eclipse, j'ai 17 erreurs critiques (sans parler des 5702 warnings) :

Code : Tout sélectionner

Description	Resource	Path	Location	Type
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type CollectionMap2<K,L,V>	ListAbstractMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 20	Java Problem
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type CollectionMap2<K,LinkedList<V>,V>	LinkedListMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 21	Java Problem
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type CollectionMap2<K,List<V>,V>	ListMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 25	Java Problem
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type CollectionMap2<K,List<V>,V>	ListMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 66	Java Problem
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type CollectionMap2<K,Set<V>,V>	SetMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 25	Java Problem
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type CollectionMap2<K,Set<V>,V>	SetMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 66	Java Problem
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type UnmodifiableCollectionMap<K,List<V>,V>	ListMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 27	Java Problem
Duplicate methods named remove with the parameters (K, V) and (K, V) are defined by the type UnmodifiableCollectionMap<K,Set<V>,V>	SetMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 27	Java Problem
Name clash: The method remove(K, V) of type CollectionMap2<K,C,V> has the same erasure as remove(Object, Object) of type Map<K,V> but does not override it	CollectionMap2.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 475	Java Problem
Name clash: The method remove(K, V) of type CollectionMap2Itf<K,C,V> has the same erasure as remove(Object, Object) of type Map<K,V> but does not override it	CollectionMap2Itf.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 90	Java Problem
Name clash: The method remove(K, V) of type UnmodifiableCollectionMap<K,C,V> has the same erasure as remove(Object, Object) of type Map<K,V> but does not override it	UnmodifiableCollectionMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 230	Java Problem
The default method remove(Object, Object) inherited from Map<K,List<V>> conflicts with another method inherited from CollectionMap2Itf<K,List<V>,V>	CollectionMap2Itf.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 25	Java Problem
The default method remove(Object, Object) inherited from Map<K,Set<V>> conflicts with another method inherited from CollectionMap2Itf<K,Set<V>,V>	CollectionMap2Itf.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 28	Java Problem
The method getAncestor(int) from the type DBStructureItem<D> is not visible	DBStructureItem.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/sql/model	line 186	Java Problem
The return types are incompatible for the inherited methods Map.remove(Object, Object), MultiHashMap.remove(Object, Object)	CollectionMap.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/utils	line 40	Java Problem
The type SQLResultSet must implement the inherited abstract method ResultSet.getObject(int, Class<T>)	SQLResultSet.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/sql/model	line 48	Java Problem
The type SQLResultSet must implement the inherited abstract method ResultSet.getObject(String, Class<T>)	SQLResultSet.java	/OpenConcerto/OpenConcerto/src/org/openconcerto/sql/model	line 48	Java Problem
Dans la mesure où il me sera impossible de contribuer sans arriver à compiler, pourriez-vous m'aider à corriger ces problèmes ?

En vous remerciant, :ugeek:
Benjamin MALYNOVYTCH
Architecte des systèmes d'information
Ingénieur systèmes et réseaux
https://fr.linkedin.com/in/bmalynovytch
Avatar du membre
guillaume
Messages : 2434
Enregistré le : ven. févr. 11, 2011 7:15 pm

jeu. janv. 22, 2015 11:01 am

Bonjour,

Vu qu'ici ça compile parfaitement, voici avec quoi nous testons :
- Eclipse Indigo
- Sun/Oracle JDK 6

Les erreurs remontées sont liées à des bugs du compilateur.

Cordialement,
Directeur technique d'OpenConcerto qui dans son temps libre s'occupe du forum.
Pour une assistance pro, nous sommes joignables à ILM Informatique contre quelques jetons.
Pensez aussi à lire le manuel !
Avatar du membre
bmalynovytch
Messages : 14
Enregistré le : jeu. janv. 22, 2015 8:51 am
Localisation : Clermont-Ferrand

jeu. janv. 22, 2015 3:13 pm

Merci pour l'info.
Effectivement, j'utilisais le JDK 8 :roll:
Les warnings sont toujours là mais ça compile nickel !

Et pour ceux que ça intéresserait : Sun / Oracle ne fournit pas / plus le JDK 6 pour Mac OS X.
Il est disponible chez Apple directement : http://support.apple.com/kb/DL1572

En revanche, maintenant j'ai une erreur à l'exécution "de base" : :?

Code : Tout sélectionner

unknown field QTE_LIV_ATTENTE in STOCK. The table STOCK contains the followins fields: [QTE_REEL, ID_USER_COMMON_MODIFY, CREATION_DATE, ID_USER_COMMON_CREATE, ORDRE, ID, ARCHIVE, QTE_TH, MODIFICATION_DATE]
Je suppose que le schéma postgresql fourni sur le site n'est à jour avec les modifs faites au niveau des sources.
Dois-je mettre à jour avec l'outil "Configuration" ? Si oui, quelle est la classe principale pour le lancer ?

Merci :)
Benjamin MALYNOVYTCH
Architecte des systèmes d'information
Ingénieur systèmes et réseaux
https://fr.linkedin.com/in/bmalynovytch
ludovic
Messages : 265
Enregistré le : ven. avr. 15, 2011 2:32 pm

jeu. janv. 22, 2015 3:47 pm

Bonjour,

Effectivement vous devez mettre à jour la base, voici la classe pour lancer l'outil de configuration :
org.openconcerto.erp.config.ServerFinderPanel

Cordialement,
Ludovic.
Avatar du membre
bmalynovytch
Messages : 14
Enregistré le : jeu. janv. 22, 2015 8:51 am
Localisation : Clermont-Ferrand

jeu. janv. 22, 2015 4:47 pm

Merci Ludovic, ça marche aux petits oignons ;)
Benjamin MALYNOVYTCH
Architecte des systèmes d'information
Ingénieur systèmes et réseaux
https://fr.linkedin.com/in/bmalynovytch
Fred33
Messages : 5
Enregistré le : mar. mars 15, 2016 8:10 pm

ven. mars 25, 2016 7:05 am

Je me permet de ressortir ce post pour compléter l'information initial:
Pour ceux qui voudraient utiliser la dernière version d'Eclipse (Mars 2.0).
Il faut rajouter:
Dans Window->Preferences->Java->Compiler:
Compiler compliance level: il faut sélectionner 1.6 et pas supérieur.
Samuel_Burg
Messages : 144
Enregistré le : mer. juil. 22, 2015 12:17 pm

lun. juil. 18, 2016 6:12 pm

Bonjour,

je répond à mon propre post en l'éditant et en corrigeant les items erronés.

questions/remarques techniques :
(ce qui va probablement en faire rire l'un ou l'autre, mais j'assume)

- la compilation fonctionne avec Eclipse Luna, Eclipse Mars 2.0
(exécution de Eclipse avec un JRE 1.7 x64)

- la compilation fonctionne avec un JDK 1.8.0_92 x64,
en imposant un "Compiler compliance level = 1.6"

- via SVN, les sources doivent être récupérés séparément pour chaque projet pour que l'EDI de Eclipse trouvent et utilise comme il faut les fichiers de configuration des projets
Donc, par exemple pour le programme principal OpenConcerto :
ne pas utiliser : svn://code.openconcerto.org/openconcerto/trunk
mais utiliser le sous répertoire : code.openconcerto.org/openconcerto/trunk/OpenConcerto
et de même pour chaque module.

- la compilation nécessite d'avoir accès à plusieurs méthodes non publiques de la lib rt, ce qui déclenche une pelleté d'insultes de Eclipse, pour faire taire la bête, vous pouvez soit autoriser le strict nécessaire, soit bourrin vous autorisez tout:

* Propre: change the access restrictions: Package Explorer -> Properties -> Java Build Path -> Libraries -> expand the library entry, select "Access rules", "Edit..." and "Add..." a "Resolution: Accessible" with a corresponding rule pattern

* Bourrin: Preferences -> Java -> Compiler -> Errors / Warnings -> Deprecated and Restricted API -> Warning/Ignore

- une fois la compilation terminée, pour configurer la base :

* Projet -> src -> org.openconcerto.erp.config -> ServerFinderPanel.java -> Run As -> Java Aplication

- pour lancer le programme principal :

* Projet -> src -> org.openconcerto.erp.config -> Gestion.java -> Run As -> Java Aplication

Cordialement,

Samuel
Répondre