5.6 KiB
5.6 KiB
Guide de Migration UUID - Code Client
Vue d'ensemble
Ce document décrit les changements nécessaires dans le code client (unionflow-client-quarkus-primefaces-freya) pour utiliser UUID au lieu de Long.
Fichiers modifiés
Services Client (Interfaces REST)
MembreService.java
- ✅
obtenirParId(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
modifier(@PathParam("id") UUID id, ...)- Changé de Long vers UUID - ✅
supprimer(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
activer(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
desactiver(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
suspendre(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
radier(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
listerParAssociation(@PathParam("associationId") UUID associationId)- Changé de Long vers UUID - ✅
rechercher(..., @QueryParam("associationId") UUID associationId, ...)- Changé de Long vers UUID - ✅
exporterExcel(..., @QueryParam("associationId") UUID associationId, ...)- Changé de Long vers UUID - ✅
importerDonnees(..., @FormParam("associationId") UUID associationId)- Changé de Long vers UUID
AssociationService.java
- ✅
obtenirParId(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
modifier(@PathParam("id") UUID id, ...)- Changé de Long vers UUID - ✅
supprimer(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
activer(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
desactiver(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
suspendre(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
dissoudre(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
compterMembres(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
obtenirPerformance(@PathParam("id") UUID id)- Changé de Long vers UUID - ✅
PerformanceAssociationDTO.associationId- Changé de Long vers UUID
DTOs Client
MembreDTO.java
- ✅
private UUID id;- Changé de Long vers UUID - ✅
private UUID associationId;- Changé de Long vers UUID - ✅ Getters et setters mis à jour
AssociationDTO.java
- ✅
private UUID id;- Changé de Long vers UUID - ✅ Getters et setters mis à jour
Fichiers à mettre à jour (Beans JSF)
Les Beans JSF suivants utilisent encore Long et doivent être mis à jour :
Beans avec IDs Long dans les classes internes
-
UserSession.java
UserInfo.id: Long → UUIDEntiteInfo.id: Long → UUID
-
DemandesBean.java
DemandeItem.id: Long → UUIDGestionnaire.id: Long → UUID
-
UtilisateursBean.java
UtilisateurItem.id: Long → UUIDOrganisationItem.id: Long → UUID- Remplacer
setId(1L),setId(2L), etc. parUUID.randomUUID()
-
SuperAdminBean.java
AlerteItem.id: Long → UUID- Remplacer
setId(1L),setId(2L), etc. parUUID.randomUUID()
-
MembreRechercheBean.java
RechercheItem.id: Long → UUIDMembreItem.id: Long → UUID- Remplacer
setId(1L),setId(2L)parUUID.randomUUID()
-
MembreProfilBean.java
ActiviteItem.id: Long → UUID
-
EvenementsBean.java
EvenementItem.id: Long → UUID
-
EntitesGestionBean.java
EntiteItem.id: Long → UUID
-
DocumentsBean.java
DocumentItem.id: Long → UUIDCategorieItem.id: Long → UUID
-
DemandesAideBean.java
DemandeItem.id: Long → UUID
-
CotisationsGestionBean.java
CotisationItem.id: Long → UUIDMembreItem.id: Long → UUID
-
CotisationsBean.java
CotisationItem.id: Long → UUID
-
RapportsBean.java
RapportItem.id: Long → UUID
Beans avec données mockées
- SouscriptionBean.java :
souscriptionActive.setId(1L)→UUID.randomUUID() - FormulaireBean.java :
starter.setId(1L), etc. →UUID.randomUUID() - AdminFormulaireBean.java :
starter.setId(1L), etc. →UUID.randomUUID() - AuthenticationService.java : Tous les
setId(1L),setId(2L), etc. →UUID.randomUUID()
DTOs supplémentaires à vérifier
- SouscriptionDTO.java :
private Long id;→private UUID id; - FormulaireDTO.java :
private Long id;→private UUID id; - LoginResponse.java :
UserInfo.idetEntiteInfo.id→ UUID
Notes importantes
- Conversion automatique : JAX-RS/MicroProfile REST Client convertit automatiquement les UUID en String dans les URLs
- Validation : Les UUIDs sont validés automatiquement par JAX-RS
- Null safety : Vérifier que les UUIDs ne sont pas null avant utilisation
- Tests : Mettre à jour tous les tests qui utilisent des IDs Long
Exemple de migration
Avant
@GET
@Path("/{id}")
MembreDTO obtenirParId(@PathParam("id") Long id);
// Dans un Bean
membreService.obtenirParId(1L);
Après
@GET
@Path("/{id}")
MembreDTO obtenirParId(@PathParam("id") UUID id);
// Dans un Bean
UUID membreId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000");
membreService.obtenirParId(membreId);
Prochaines étapes
- ✅ Mettre à jour les services client (MembreService, AssociationService)
- ✅ Mettre à jour les DTOs principaux (MembreDTO, AssociationDTO)
- ⏳ Mettre à jour tous les Beans JSF
- ⏳ Mettre à jour les DTOs restants
- ⏳ Mettre à jour les données mockées dans AuthenticationService
- ⏳ Tester l'application complète
Support
Pour toute question concernant cette migration, contactez l'équipe UnionFlow.
Date de migration: 16 janvier 2025
Version: 2.0
Auteur: UnionFlow Team