From b3d0580439b9a00c7eb918085de1694151066004 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 16:02:49 +0000
Subject: [PATCH] rename packages
---
fdx_convert/src/main/java/com/megatim/fdxconvert/forms/FileToValidateEditFormController.java | 305 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 305 insertions(+), 0 deletions(-)
diff --git a/fdx_convert/src/main/java/com/megatim/fdxconvert/forms/FileToValidateEditFormController.java b/fdx_convert/src/main/java/com/megatim/fdxconvert/forms/FileToValidateEditFormController.java
new file mode 100644
index 0000000..c3189ec
--- /dev/null
+++ b/fdx_convert/src/main/java/com/megatim/fdxconvert/forms/FileToValidateEditFormController.java
@@ -0,0 +1,305 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.megatim.fdxconvert.forms;
+
+import com.megatimfx.common.annontations.Champ;
+import com.megatimfx.common.customcontrols.AbstractNestedEntityTable;
+import com.megatimfx.common.customcontrols.AbstractSelectionItem;
+import com.megatimfx.common.customcontrols.CustomFileChooser;
+import com.megatimfx.components.customdialogs.AlertMessageUtil;
+import com.megatimfx.components.customdialogs.LoadinIndicatorDialogUtil;
+import com.megatim.fdxconvert.App;
+import com.megatim.fdxconvert.controller.table.ConversionModelTable;
+import com.megatim.fdxconvert.controller.table.MetaAlphaNumeriqueTable;
+import com.megatim.fdxconvert.controller.table.TypeFichierTable;
+import com.megatim.fdxconvert.dao.TypeFichierDAO;
+import com.megatim.fdxconvert.enums.DataType;
+import com.megatim.fdxconvert.model.ConversionModel;
+import com.megatim.fdxconvert.pojo.Delimiteur;
+import com.megatim.fdxconvert.pojo.FileToValidate;
+import com.megatim.fdxconvert.model.MetaAlphaNumeriqueField;
+import com.megatim.fdxconvert.model.TypeFichier;
+import com.megatim.fdxconvert.service.ConversionModelService;
+import com.megatim.fdxconvert.service.MetaAlphaNumeriqueFieldService;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.ResourceBundle;
+import java.util.Set;
+import javafx.collections.FXCollections;
+import javafx.concurrent.Task;
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.control.CheckBox;
+import javafx.scene.control.ComboBox;
+import javafx.scene.control.TabPane;
+import javafx.util.Pair;
+
+/**
+ *
+ * @author STEPHANIE
+ */
+public class FileToValidateEditFormController implements Initializable {
+
+ @FXML
+ @Champ(mappedBy = "typeFichier", type = TypeFichier.class, update = false)
+ private AbstractSelectionItem<TypeFichier> typeFichierAbstractSelectItem;
+
+ @FXML
+ private AbstractSelectionItem<ConversionModel> conversionModelAbstractSelectItem;
+
+ @FXML
+ @Champ(mappedBy = "delimiteurLigne")
+ private ComboBox<Delimiteur> delimiteurLigne;
+
+ @FXML
+ @Champ(mappedBy = "delimiteurColonne")
+ private ComboBox<Delimiteur> delimiteurColonne;
+
+ @FXML
+ @Champ(mappedBy = "dataType")
+ private ComboBox<DataType> dataTypeComboBox;
+
+ @FXML
+ @Champ(mappedBy = "strictValidation", type = Boolean.class)
+ private CheckBox strictValidationCheckbox;
+
+ @FXML
+ @Champ(mappedBy = "headerPresent", type = Boolean.class)
+ private CheckBox headerPresentCheckbox;
+
+ @FXML
+ private CheckBox saisieAlphaNumeriqueFieldChecBox;
+
+ @FXML
+ @Champ(mappedBy = "filePath")
+ private CustomFileChooser fileToValidateFileChooser;
+
+ @FXML
+ @Champ(mappedBy = "metaAlphaNumeriqueFields", type = MetaAlphaNumeriqueField.class, update = true)
+ private AbstractNestedEntityTable<MetaAlphaNumeriqueField, FileToValidate> metaAlphaNumeriqueFieldAbstractTable;
+
+ @FXML
+ private TabPane tabPane;
+
+ @FXML
+ private CheckBox useExistingConversionModelCheckBox;
+
+ private final MetaAlphaNumeriqueFieldService metaAlphaNumeriqueFieldService = MetaAlphaNumeriqueFieldService.getInstance();
+
+ private final Set<TypeFichier> typeFichierSet = new HashSet<>();
+ private final Set<ConversionModel> conversionModelSet = new HashSet<>();
+
+ @Override
+ public void initialize(URL location, ResourceBundle resources) {
+ tabPane.setTabClosingPolicy(TabPane.TabClosingPolicy.UNAVAILABLE);
+
+ saisieAlphaNumeriqueFieldChecBox.setDisable(true);
+ metaAlphaNumeriqueFieldAbstractTable.setDisable(true);
+
+ delimiteurColonne.setPromptText("Sélectionnez un élément dans la liste");
+ delimiteurColonne.setItems(FXCollections.observableArrayList(
+ App.DELIMITEURS_COLONNE.values()
+ ));
+
+ delimiteurLigne.setPromptText("Sélectionnez un élément dans la liste");
+ delimiteurLigne.setItems(FXCollections.observableArrayList(
+ App.DELIMITEURS_LIGNE.values()
+ ));
+
+ delimiteurColonne.disableProperty().bind(dataTypeComboBox.getSelectionModel().selectedItemProperty().isNull()
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLS))
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLSX))
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON))
+ );
+
+ delimiteurLigne.disableProperty().bind(dataTypeComboBox.getSelectionModel().selectedItemProperty().isNull()
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLS))
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLSX))
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON))
+ );
+
+ strictValidationCheckbox.disableProperty().bind(dataTypeComboBox.getSelectionModel().selectedItemProperty().isNull()
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isNotEqualTo(DataType.TXT))
+ .or(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON))
+ );
+
+ useExistingConversionModelCheckBox.disableProperty().bind(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON));
+ conversionModelAbstractSelectItem.disableProperty().bind(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON));
+ headerPresentCheckbox.disableProperty().bind(dataTypeComboBox.getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON));
+
+ dataTypeComboBox.setPromptText("Sélectionnez un élément dans la liste");
+
+ dataTypeComboBox.setItems(FXCollections.observableArrayList(
+ DataType.values()
+ ));
+
+ typeFichierAbstractSelectItem.setTitle("Choix du type de fichier");
+ typeFichierAbstractSelectItem.setColumns(Arrays.asList(
+ TypeFichierTable.codeColumn(),
+ TypeFichierTable.libelleColumn()
+ ));
+ typeFichierAbstractSelectItem.setSearchFieldPairs(Arrays.asList(
+ new Pair<>("code", "Code"),
+ new Pair<>("libelle", "Libellé")
+ ));
+
+ conversionModelAbstractSelectItem.setTitle("Choix du modèle de conversion");
+ conversionModelAbstractSelectItem.setColumns(Arrays.asList(
+ ConversionModelTable.libelleColumn(),
+ ConversionModelTable.typeFichierColumn(), ConversionModelTable.dataTypeColumn(),
+ ConversionModelTable.headerPresentColumn(), ConversionModelTable.strictValidationColumn(),
+ ConversionModelTable.delimiteurLigneColumn(),
+ ConversionModelTable.delimiteurColonneColumn()
+ ));
+ conversionModelAbstractSelectItem.setSearchFieldPairs(Arrays.asList(
+ new Pair<>("libelle", "Libellé")
+ ));
+
+ metaAlphaNumeriqueFieldAbstractTable.setClazz(MetaAlphaNumeriqueField.class);
+ metaAlphaNumeriqueFieldAbstractTable.setColums(Arrays.asList(
+ MetaAlphaNumeriqueTable.typeFichierColumn(),MetaAlphaNumeriqueTable.typeDonneeColumn(),
+ MetaAlphaNumeriqueTable.codeColonneColumn(),
+ MetaAlphaNumeriqueTable.tailleColonneColumn(),
+ MetaAlphaNumeriqueTable.indexColonneColumn()
+ ));
+
+ metaAlphaNumeriqueFieldAbstractTable.setGenericCrudService(metaAlphaNumeriqueFieldService);
+
+ saisieAlphaNumeriqueFieldChecBox.setOnAction(event -> {
+ typeFichierAbstractSelectItem.setDisable(saisieAlphaNumeriqueFieldChecBox.isSelected());
+ });
+
+ saisieAlphaNumeriqueFieldChecBox.selectedProperty().addListener((observable, oldValue, newValue) -> {
+
+ if (newValue) {
+ typeFichierAbstractSelectItem.setDisable(true);
+ saisieAlphaNumeriqueFieldChecBox.setDisable(true);
+ }
+ });
+
+ typeFichierAbstractSelectItem.selectedElementProperty().addListener((observable, oldValue, newValue) -> {
+ if (newValue != null) {
+ saisieAlphaNumeriqueFieldChecBox.setDisable(typeFichierAbstractSelectItem == null);
+ }
+ });
+
+ conversionModelAbstractSelectItem.selectedElementProperty().addListener((observable, oldValue, newValue) -> {
+
+ if (newValue != null) {
+ dataTypeComboBox.setValue(newValue.getDataType());
+
+ if (newValue.getCodeDelimiteurColonne()!= null) {
+ delimiteurColonne.setValue(App.DELIMITEURS_COLONNE.get(newValue.getCodeDelimiteurColonne()));
+ }
+
+ if (newValue.getCodeDelimiteurLigne()!= null) {
+ delimiteurLigne.setValue(App.DELIMITEURS_LIGNE.get(newValue.getCodeDelimiteurLigne()));
+ }
+
+ strictValidationCheckbox.setSelected(newValue.isStrictValidation());
+
+ headerPresentCheckbox.setSelected(newValue.isHeaderPresent());
+
+ metaAlphaNumeriqueFieldAbstractTable.setElements(newValue.getMetaAlphaNumeriqueFields());
+
+ typeFichierAbstractSelectItem.setOldElement(newValue.getTypeFichier());
+ }
+ });
+
+ conversionModelAbstractSelectItem.disableProperty().bind(useExistingConversionModelCheckBox.selectedProperty().not());
+
+ initElements();
+ }
+
+ public ComboBox<DataType> getDataTypeComboBox() {
+ return dataTypeComboBox;
+ }
+
+ private void initElements() {
+ Task<Void> task = new Task() {
+ @Override
+ protected Object call() throws Exception {
+ typeFichierSet.clear();
+ typeFichierSet.addAll(TypeFichierDAO.getAllTypeFichierWithValidateur());
+ typeFichierSet.addAll(TypeFichierDAO.getAllTypeFichierWithModelJson());
+
+ return null;
+ }
+ };
+ task.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show());
+ task.setOnSucceeded(e -> {
+ typeFichierAbstractSelectItem.setElements(typeFichierSet);
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+
+ });
+ task.setOnFailed(e -> {
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+ AlertMessageUtil.showAlertException(task.getException(),
+ "Une exception s'est produite pendant le traitement", "Erreur");
+ });
+ Thread thread = new Thread(task);
+ thread.setDaemon(true);
+ thread.start();
+
+ Task<Void> task1 = new Task() {
+ @Override
+ protected Object call() throws Exception {
+ conversionModelSet.clear();
+ conversionModelSet.addAll(ConversionModelService.getInstance().getAll());
+
+ return null;
+ }
+ };
+ task1.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show());
+ task1.setOnSucceeded(e -> {
+ conversionModelAbstractSelectItem.setElements(conversionModelSet);
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+
+ });
+ task1.setOnFailed(e -> {
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+ AlertMessageUtil.showAlertException(task1.getException(),
+ "Une exception s'est produite pendant le traitement", "Erreur");
+ });
+ Thread thread1 = new Thread(task1);
+ thread1.setDaemon(true);
+ thread1.start();
+
+ }
+
+ public AbstractSelectionItem<TypeFichier> getTypeFichierAbstractSelectItem() {
+ return typeFichierAbstractSelectItem;
+ }
+
+ public CheckBox getSaisieAlphaNumeriqueFieldChecBox() {
+ return saisieAlphaNumeriqueFieldChecBox;
+ }
+
+ public void setSaisieAlphaNumeriqueFieldChecBox(CheckBox saisieAlphaNumeriqueFieldChecBox) {
+ this.saisieAlphaNumeriqueFieldChecBox = saisieAlphaNumeriqueFieldChecBox;
+ }
+
+ public void setTypeFichierAbstractSelectItem(AbstractSelectionItem<TypeFichier> typeFichierAbstractSelectItem) {
+ this.typeFichierAbstractSelectItem = typeFichierAbstractSelectItem;
+ }
+
+ public AbstractNestedEntityTable<MetaAlphaNumeriqueField, FileToValidate> getMetaAlphaNumeriqueFieldAbstractTable() {
+ return metaAlphaNumeriqueFieldAbstractTable;
+ }
+
+ public void setMetaAlphaNumeriqueFieldAbstractTable(AbstractNestedEntityTable<MetaAlphaNumeriqueField, FileToValidate> metaAlphaNumeriqueFieldAbstractTable) {
+ this.metaAlphaNumeriqueFieldAbstractTable = metaAlphaNumeriqueFieldAbstractTable;
+ }
+
+ public CheckBox getStrictValidationCheckbox() {
+ return strictValidationCheckbox;
+ }
+
+ public void setStrictValidationCheckbox(CheckBox strictValidationCheckbox) {
+ this.strictValidationCheckbox = strictValidationCheckbox;
+ }
+
+}
--
Gitblit v1.10.0