Structure AMP et modification classe native

cancel
Showing results for 
Search instead for 
Did you mean: 
jnjp28
Member II

Structure AMP et modification classe native

Bon jour,

je suis en train de développer un AMP dans le cadre de mon projet.

Pour les besoin de mon projet je dois modifier la visibilité de classe native de paskage a public par exemple.

J'ai compilé ces classes et je les ai mis dans /WEB-INF/classes/… de mon AMP (mon file-mapping contient l'entrée /WEB-INF=/WEB-INF)  afin que le module de déploiement AMP remplacent les classes natives par les miennes.

J'aurai aimé savoir si c'était la bonne solution pour modifier des classes natives comme par exemple "ModeratedInvitationImpl".

Merci pour votre retour.
2 Replies
cleseach
Active Member II

Re: Structure AMP et modification classe native

Bonjour,

C'est généralement une très mauvaise habitude de vouloir modifier directement les classes natives d'un produit.
Alfresco dispose de nombreux points d'extension qui permettent de réaliser des choses un peut plus maintenables.

Dans votre exemple de "ModeratedInvitationImpl", je vous invite à regarder où elle est utilisée, puis à définir votre propre implémentation du service qui en fait usage afin d'utiliser une classe "MyModeratedInvitationImpl" (le choix du nom est à votre convenance) qui corresponde à vos attentes.

Si vous souhaitez continuer dans la voie alternative (peut-être plus rapide, mais plus sombre) que vous décrivez, essayez de déposer votre classe à la main dans la webapp avant de faire un module AMP. Je ne suis pas sûr des résultat en posant la classes dans le dossier WEB-INF/classes… 

Cordialement,
Charles Le Seac'h
jnjp28
Member II

Re: Structure AMP et modification classe native

Merci pour votre réponse,

je suis d'accord sur vos remarques mais certaines classes ont des constructeur dont la visibilité est "package".

Je trouve ça un peu dommage que de tels contraintes soient appliquées empêchant ainsi tout héritage depuis une classe se trouvant dans le package du module.