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/controller/TacheEditDialogController.java | 360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 360 insertions(+), 0 deletions(-)
diff --git a/fdx_convert/src/main/java/com/megatim/fdxconvert/controller/TacheEditDialogController.java b/fdx_convert/src/main/java/com/megatim/fdxconvert/controller/TacheEditDialogController.java
new file mode 100644
index 0000000..9cf1299
--- /dev/null
+++ b/fdx_convert/src/main/java/com/megatim/fdxconvert/controller/TacheEditDialogController.java
@@ -0,0 +1,360 @@
+package com.megatim.fdxconvert.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.ConfirmationType;
+import com.megatimfx.common.enums.TypeOperation;
+import com.megatim.fdxconvert.App;
+import com.megatim.fdxconvert.enums.DataType;
+import com.megatim.fdxconvert.forms.MetaAlphaNumeriqueFieldEditFormController;
+import com.megatim.fdxconvert.forms.TacheEditFormController;
+import com.megatim.fdxconvert.model.AlphaNumeriqueField;
+import com.megatim.fdxconvert.pojo.Delimiteur;
+import com.megatim.fdxconvert.model.MetaAlphaNumeriqueField;
+import com.megatim.fdxconvert.model.Tache;
+import com.megatim.fdxconvert.service.MetaAlphaNumeriqueFieldService;
+import com.megatim.fdxconvert.service.TacheJobService;
+import com.megatim.fdxconvert.service.TacheService;
+import java.io.IOException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.ResourceBundle;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.event.ActionEvent;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Node;
+import javafx.scene.Parent;
+import javafx.scene.layout.Pane;
+import javafx.stage.Stage;
+
+/**
+ *
+ * @author MGT_DEV3
+ */
+public class TacheEditDialogController extends AbstractEditDialogController<Tache> {
+
+ private TacheEditFormController tacheEditFormController;
+ private MetaAlphaNumeriqueFieldEditDialogController metaAlphaNumeriqueFieldEditDialogController;
+ private Map<String, AlphaNumeriqueField> newAlphaFields = new HashMap<>();
+
+ @Override
+ public void initialize(URL url, ResourceBundle rb) {
+ tacheEditFormController = new TacheEditFormController();
+ metaAlphaNumeriqueFieldEditDialogController = new MetaAlphaNumeriqueFieldEditDialogController();
+
+ metaAlphaNumeriqueFieldEditDialogController.setAlphaNumeriqueFieldEditFormController(new MetaAlphaNumeriqueFieldEditFormController());
+
+ super.initialize(url, rb);
+ }
+
+ @Override
+ public String getTitle() {
+ return "Editer une tâche";
+ }
+
+ @Override
+ public Pane getContentFormPane() throws IOException {
+ FXMLLoader loader = new FXMLLoader(TacheEditFormController.class.getResource("TacheEditForm.fxml"));
+ loader.setControllerFactory(param -> tacheEditFormController);
+ Parent parent = loader.load();
+ return (Pane) parent;
+ }
+
+ @Override
+ public Object getContentFormController() {
+ return tacheEditFormController;
+ }
+
+ @Override
+ protected void afterBindCurrentObjectWithFormField(Tache bindObject, Object formController, TypeOperation typeOperation) {
+
+ TacheEditFormController controller = (TacheEditFormController) formController;
+
+ controller.getMetaAlphaNumeriqueFieldAbstractTable().setController(metaAlphaNumeriqueFieldEditDialogController);
+ }
+
+ @Override
+ protected void afterBindFormFieldWithCurrentObject(Tache bindObject, Object formController, TypeOperation typeOperation) {
+
+ if (formController instanceof TacheEditFormController) {
+
+ TacheEditFormController controller = (TacheEditFormController) formController;
+
+ controller.getMetaAlphaNumeriqueFieldAbstractTable().setController(metaAlphaNumeriqueFieldEditDialogController);
+
+ //metaAlphaNumeriqueFieldEditDialogController.setSelectedMetaAlphaNumeriqueFields(controller.getMetaAlphaNumeriqueFieldAbstractTable().getElementObservableList());
+ switch (typeOperation) {
+
+ case ADD:
+
+ controller.getTypeFichierAbstractSelectItem().selectedElementProperty().addListener((observable, oldValue, newValue) -> {
+
+ if (newValue != null) {
+ metaAlphaNumeriqueFieldEditDialogController.getAlphaNumeriqueFieldEditFormController().setTypeFichier(newValue);
+ controller.getSaisieAlphaNumeriqueFieldChecBox().setDisable(false);
+ }
+
+ });
+
+ controller.getSaisieAlphaNumeriqueFieldChecBox().selectedProperty().addListener(listener -> {
+
+ if (controller.getSaisieAlphaNumeriqueFieldChecBox().isSelected()) {
+ controller.getMetaAlphaNumeriqueFieldAbstractTable().setDisable(false);
+ }
+ });
+ break;
+
+ case UPDATE:
+
+ metaAlphaNumeriqueFieldEditDialogController.getAlphaNumeriqueFieldEditFormController()
+ .setTypeFichier(controller.getTypeFichierAbstractSelectItem().getSelectedElement());
+
+ controller.getSaisieAlphaNumeriqueFieldChecBox().setSelected(true);
+ controller.getSaisieAlphaNumeriqueFieldChecBox().setDisable(true);
+
+ break;
+
+ default:
+
+ controller.getSaisieAlphaNumeriqueFieldChecBox().setSelected(true);
+ controller.getSaisieAlphaNumeriqueFieldChecBox().setDisable(true);
+
+ break;
+ }
+ }
+ }
+
+ @Override
+ protected void beforeBindFormFieldWithCurrentObject(Tache bindObject, Object formController, TypeOperation typeOperation) {
+ if (formController instanceof TacheEditFormController) {
+
+ TacheEditFormController controller = (TacheEditFormController) formController;
+ if (typeOperation.equals(TypeOperation.VIEW) || typeOperation.equals(TypeOperation.UPDATE)) {
+
+ if (bindObject.getColDeliminter() != null) {
+ bindObject.setDelimiteurColonne(App.DELIMITEURS_COLONNE.get(bindObject.getColDeliminter()));
+ }
+
+ if (bindObject.getRowDeliminter() != null) {
+ bindObject.setDelimiteurLigne(App.DELIMITEURS_LIGNE.get(bindObject.getRowDeliminter()));
+ }
+
+ }
+
+ if (typeOperation.equals(TypeOperation.ADD) || typeOperation.equals(TypeOperation.UPDATE)) {
+
+ controller.getDelimiteurColonne().disableProperty().bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNull()
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLS))
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLSX))
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON))
+ );
+
+ controller.getDelimiteurLigne().disableProperty().bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNull()
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLS))
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.XLSX))
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON))
+ );
+
+ controller.getStrictValidationCheckbox().disableProperty().bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNull()
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNotEqualTo(DataType.XLS))
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNotEqualTo(DataType.XLSX))
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON))
+ );
+
+ controller.getWithHeader().disableProperty().bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isNull()
+ .or(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON))
+ );
+
+ controller.getUseExistingConversionModelCheckBox().disableProperty().bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON));
+ controller.getWithHeader().disableProperty().bind(controller.getDataTypeComboBox().getSelectionModel().selectedItemProperty().isEqualTo(DataType.JSON));
+
+ if (controller.getDataTypeComboBox().getSelectionModel().getSelectedItem() != null
+ && controller.getDataTypeComboBox().getSelectionModel().getSelectedItem().equals(DataType.JSON)) {
+ controller.getSaisieAlphaNumeriqueFieldChecBox().setDisable(true);
+ }
+
+ }
+
+ switch (typeOperation) {
+
+ case ADD:
+ controller.getMetaAlphaNumeriqueFieldAbstractTable().setDisable(true);
+ break;
+
+ case UPDATE:
+ controller.getMetaAlphaNumeriqueFieldAbstractTable().setDisable(false);
+ break;
+
+ default:
+
+ }
+ }
+ }
+
+ @Override
+ public boolean beforeSave(ActionEvent event) {
+
+ getCurrentObject().getMetaAlphaNumeriqueFields().forEach(m -> {
+
+ if (m.getTache() == null) {
+ m.setTache(getCurrentObject());
+ }
+ newAlphaFields.put(m.getAlphaNumeriqueField().getCodeColonne(), m.getAlphaNumeriqueField());
+ });
+
+ boolean proceed = super.beforeSave(event);
+ StringBuilder message = new StringBuilder();
+
+ if (proceed) {
+
+ TacheService tacheService = TacheService.getInstance();
+
+ //Tester l'unicité du type de fichier par tâche
+ Tache tache = tacheService.findByTypefichier(getCurrentObject().getTypeFichier());
+
+ proceed = (getTypeOperation().equals(TypeOperation.ADD) && tache == null)
+ || (getTypeOperation().equals(TypeOperation.UPDATE) && (tache == null || tache.getLibelle().equals(getCurrentObject().getLibelle())));
+
+ if (proceed) {
+
+ //Tester l'unicité du type du répertoire source
+ tache = tacheService.findByRepertoireSource(getCurrentObject().getRepertoireSource());
+
+ proceed = (getTypeOperation().equals(TypeOperation.ADD) && tache == null)
+ || (getTypeOperation().equals(TypeOperation.UPDATE) && (tache == null || tache.getLibelle().equals(getCurrentObject().getLibelle())));
+
+ if (proceed) {
+
+ //Tester l'unicité du type du répertoire d'erreur
+ tache = tacheService.findByRepertoireErreur(getCurrentObject().getRepertoireErreur());
+
+ proceed = (getTypeOperation().equals(TypeOperation.ADD) && tache == null)
+ || (getTypeOperation().equals(TypeOperation.UPDATE) && (tache == null || tache.getLibelle().equals(getCurrentObject().getLibelle())));
+
+ if (proceed) {
+
+ //Verifier que les repertoires source et d'erreur sont différents
+ proceed = !getCurrentObject().getRepertoireErreur().equals(getCurrentObject().getRepertoireSource());
+
+ if (!proceed) {
+
+ message.append("Les répertoires source et d'erreur ne doivent pas être identiques\n");
+ } else {
+ //Tester l'unicité du type du répertoire de destination
+ tache = tacheService.findByRepertoireDestination(getCurrentObject().getRepertoireDestination());
+
+ proceed = (getTypeOperation().equals(TypeOperation.ADD) && tache == null)
+ || (getTypeOperation().equals(TypeOperation.UPDATE) && (tache == null || tache.getLibelle().equals(getCurrentObject().getLibelle())));
+
+ if (proceed) {
+
+ //Verifier que les repertoires source et destination sont différents
+ boolean proceed1 = !getCurrentObject().getRepertoireDestination().equals(getCurrentObject().getRepertoireSource());
+
+ //Verifier que les repertoires destination et d'erreur sont différents
+ boolean proceed2 = !getCurrentObject().getRepertoireDestination().equals(getCurrentObject().getRepertoireErreur());
+ proceed = proceed1 && proceed2;
+
+ if (!proceed1) {
+ message.append("Les répertoires source et destination ne doivent pas être identiques\n");
+ }
+ if (!proceed2) {
+ message.append("Les répertoires d'erreur et destination ne doivent pas être identiques");
+ }
+
+ } else { //Alert problème de répertoire de destination
+ message.append("Le répertoire de destination est déjà utilisé\n");
+ }
+ }
+ } else {//Alert problème de répertoire d'erreur
+ message.append("Le répertoire d'erreur est déjà utilisé\n");
+ }
+
+ } else { //Alert problème de répertoire source
+ message.append("Le repertoire source est déjà utilisé\n");
+ }
+
+ } else { //Alert problème de type fichier
+
+ message.append("Le type de fichier est déjà utilisé\n");
+ }
+
+ }
+
+ Delimiteur delimiteurColonne = getCurrentObject().getDelimiteurColonne();
+ Delimiteur delimiteurLigne = getCurrentObject().getDelimiteurLigne();
+
+ if (delimiteurColonne != null) {
+ getCurrentObject().setColDeliminter(delimiteurColonne.getCode());
+ }
+
+ if (delimiteurLigne != null) {
+ getCurrentObject().setRowDeliminter(delimiteurLigne.getCode());
+ }
+
+ boolean proceedIntervalleTache = getCurrentObject().isWithoutInterval() ? getCurrentObject().isWithoutInterval() : getCurrentObject().getIntervalleTache() > 0;
+ proceed = proceed && proceedIntervalleTache;
+
+ if (!proceedIntervalleTache) {
+ message.append("L'intervalle de répétition doit être supérieure à 0");
+ }
+
+ if (!proceed && !message.toString().isEmpty()) {
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+ Node source = (Node) event.getSource();
+ Stage parentStage = (Stage) source.getScene().getWindow();
+ NotificationDialog notificationDialog = new NotificationDialog(
+ message.toString(),
+ NotificationType.ERROR,
+ parentStage
+ );
+ notificationDialog.showNotification();
+ }
+ return proceed;
+ }
+
+ @Override
+ public void afterSave(ActionEvent event) {
+
+ try {
+ Tache currentObject = getCurrentObject();
+ Set<MetaAlphaNumeriqueField> newSetMeta = currentObject.getMetaAlphaNumeriqueFields();
+
+ newSetMeta.forEach(m -> {
+ if (!newAlphaFields.containsKey(m.getAlphaNumeriqueField().getCodeColonne())) {
+ try {
+ MetaAlphaNumeriqueFieldService.getInstance().delete(m);
+ } catch (Exception ex) {
+ Logger.getLogger(TacheEditDialogController.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ });
+
+ } catch (Exception ex) {
+ Logger.getLogger(TacheEditDialogController.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+ Thread th = new Thread(() -> {
+ TacheJobService.getInstance().restartJob();
+ });
+
+ th.setDaemon(true);
+ th.start();
+
+ }
+
+ @Override
+ public String getConfirmationMessage() {
+ return "La tâche a été enregistrée avec succès";
+ }
+
+ @Override
+ protected ConfirmationType getConfirmationType() {
+ return ConfirmationType.CONFIRMATION;
+ }
+}
--
Gitblit v1.10.0