/* * 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.controller.table; import com.megatim.fdxconvert.App; import com.megatim.fdxconvert.enums.DataType; import com.megatim.fdxconvert.model.ConversionModel; import com.megatim.fdxconvert.model.Tache; import com.megatim.fdxconvert.model.TypeFichier; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import javafx.beans.property.SimpleStringProperty; import javafx.scene.control.TableColumn; import javafx.scene.control.cell.PropertyValueFactory; /** * * @author ASUS */ public class ConversionModelTable { private ConversionModelTable() { } public static TableColumn typeFichierColumn() { TableColumn column = new TableColumn("Type Fichier"); column.setCellValueFactory(c -> { TypeFichier typeFichier = c.getValue().getTypeFichier(); return new SimpleStringProperty(typeFichier.getCode()); }); return column; } public static TableColumn dataTypeColumn() { TableColumn column = new TableColumn("Type de données"); column.setCellValueFactory(c -> { DataType dataType = c.getValue().getDataType(); return new SimpleStringProperty(dataType.toString()); }); return column; } public static TableColumn delimiteurLigneColumn() { TableColumn column = new TableColumn("Dél. ligne"); column.setCellValueFactory(c -> { String codeDelimiteurLigne = c.getValue().getCodeDelimiteurLigne(); if (App.DELIMITEURS_LIGNE.containsKey(codeDelimiteurLigne)) { return new SimpleStringProperty(App.DELIMITEURS_LIGNE.get(codeDelimiteurLigne).toString()); } else { return new SimpleStringProperty(""); } }); return column; } public static TableColumn delimiteurColonneColumn() { TableColumn column = new TableColumn("Dél. colonne"); column.setCellValueFactory(c -> { String codeDelimiteurColonne = c.getValue().getCodeDelimiteurColonne(); if (App.DELIMITEURS_COLONNE.containsKey(codeDelimiteurColonne)) { return new SimpleStringProperty(App.DELIMITEURS_COLONNE.get(codeDelimiteurColonne).toString()); } else { return new SimpleStringProperty(""); } }); return column; } public static TableColumn repertoireSourceColumn() { TableColumn column = new TableColumn("Rép. Source"); column.setCellValueFactory(new PropertyValueFactory("repertoireSource")); return column; } public static TableColumn repertoireDestinationColumn() { TableColumn column = new TableColumn("Rép. Destination"); column.setCellValueFactory(new PropertyValueFactory("repertoireDestination")); return column; } public static TableColumn repertoireErreurColumn() { TableColumn column = new TableColumn("Rép. Erreur"); column.setCellValueFactory(new PropertyValueFactory("repertoireErreur")); return column; } public static TableColumn libelleColumn() { TableColumn column = new TableColumn("Libellé"); column.setCellValueFactory(new PropertyValueFactory("libelle")); return column; } public static TableColumn headerPresentColumn() { TableColumn column = new TableColumn("Entête présente ?"); column.setCellValueFactory(c -> { boolean headerPresent = c.getValue().isHeaderPresent(); String value = headerPresent ? "Oui" : "Non"; return new SimpleStringProperty(value); }); return column; } public static TableColumn strictValidationColumn() { TableColumn column = new TableColumn("Validation Stricte ?"); column.setCellValueFactory(c -> { boolean strictValidation = c.getValue().isStrictValidation(); String value = strictValidation ? "Oui" : "Non"; return new SimpleStringProperty(value); }); return column; } public static TableColumn dateCreationColumn() { TableColumn column = new TableColumn("Date de création"); column.setCellValueFactory(c -> { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime date = c.getValue().getDateCreation(); return new SimpleStringProperty(date != null ? "" + date.format(formatter) : ""); }); return column; } }