From 23a46b4be35277e06ec89f48730eeb694e686be8 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 15:40:06 +0000
Subject: [PATCH] add fdx-commons and fdx-consultation

---
 fdx-commons/fdxcommons-model/src/main/java/com/megatim/fdxcommons/model/mappers/MapStructMapper.java |  185 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 185 insertions(+), 0 deletions(-)

diff --git a/fdx-commons/fdxcommons-model/src/main/java/com/megatim/fdxcommons/model/mappers/MapStructMapper.java b/fdx-commons/fdxcommons-model/src/main/java/com/megatim/fdxcommons/model/mappers/MapStructMapper.java
new file mode 100644
index 0000000..e4416a8
--- /dev/null
+++ b/fdx-commons/fdxcommons-model/src/main/java/com/megatim/fdxcommons/model/mappers/MapStructMapper.java
@@ -0,0 +1,185 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template
+ */
+package com.megatim.fdxcommons.model.mappers;
+
+import com.megatim.fdxcommons.model.dataproduction.CommonDataProduction;
+import com.megatim.fdxcommons.model.dataproduction.DataProductionSource;
+import com.megatim.fdxcommons.model.dataproduction.metadata.ProductionMetaData;
+import com.megatim.fdxcommons.model.dtos.dataproduction.CommonDataProductionDto;
+import com.megatim.fdxcommons.model.dtos.dataproduction.ProductionMetaDataDto;
+import com.megatim.fdxcommons.model.dtos.integration.ColumnDefinitionDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ExtensionFichierDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ExtensionFichierSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.GroupeNoeudDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.GroupeNoeudSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.GroupeParticipantDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.GroupeParticipantSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.NoeudDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.NoeudSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ParticipantDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ParticipantSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.PaysDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.PaysSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ReferentielDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ReferentielSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.RoutageDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.RoutageSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.TypeFichierDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.TypeFichierSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ValidateurFichierConfigurationDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ValidateurFichierConfigurationSlimDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ValidateurFichierDto;
+import com.megatim.fdxcommons.model.dtos.referentiel.ValidateurFichierSlimDto;
+import com.megatim.fdxcommons.model.enumeration.TypeDonnee;
+import com.megatim.fdxcommons.model.enumeration.TypeOperation;
+import com.megatim.fdxcommons.model.integration.ColumnDefinition;
+import com.megatim.fdxcommons.model.pojo.CriteriaEntity;
+import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
+import com.megatim.fdxcommons.model.referentiel.ExtensionFichier;
+import com.megatim.fdxcommons.model.referentiel.GroupeNoeud;
+import com.megatim.fdxcommons.model.referentiel.GroupeParticipant;
+import com.megatim.fdxcommons.model.referentiel.Noeud;
+import com.megatim.fdxcommons.model.referentiel.Participant;
+import com.megatim.fdxcommons.model.referentiel.Pays;
+import com.megatim.fdxcommons.model.referentiel.Referentiel;
+import com.megatim.fdxcommons.model.referentiel.Routage;
+import com.megatim.fdxcommons.model.referentiel.TypeFichier;
+import com.megatim.fdxcommons.model.referentiel.ValidateurFichier;
+import com.megatim.fdxcommons.model.referentiel.ValidateurFichierConfiguration;
+import java.util.List;
+import org.mapstruct.InjectionStrategy;
+import org.mapstruct.Mapper;
+import org.mapstruct.MappingConstants;
+import org.mapstruct.ValueMapping;
+
+/**
+ *
+ * @author ASUS
+ */
+@Mapper(componentModel = "cdi", injectionStrategy = InjectionStrategy.FIELD)
+public interface MapStructMapper {
+
+    ExtensionFichierDto extensionFichierToExtensionFichierDto(ExtensionFichier extensionFichier);
+
+    ExtensionFichierSlimDto extensionFichierToExtensionFichierSlimDto(ExtensionFichier extensionFichier);
+
+    List<ExtensionFichierDto> extensionFichierListToExtensionFichierDtoList(List<ExtensionFichier> extensionFichiers);
+
+    GroupeNoeudDto groupeNoeudToGroupeNoeudDto(GroupeNoeud groupeNoeud);
+
+    GroupeNoeudSlimDto groupeNoeudToGroupeNoeudSlimDto(GroupeNoeud groupeNoeud);
+
+    List<GroupeNoeudDto> groupeNoeudListToGroupeNoeudDtoList(List<GroupeNoeud> groupeNoeuds);
+
+    GroupeParticipantDto groupeParticipantToGroupeParticipantDto(GroupeParticipant groupeParticipant);
+
+    GroupeParticipantSlimDto groupeParticipantToGroupeParticipantSlimDto(GroupeParticipant groupeParticipant);
+
+    List<GroupeParticipantDto> groupeParticipantListToGroupeParticipantDtoList(List<GroupeParticipant> groupeParticipants);
+
+    NoeudDto noeudToNoeudDto(Noeud noeud);
+
+    List<NoeudDto> noeudListToNoeudDtoList(List<Noeud> noeuds);
+
+    NoeudSlimDto noeudToNoeudSlimDto(Noeud noeud);
+
+    ParticipantDto participantToPartcipantDto(Participant participant);
+
+    List<ParticipantDto> participantListToParticipantDtoList(List<Participant> participants);
+
+    ParticipantSlimDto participantToParticipantSlimDto(Participant participant);
+
+    List<ParticipantSlimDto> participantListToPartcipantSlimDtoList(List<Participant> participants);
+
+    PaysDto paysToPaysDto(Pays pays);
+
+    List<PaysDto> paysListToPaysDtoList(List<Pays> pays);
+
+    PaysSlimDto paysToPaysSlimDto(Pays pays);
+
+    List<PaysSlimDto> paysListToPaysSlimDtoList(List<Pays> pays);
+
+    ReferentielDto referentielToReferentielDto(Referentiel referentiel);
+
+    ReferentielSlimDto referentielToReferentielSlimDto(Referentiel referentiel);
+
+    List<ReferentielDto> referentielListToReferentielDtoList(List<Referentiel> referentiels);
+
+    RoutageDto routageToRoutageDto(Routage routage);
+
+    RoutageSlimDto routageToRoutageSlimDto(Routage routage);
+
+    List<RoutageDto> routageListToRoutageDtoList(List<Routage> routages);
+
+    TypeFichierDto typeFichierToTypeFichierDto(TypeFichier typeFichier);
+
+    TypeFichierSlimDto typeFichierToTypeFichierSlimDto(TypeFichier typeFichier);
+
+    TypeFichier typeFichierSlimDtoToTypeFichier(TypeFichierSlimDto typeFichier);
+
+    List<TypeFichierDto> typeFichierListToTypeFichierDtoList(List<TypeFichier> typeFichiers);
+
+    ValidateurFichierConfigurationDto validateurFichierConfigurationToValidateurFichierConfigurationDto(ValidateurFichierConfiguration validateurFichierConfiguration);
+
+    ValidateurFichierConfigurationSlimDto validateurFichierConfigurationToValidateurFichierConfigurationSlimDto(ValidateurFichierConfiguration validateurFichierConfiguration);
+
+    List<ValidateurFichierConfigurationDto> validateurFichierConfigurationListToValidateurFichierConfigurationDtoList(List<ValidateurFichierConfiguration> validateurFichierConfigurations);
+
+    ValidateurFichierDto validateurFichierToValidateurFichierDto(ValidateurFichier validateurFichier);
+
+    ValidateurFichierSlimDto validateurFichierToValidateurFichierSlimDto(ValidateurFichier validateurFichier);
+
+    List<ValidateurFichierDto> validateurFichierListToValidateurFichierDtoList(List<ValidateurFichier> validateurFichiers);
+
+    @ValueMapping(target = MappingConstants.NULL, source = MappingConstants.ANY_UNMAPPED)
+    @ValueMapping(target = "NUMERIQUE", source = "NUMERIQUE")
+    @ValueMapping(target = "ALPHANUMERIQUE", source = "ALPHANUMERIQUE")
+    @ValueMapping(target = "DATE", source = "DATE")
+    @ValueMapping(target = "DECIMAL", source = "DECIMAL")
+    TypeDonnee stringToTypeDonnee(String typeDonnee);
+
+    String typeOperationToString(TypeOperation typeOperation);
+
+    ColumnDefinitionDto columnDefinitionToColumnDefinitionDto(ColumnDefinition columnDefinitionDto);
+
+    List<ColumnDefinitionDto> columnDefinitionListToColumnDefinitionDtoList(List<ColumnDefinition> data);
+
+    default CriteriaEntity criteriaEntityFromViewToCriteriaEntity(CriteriaEntityFromView ce) {
+        if (ce == null
+                || (ce.getSubCriterias() == null || ce.getSubCriterias().isEmpty()
+                && (ce.getNomColonne() == null || ce.getNomColonne().isEmpty()
+                || ce.getOperateur() == null || ce.getOperateur() == null))) {
+            return null;
+        } else {
+            if (ce.getSubCriterias() != null && !ce.getSubCriterias().isEmpty()) {
+                CriteriaEntity finalCriterion = new CriteriaEntity();
+                finalCriterion.setCriteriaLogicConnector(ce.getCriteriaLogicConnector());
+
+                for (CriteriaEntityFromView cev : ce.getSubCriterias()) {
+                    CriteriaEntity criteriaEntity = criteriaEntityFromViewToCriteriaEntity(cev);
+                    if (criteriaEntity != null) {
+                        finalCriterion.getSubCriterias().add(criteriaEntity);
+                    }
+                }
+                return finalCriterion;
+            } else {
+                return new CriteriaEntity(ce.getNomColonne(), ce.getCriteriaValue(), ce.getOperateur(), ce.isEndOfTheDay());
+            }
+        }
+    }
+
+    List<CriteriaEntity> criteriaEntityFromViewListToCriteriaEntityList(List<CriteriaEntityFromView> ces);
+
+    String dataProductionSourceToString(DataProductionSource source);
+
+    CriteriaEntityFromView criteriaEntityToCriteriaEntityFromView(CriteriaEntity ce);
+
+    ProductionMetaDataDto productionMetaDataToProductionMetaDataDto(ProductionMetaData metatData);
+
+    CommonDataProductionDto commonDataProductionToCommonDataProductionDto(CommonDataProduction cd);
+
+    ProductionMetaData productionMetaDataDtoToProductionMetaData(ProductionMetaDataDto dto);
+
+}

--
Gitblit v1.10.0