Open pg1971 opened 8 months ago
En demandant la désactivation de la séquence de touches (grâce à la propriété "pacman.import.format = false
" dans le fichier de configuration : project.properties) on peut voir qu'effectivement la ligne d'import n'a pas été écrite.
Or cette ligne est expressément demandée en écriture au niveau d'Acceleo ! De plus cette problématique n'est présente que lors de la primo génération. Si on efface la classe [Nom de l'application]TokensConfiguration.java
et qu'on relance la demande de génération, la problématique n'est plus présente...
Pas de solution dans l'immédiat.
La problématique est tout simplement la suivante :
uniquement lors de la primo-génération, l'appel au service Java de gestion des imports n'est pas effectué et aucun import n'est écrit au niveau de la classe. Suite à l'organisation automatique des imports, toutes les autres lignes d'import sont alors écrites par Eclipse sauf celle concernant la classe "Base64
" puisque plusieurs imports sont possibles et nécessitent une intervention humaine.
La désactivation du cache sur ce générateur n'a pas influé sur le résultat.
Aussi étonnant que cela paraisse, il s'agit finalement d'une problématique liée à l'utilisation des balises 'user code'. Lors de la primo-génération acceleo ne rentre tout simplement pas dans le template de gestion des imports (uniquement pour cette classe alors que ce type de code est utilisé dans tout Pacman....). Donc le problème est en amont, directement au niveau du template qui est censé appeler le service Java.... Le problème est d'autant plus étonnant que justement, lors de la primo-génération, ces balises n'existent pas puisque aucun fichier n'est écrit....
Corrigé. Suite à une coquille, la classe était générée deux fois... dont la première fois déjà avec des balises 'user code' au niveau des imports..
Suite à une demande de génération "Import Swagger", la séquence de touche automatiquement lancée (CTRL + SHIFT + O) pour la réorganisation des imports tombe en erreur car elle ne peut effectuer l'import pour la clase Base64 (plusieurs imports sont possibles).