From 494d349fb67be74da49caae2794fda702f595fb4 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 16:29:11 +0000
Subject: [PATCH] rename packages
---
fdx_generator/src/main/java/com/megatim/fdxgenerator/controller/ValidateurFichierEditDialogController.java | 258 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 258 insertions(+), 0 deletions(-)
diff --git a/fdx_generator/src/main/java/com/megatim/fdxgenerator/controller/ValidateurFichierEditDialogController.java b/fdx_generator/src/main/java/com/megatim/fdxgenerator/controller/ValidateurFichierEditDialogController.java
new file mode 100644
index 0000000..a8a9958
--- /dev/null
+++ b/fdx_generator/src/main/java/com/megatim/fdxgenerator/controller/ValidateurFichierEditDialogController.java
@@ -0,0 +1,258 @@
+package com.megatim.fdxgenerator.controller;
+
+import com.megatimfx.common.abstracts.AbstractEditDialogController;
+import com.megatimfx.common.customdialogs.LoadinIndicatorDialogUtil;
+import com.megatimfx.common.dialogs.NotificationDialog;
+import com.megatimfx.common.dialogs.NotificationType;
+import com.megatimfx.common.enums.TypeOperation;
+import com.megatimfx.common.utils.ViewLoaderUtil;
+import com.megatim.fdxgenerator.App;
+import com.megatim.fdxgenerator.enums.DataType;
+import com.megatim.fdxgenerator.forms.StructureLigneEditFormController;
+import com.megatim.fdxgenerator.forms.ValidateurFichierEditFormController;
+import com.megatim.fdxgenerator.model.StructureLigne;
+import com.megatim.fdxgenerator.model.ValidateurFichier;
+import com.megatim.fdxgenerator.pojo.Delimiteur;
+import com.megatim.fdxgenerator.service.ValidateurFichierService;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ResourceBundle;
+import javafx.collections.ListChangeListener;
+import javafx.event.ActionEvent;
+import javafx.scene.Node;
+import javafx.scene.layout.Pane;
+import javafx.stage.Stage;
+
+public class ValidateurFichierEditDialogController extends AbstractEditDialogController<ValidateurFichier> {
+
+ private ValidateurFichierEditFormController validateurFichierEditFormController;
+
+ private StructureLigneEditDialogController structureLigneEditDialogController;
+
+ private ValidateurFichierService validateurFichierService = ValidateurFichierService.getInstance();
+
+ @Override
+ public void initialize(URL url, ResourceBundle rb) {
+ validateurFichierEditFormController = new ValidateurFichierEditFormController();
+ structureLigneEditDialogController = new StructureLigneEditDialogController();
+ structureLigneEditDialogController.setStructureLigneEditFormController(new StructureLigneEditFormController());
+ super.initialize(url, rb);
+ }
+
+ @Override
+ public String getTitle() {
+ return "Edition d'un validateur de fichier";
+ }
+
+ @Override
+ public Pane getContentFormPane() throws IOException {
+ return ViewLoaderUtil.getPaneFromFxmlFile(
+ validateurFichierEditFormController.getClass().getResource("ValidateurFichierEditForm.fxml"),
+ validateurFichierEditFormController
+ );
+ }
+
+ @Override
+ public Object getContentFormController() {
+ return validateurFichierEditFormController;
+ }
+
+ @Override
+ protected void beforeBindFormFieldWithCurrentObject(ValidateurFichier bindObject, Object formController, TypeOperation typeOperation) {
+
+ if (formController instanceof ValidateurFichierEditFormController) {
+ ValidateurFichierEditFormController controller = (ValidateurFichierEditFormController) formController;
+
+ if (typeOperation.equals(TypeOperation.VIEW) || typeOperation.equals(TypeOperation.UPDATE)) {
+
+ if (bindObject.getCodeDelimiteurColonne() != null) {
+ bindObject.setDelimiteurColonne(App.DELIMITEURS_COLONNE.get(bindObject.getCodeDelimiteurColonne()));
+ }
+
+ if (bindObject.getCodeDelimiteurLigne() != null) {
+ bindObject.setDelimiteurLigne(App.DELIMITEURS_LIGNE.get(bindObject.getCodeDelimiteurLigne()));
+ }
+
+ }
+
+ if (typeOperation.equals(TypeOperation.ADD) || typeOperation.equals(TypeOperation.UPDATE)) {
+
+ controller.getDelimiteurColonne().disableProperty()
+ .bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNull()
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNotEqualTo(DataType.CSV))
+ );
+
+ controller.getDelimiteurLigne().disableProperty()
+ .bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNull()
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNotEqualTo(DataType.CSV))
+ );
+
+ controller.getHeaderPresentCheckbox().disableProperty().bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNull()
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.TXT))
+ );
+
+ }
+ }
+ }
+
+ @Override
+ protected void afterBindFormFieldWithCurrentObject(ValidateurFichier bindObject, Object formController,
+ TypeOperation typeOperation
+ ) {
+
+ if (formController instanceof ValidateurFichierEditFormController) {
+
+ ValidateurFichierEditFormController controller = (ValidateurFichierEditFormController) formController;
+
+ controller.getStructureLigneAbstractTable().setController(structureLigneEditDialogController);
+
+ controller.getStructureLigneAbstractTable().getElementObservableList().sort((o1, o2) -> {
+ return Integer.valueOf(o1.getPosition()).compareTo(o2.getPosition());
+ });
+
+ structureLigneEditDialogController.setSelectedStructureLignes(controller.getStructureLigneAbstractTable().getElementObservableList());
+
+ switch (typeOperation) {
+
+ case ADD:
+
+ controller.getSaisieStructureLigneChecBox().setOnAction(event -> {
+
+ if (controller.getSaisieStructureLigneChecBox().isSelected()) {
+ int numberOfPosition = Integer.parseInt(controller.getNombrePositionTextField().getText());
+ structureLigneEditDialogController.getStructureLigneEditFormController().populatePositionComboBox(numberOfPosition);
+ }
+
+ });
+ controller.getTypeFichierAbstractSelectItem().selectedElementProperty().addListener((observable, oldValue, newValue) -> {
+
+ if (newValue != null) {
+ structureLigneEditDialogController.setTypeFichier(newValue);
+ }
+
+ });
+ break;
+
+ case UPDATE:
+
+ structureLigneEditDialogController.setTypeFichier(controller.getTypeFichierAbstractSelectItem().getSelectedElement());
+
+ controller.getSaisieStructureLigneChecBox().setSelected(true);
+ controller.getSaisieStructureLigneChecBox().setDisable(true);
+
+ break;
+
+ default:
+
+ controller.getSaisieStructureLigneChecBox().setSelected(true);
+ controller.getSaisieStructureLigneChecBox().setDisable(true);
+
+ break;
+ }
+
+ controller.getStructureLigneAbstractTable().getElementObservableList().addListener((ListChangeListener.Change<? extends StructureLigne> c) -> {
+
+ while (c.next()) {
+
+ if (c.wasAdded()) {
+
+ int start = c.getFrom();
+ int end = c.getTo();
+
+ for (int i = start; i < end; i++) {
+
+ StructureLigne structLigne = c.getList().get(i);
+
+ structLigne.setValidateurFichier(getCurrentObject());
+
+ structureLigneEditDialogController.getStructureLigneEditFormController().getList().remove(new Integer(structLigne.getPosition()));
+
+ structureLigneEditDialogController.getStructureLigneEditFormController().getList().sort((o1, o2) -> {
+ return o1.compareTo(o2);
+ });
+ }
+
+ } else if (c.wasRemoved()) {
+
+ for (StructureLigne structLigne : c.getRemoved()) {
+
+ structureLigneEditDialogController.getStructureLigneEditFormController().getList().add(structLigne.getPosition());
+
+ structureLigneEditDialogController.getStructureLigneEditFormController().getList().sort((o1, o2) -> {
+ return o1.compareTo(o2);
+ });
+
+ }
+ }
+
+ }
+ });
+
+ }
+
+ }
+
+ @Override
+ protected void afterBindCurrentObjectWithFormField(ValidateurFichier bindObject, Object formController,
+ TypeOperation typeOperation
+ ) {
+ ValidateurFichierEditFormController controller = (ValidateurFichierEditFormController) formController;
+ controller.getStructureLigneAbstractTable().setController(structureLigneEditDialogController);
+ if (typeOperation.equals(TypeOperation.ADD)) {
+ if (bindObject.getTypeFichier() != null) {
+ bindObject.setId(bindObject.getTypeFichier().getCode());
+ }
+ }
+ }
+
+ @Override
+ public boolean beforeSave(ActionEvent event) {
+ Boolean proceed = super.beforeSave(event);
+ Delimiteur delimiteurColonne = getCurrentObject().getDelimiteurColonne();
+ Delimiteur delimiteurLigne = getCurrentObject().getDelimiteurLigne();
+
+ if (delimiteurColonne != null) {
+ getCurrentObject().setCodeDelimiteurColonne(delimiteurColonne.getCode());
+ }
+
+ if (delimiteurLigne != null) {
+ getCurrentObject().setCodeDelimiteurLigne(delimiteurLigne.getCode());
+ }
+
+ if (proceed) {
+ if (getTypeOperation().equals(TypeOperation.ADD) || getTypeOperation().equals(TypeOperation.UPDATE)) {
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show();
+ proceed = getCurrentObject().getNombrePosition() == getCurrentObject().getStructureLignes().size();
+
+ if (!proceed) {
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+ Node source = (Node) event.getSource();
+ Stage parentStage = (Stage) source.getScene().getWindow();
+ NotificationDialog notificationDialog = new NotificationDialog(
+ "Vous devez remplir la structure de toutes les positions",
+ NotificationType.ERROR,
+ parentStage
+ );
+ notificationDialog.showNotification();
+ } else {
+ proceed = validateurFichierService.find(getCurrentObject()) != null;
+
+ if (!proceed) {
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+ Node source = (Node) event.getSource();
+ Stage parentStage = (Stage) source.getScene().getWindow();
+ NotificationDialog notificationDialog = new NotificationDialog(
+ "Il existe déjà un validateur de fichier associé à ce type de fichier",
+ NotificationType.ERROR,
+ parentStage
+ );
+ notificationDialog.showNotification();
+ }
+ }
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+ }
+ }
+ return proceed;
+ }
+
+}
--
Gitblit v1.10.0