| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> |
| | | <parent> |
| | | <artifactId>spring-boot-starter-parent</artifactId> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <version>2.7.2</version> |
| | | <relativePath>pom.xml</relativePath> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <groupId>com.megatim.generation.validateur.typefichier</groupId> |
| | | <artifactId>generation-validateur-typefichier</artifactId> |
| | | <version>1.0</version> |
| | | <build> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-maven-plugin</artifactId> |
| | | <configuration> |
| | | <excludes> |
| | | <exclude> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | </exclude> |
| | | </excludes> |
| | | </configuration> |
| | | </plugin> |
| | | <plugin> |
| | | <artifactId>maven-compiler-plugin</artifactId> |
| | | <version>3.1</version> |
| | | <configuration> |
| | | <source>1.8</source> |
| | | <target>1.8</target> |
| | | <showDeprecation>false</showDeprecation> |
| | | </configuration> |
| | | </plugin> |
| | | <plugin> |
| | | <artifactId>maven-shade-plugin</artifactId> |
| | | <executions> |
| | | <execution> |
| | | <phase>package</phase> |
| | | <goals> |
| | | <goal>shade</goal> |
| | | </goals> |
| | | <configuration> |
| | | <minimizeJar>true</minimizeJar> |
| | | <filters> |
| | | <filter> |
| | | <artifact>*:*</artifact> |
| | | <excludes> |
| | | <exclude>META-INF/*.SF</exclude> |
| | | <exclude>META-INF/*.DSA</exclude> |
| | | <exclude>META-INF/*.RSA</exclude> |
| | | </excludes> |
| | | </filter> |
| | | </filters> |
| | | <transformers> |
| | | <transformer> |
| | | <resource>META-INF/spring.handlers</resource> |
| | | </transformer> |
| | | <transformer> |
| | | <resource>META-INF/spring.factories</resource> |
| | | </transformer> |
| | | <transformer> |
| | | <resource>META-INF/spring.schemas</resource> |
| | | </transformer> |
| | | </transformers> |
| | | </configuration> |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | </plugins> |
| | | </build> |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web</artifactId> |
| | | <version>2.7.2</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.h2database</groupId> |
| | | <artifactId>h2</artifactId> |
| | | <version>2.1.214</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | <version>1.18.20</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.hibernate</groupId> |
| | | <artifactId>hibernate-core</artifactId> |
| | | <version>5.3.0.Final</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>javax.validation</groupId> |
| | | <artifactId>validation-api</artifactId> |
| | | <version>2.0.0.Final</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.hibernate.validator</groupId> |
| | | <artifactId>hibernate-validator</artifactId> |
| | | <version>6.0.13.Final</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.glassfish</groupId> |
| | | <artifactId>javax.el</artifactId> |
| | | <version>3.0.0</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.megatimfx.common</groupId> |
| | | <artifactId>megatimfx-common</artifactId> |
| | | <version>1.0</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.megatimfx.security</groupId> |
| | | <artifactId>megatimfx-security</artifactId> |
| | | <version>1.0</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>commons-io</groupId> |
| | | <artifactId>commons-io</artifactId> |
| | | <version>2.11.0</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>log4j</groupId> |
| | | <artifactId>log4j</artifactId> |
| | | <version>1.2.17</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>it.sauronsoftware</groupId> |
| | | <artifactId>junique</artifactId> |
| | | <version>1.04</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.megatim</groupId> |
| | | <artifactId>module-compression</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.megatim</groupId> |
| | | <artifactId>module.encryption</artifactId> |
| | | <version>1.0</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.vinumeris</groupId> |
| | | <artifactId>updatefx</artifactId> |
| | | <version>1.5</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.slf4j</groupId> |
| | | <artifactId>slf4j-jdk14</artifactId> |
| | | <version>1.7.10</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | </dependencies> |
| | | <properties> |
| | | <exec.mainClass>generation.validateur.typefichier.App</exec.mainClass> |
| | | <maven.compiler.source>1.8</maven.compiler.source> |
| | | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| | | <maven.compiler.target>1.8</maven.compiler.target> |
| | | </properties> |
| | | </project> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- |
| | | Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | Click nbfs://nbhost/SystemFileSystem/Templates/XML/XMLDocument.xml to edit this template |
| | | --> |
| | | |
| | | <hibernate-configuration> |
| | | <session-factory> |
| | | <property name="hibernate.connection.driver_class">org.h2.Driver</property> |
| | | <property name="hibernate.connection.url">jdbc:h2:file:C:/h2/generateur/generateur</property> |
| | | <property name="hibernate.connection.username">sa</property> |
| | | <property name="hibernate.connection.password"></property> |
| | | <property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property> |
| | | <property name="show_sql">true</property> |
| | | <property name="hbm2ddl.auto">update</property> |
| | | |
| | | <mapping class="com.megatim.fdxgenerator.model.TypeFichier"></mapping> |
| | | <mapping class="com.megatim.fdxgenerator.model.ValidateurFichier"></mapping> |
| | | <mapping class="com.megatim.fdxgenerator.model.StructureLigne"></mapping> |
| | | <mapping class="com.megatim.fdxgenerator.model.Configuration"></mapping> |
| | | </session-factory> |
| | | </hibernate-configuration> |
| | | |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project-shared-configuration> |
| | | <!-- |
| | | This file contains additional configuration written by modules in the NetBeans IDE. |
| | | The configuration is intended to be shared among all the users of project and |
| | | therefore it is assumed to be part of version control checkout. |
| | | Without this configuration present, some functionality in the IDE may be limited or fail altogether. |
| | | --> |
| | | <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1"> |
| | | <!-- |
| | | Properties that influence various parts of the IDE, especially code formatting and the like. |
| | | You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up. |
| | | That way multiple projects can share the same settings (useful for formatting rules for example). |
| | | Any value defined here will override the pom.xml file value but is only applicable to the current project. |
| | | --> |
| | | <netbeans.hint.jdkPlatform>JDK_1.8</netbeans.hint.jdkPlatform> |
| | | </properties> |
| | | </project-shared-configuration> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <groupId>com.megatim.com.megatim.fdxgenerator</groupId> |
| | | <artifactId>fdx-generator</artifactId> |
| | | <version>1.0</version> |
| | | <properties> |
| | | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| | | <maven.compiler.source>1.8</maven.compiler.source> |
| | | <maven.compiler.target>1.8</maven.compiler.target> |
| | | <exec.mainClass>com.megatim.fdxgenerator.App</exec.mainClass> |
| | | </properties> |
| | | |
| | | <build> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.apache.maven.plugins</groupId> |
| | | <artifactId>maven-compiler-plugin</artifactId> |
| | | <version>3.1</version> |
| | | <configuration> |
| | | <source>1.8</source> |
| | | <target>1.8</target> |
| | | <showDeprecation>false</showDeprecation> |
| | | </configuration> |
| | | </plugin> |
| | | <plugin> |
| | | <groupId>org.apache.maven.plugins</groupId> |
| | | <artifactId>maven-jar-plugin</artifactId> |
| | | <version>2.4</version> |
| | | <configuration> |
| | | <archive> |
| | | <manifest> |
| | | <addClasspath>true</addClasspath> |
| | | <mainClass>com.megatim.fdxgenerator.App</mainClass> |
| | | <classpathPrefix>lib/</classpathPrefix> |
| | | </manifest> |
| | | </archive> |
| | | </configuration> |
| | | </plugin> |
| | | <plugin> |
| | | <groupId>org.apache.maven.plugins</groupId> |
| | | <artifactId>maven-dependency-plugin</artifactId> |
| | | <version>2.8</version> |
| | | <executions> |
| | | <execution> |
| | | <id>copy-dependencies</id> |
| | | <phase>package</phase> |
| | | <goals> |
| | | <goal>copy-dependencies</goal> |
| | | </goals> |
| | | <configuration> |
| | | <outputDirectory>${project.build.directory}/lib/</outputDirectory> |
| | | </configuration> |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <plugin> |
| | | <artifactId>maven-assembly-plugin</artifactId> |
| | | <configuration> |
| | | <archive> |
| | | <manifest> |
| | | <mainClass>com.megatim.fdxgenerator.App</mainClass> |
| | | </manifest> |
| | | </archive> |
| | | <descriptorRefs> |
| | | <descriptorRef>jar-with-dependencies</descriptorRef> |
| | | </descriptorRefs> |
| | | </configuration> |
| | | <executions> |
| | | <execution> |
| | | <id>make-assembly</id> <!-- this is used for inheritance merges --> |
| | | <phase>package</phase> <!-- bind to the packaging phase --> |
| | | <goals> |
| | | <goal>single</goal> |
| | | </goals> |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | |
| | | <!--<plugin> |
| | | <artifactId>maven-assembly-plugin</artifactId> |
| | | <version>3.0.0</version> |
| | | <configuration> |
| | | <archive> |
| | | <manifest> |
| | | <addClasspath>true</addClasspath> |
| | | <mainClass>com.megatim.fdxgenerator.App</mainClass> |
| | | </manifest> |
| | | </archive> |
| | | <descriptorRefs> |
| | | <descriptorRef>jar-with-dependencies</descriptorRef> |
| | | </descriptorRefs> |
| | | </configuration> |
| | | <executions> |
| | | <execution> |
| | | <id>make-my-jar-with-dependencies</id> |
| | | <phase>package</phase> |
| | | <goals> |
| | | <goal>single</goal> |
| | | </goals> |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | !--> |
| | | |
| | | </plugins> |
| | | |
| | | </build> |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>com.h2database</groupId> |
| | | <artifactId>h2</artifactId> |
| | | <scope>runtime</scope> |
| | | <version>2.1.214</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | <version>1.18.20</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.hibernate</groupId> |
| | | <artifactId>hibernate-core</artifactId> |
| | | <version>5.3.0.Final</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>javax.validation</groupId> |
| | | <artifactId>validation-api</artifactId> |
| | | <version>2.0.0.Final</version> |
| | | </dependency> |
| | | |
| | | |
| | | <dependency> |
| | | <groupId>org.hibernate.validator</groupId> |
| | | <artifactId>hibernate-validator</artifactId> |
| | | <version>6.0.13.Final</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>org.glassfish</groupId> |
| | | <artifactId>javax.el</artifactId> |
| | | <version>3.0.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.megatimfx.common</groupId> |
| | | <artifactId>megatimfx-common</artifactId> |
| | | <version>1.0</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.megatimfx.security</groupId> |
| | | <artifactId>megatimfx-security</artifactId> |
| | | <version>1.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>commons-io</groupId> |
| | | <artifactId>commons-io</artifactId> |
| | | <version>2.11.0</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>log4j</groupId> |
| | | <artifactId>log4j</artifactId> |
| | | <version>1.2.17</version> |
| | | </dependency> |
| | | |
| | | <!-- <dependency> |
| | | <groupId>org.apache.logging.log4j</groupId> |
| | | <artifactId>log4j-core</artifactId> |
| | | <version>2.19.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>it.sauronsoftware</groupId> |
| | | <artifactId>junique</artifactId> |
| | | <version>1.04</version> |
| | | </dependency> |
| | | --> |
| | | |
| | | <dependency> |
| | | <groupId>com.megatim</groupId> |
| | | <artifactId>module-compression</artifactId> |
| | | <version>0.0.1-SNAPSHOT</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>com.megatim</groupId> |
| | | <artifactId>module.encryption</artifactId> |
| | | <version>1.0-SNAPSHOT</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator; |
| | | |
| | | import com.megatimfx.common.abstracts.context.AbstractViewContext; |
| | | import com.megatim.fdxgenerator.controller.MainController; |
| | | import com.megatim.fdxgenerator.model.dao.HibernateUtil; |
| | | import com.megatim.fdxgenerator.pojo.Delimiteur; |
| | | import java.io.FileNotFoundException; |
| | | import java.io.IOException; |
| | | import java.net.MalformedURLException; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import javafx.application.Application; |
| | | import static javafx.application.Application.launch; |
| | | import javafx.fxml.FXMLLoader; |
| | | import javafx.scene.Parent; |
| | | import javafx.scene.Scene; |
| | | import javafx.scene.image.Image; |
| | | import javafx.stage.Stage; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class App extends Application { |
| | | |
| | | public static final Map<String, Delimiteur> SEPARATEURS_DATE = new HashMap<>(); |
| | | public static final Map<String, Delimiteur> SEPARATEURS_DECIMAUX = new HashMap<>(); |
| | | public static final List<String> FORMATS_DATE = new ArrayList<>(); |
| | | public static final Map<String, Delimiteur> DELIMITEURS_COLONNE = new HashMap<>(); |
| | | public static final Map<String, Delimiteur> DELIMITEURS_LIGNE = new HashMap<>(); |
| | | |
| | | static { |
| | | SEPARATEURS_DATE.put("", new Delimiteur("", "Aucun")); |
| | | SEPARATEURS_DATE.put("-", new Delimiteur("-", "Tiret ( - )")); |
| | | SEPARATEURS_DATE.put("/", new Delimiteur("/", "Slash ( / )")); |
| | | // SEPARATEURS_DATE.put("\\", new Delimiteur("\\", "Anti-Slash ( \\ )")); |
| | | |
| | | SEPARATEURS_DECIMAUX.put(".", new Delimiteur(".", "Point ( . )")); |
| | | SEPARATEURS_DECIMAUX.put(",", new Delimiteur(",", "Virgule ( , )")); |
| | | |
| | | DELIMITEURS_COLONNE.put("", new Delimiteur("", "Aucun")); |
| | | DELIMITEURS_COLONNE.put(";", new Delimiteur(";", "Point-virgule ( ; )")); |
| | | DELIMITEURS_COLONNE.put("|", new Delimiteur("|", "Barre verticale ( | )")); |
| | | DELIMITEURS_COLONNE.put("\\t", new Delimiteur("\\t", "Tabulation ( \\t )")); |
| | | |
| | | DELIMITEURS_LIGNE.put("\\n", new Delimiteur("\\n", "Retour Charriot ( \\n )")); |
| | | |
| | | FORMATS_DATE.add("ddMMyyyy"); |
| | | FORMATS_DATE.add("yyyyMMdd"); |
| | | FORMATS_DATE.add("yyyyddMM"); |
| | | FORMATS_DATE.add("MMyyyydd"); |
| | | FORMATS_DATE.add("MMddyyy"); |
| | | FORMATS_DATE.add("yyyy"); |
| | | FORMATS_DATE.add("MMyyyy"); |
| | | FORMATS_DATE.add("yyyyMMddHHmmss"); |
| | | FORMATS_DATE.add("yyyyMMdd HH:mm:ss"); |
| | | FORMATS_DATE.add("yyyyddMMHHmmss"); |
| | | FORMATS_DATE.add("ddMMyyyyHHmmss"); |
| | | // FORMATS_DATE.add("MMddyyyHHmmss"); |
| | | } |
| | | |
| | | @Override |
| | | public void start(Stage primaryStage) throws FileNotFoundException, MalformedURLException, IOException { |
| | | |
| | | AbstractViewContext.getInstance().setAbstractEditDialogControllerURL(App.class.getResource("/com/megatim/fdxgenerator/abstracts/AbstractEditDialog.fxml")); |
| | | |
| | | FXMLLoader loader = new FXMLLoader(); |
| | | loader.setLocation(MainController.class.getResource("main.fxml")); |
| | | Parent root = loader.load(); |
| | | |
| | | Scene scene = new Scene(root, 1100, 600); |
| | | |
| | | primaryStage.setTitle("Générateur de fichiers de validation v1.0.2"); |
| | | primaryStage.getIcons().add(new Image("images/icone_ins.png")); |
| | | primaryStage.setScene(scene); |
| | | primaryStage.setOnCloseRequest(e -> { |
| | | HibernateUtil.shutdown(); |
| | | System.exit(0); |
| | | }); |
| | | primaryStage.show(); |
| | | } |
| | | |
| | | /** |
| | | * @param args the command line arguments |
| | | */ |
| | | public static void main(String[] args) { |
| | | String appId = "com.megatim.fdxgenerator.App"; |
| | | boolean alreadyRunning; |
| | | /*try { |
| | | JUnique.acquireLock(appId); |
| | | alreadyRunning = false; |
| | | } catch (AlreadyLockedException e) { |
| | | alreadyRunning = true; |
| | | } |
| | | if (!alreadyRunning) { |
| | | launch(args); |
| | | } else { |
| | | System.exit(1); |
| | | }*/ |
| | | launch(args); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator; |
| | | |
| | | /** |
| | | * https://github.com/vinumeris/updatefx |
| | | * @author STEPHANIE |
| | | */ |
| | | public class AppUpdate { |
| | | // |
| | | // private static java.util.logging.Logger logger; |
| | | // private static final Logger log = LoggerFactory.getLogger(App.class); |
| | | // public static int VERSION = 1; |
| | | // private static final String APP_NAME = "generateur"; |
| | | // |
| | | // @Override |
| | | // public void start(Stage primaryStage) throws FileNotFoundException, MalformedURLException, IOException { |
| | | // // For some reason the JavaFX launch process results in us losing the thread context class loader: reset it. |
| | | // Thread.currentThread().setContextClassLoader(App.class.getClassLoader()); |
| | | // // Must be done twice for the times when we come here via realMain. |
| | | // AppDirectory.initAppDir(APP_NAME); |
| | | // |
| | | // log.info("Hello World! This is version " + VERSION); |
| | | // |
| | | // // ProgressIndicator indicator = showGiantProgressWheel(primaryStage); |
| | | // |
| | | // List<ECPoint> pubkeys = Crypto.decode(); |
| | | // |
| | | // Updater updater = new Updater(URI.create("http://localhost:8080/generateur-updates/index"), "generation-typefichier-" + VERSION, |
| | | // AppDirectory.dir(), UpdateFX.findCodePath(App.class), pubkeys, 0) { |
| | | // @Override |
| | | // protected void updateProgress(long workDone, long max) { |
| | | // super.updateProgress(workDone, max); |
| | | // // Give UI a chance to show. |
| | | // Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS); |
| | | // } |
| | | // }; |
| | | // |
| | | // FXMLLoader loader = new FXMLLoader(); |
| | | // loader.setLocation(MainController.class.getResource("main.fxml")); |
| | | // Parent root = loader.load(); |
| | | // MainController controller = loader.getController(); |
| | | // |
| | | // ProgressIndicator indicator = controller.getIndicator(); |
| | | // indicator.progressProperty().bind(updater.progressProperty()); |
| | | // Label label = controller.getLabelVersion(); |
| | | // |
| | | // |
| | | // log.info("Checking for updates!"); |
| | | // updater.setOnRunning(event -> { |
| | | // label.setText("Mise à jour en cours"); |
| | | // }); |
| | | // updater.setOnSucceeded(event -> { |
| | | // try { |
| | | // UpdateSummary summary = updater.get(); |
| | | // Updates updates = summary.updates; |
| | | // int count = updates.getUpdatesCount(); |
| | | // |
| | | // if (!summary.descriptions.isEmpty()) { |
| | | // log.info("One liner: {}", summary.descriptions.get(0).getOneLiner()); |
| | | // log.info("{}", summary.descriptions.get(0).getDescription()); |
| | | // } |
| | | // if (summary.highestVersion > VERSION) { |
| | | // int nb = summary.highestVersion - VERSION; |
| | | // log.info("Restarting to get version " + summary.highestVersion); |
| | | // label.setText("Nombre de mise à jour trouvé : " + nb); |
| | | // if (UpdateFX.getVersionPin(AppDirectory.dir()) == 0) { |
| | | // log.info("before restartApp()"); |
| | | // UpdateFX.restartApp(); |
| | | // } |
| | | // } else { |
| | | // label.setVisible(false); |
| | | // indicator.setVisible(false); |
| | | // } |
| | | // } catch (Throwable e) { |
| | | // log.error("oops", e); |
| | | // } |
| | | // }); |
| | | // updater.setOnFailed(event -> { |
| | | // label.setVisible(false); |
| | | // indicator.setVisible(false); |
| | | // |
| | | // log.error("Update error: {}", updater.getException()); |
| | | // updater.getException().getMessage(); |
| | | // updater.getException().printStackTrace(); |
| | | // }); |
| | | // |
| | | // indicator.setOnMouseClicked(ev -> UpdateFX.restartApp()); |
| | | // |
| | | // new Thread(updater, "UpdateFX Thread").start(); |
| | | // |
| | | // AbstractViewContext.getInstance().setAbstractEditDialogControllerURL(App.class.getResource("/generation/validateur/typefichier/abstracts/AbstractEditDialog.fxml")); |
| | | // |
| | | // |
| | | // |
| | | // Scene scene = new Scene(root, 1100, 600); |
| | | // |
| | | // primaryStage.setTitle("Générateur de fichiers de validation"); |
| | | // primaryStage.getIcons().add(new Image("images/icone_ins.png")); |
| | | // primaryStage.setScene(scene); |
| | | // primaryStage.setOnCloseRequest(e -> { |
| | | // HibernateUtil.shutdown(); |
| | | // System.exit(0); |
| | | // }); |
| | | // primaryStage.show(); |
| | | // } |
| | | // |
| | | // /** |
| | | // * @param args the command line arguments |
| | | // */ |
| | | // public static void main(String[] args) throws IOException { |
| | | // // We want to store updates in our app dir so must init that here. |
| | | // AppDirectory.initAppDir(APP_NAME); |
| | | // setupLogging(); |
| | | // // re-enter at realMain, but possibly running a newer version of the software i.e. after this point the |
| | | // // rest of this code may be ignored. |
| | | // UpdateFX.bootstrap(App.class, AppDirectory.dir(), args); |
| | | // |
| | | // String appId = "generation.validateur.typefichier.App"; |
| | | // boolean alreadyRunning; |
| | | // try { |
| | | // JUnique.acquireLock(appId); |
| | | // alreadyRunning = false; |
| | | // } catch (AlreadyLockedException e) { |
| | | // alreadyRunning = true; |
| | | // } |
| | | // if (!alreadyRunning) { |
| | | // launch(args); |
| | | // } else { |
| | | // System.exit(1); |
| | | // } |
| | | // } |
| | | // |
| | | // public static void realMain(String[] args) { |
| | | // launch(args); |
| | | // } |
| | | // |
| | | // private static void setupLogging() throws IOException { |
| | | // logger = java.util.logging.Logger.getLogger(""); |
| | | // logger.getHandlers()[0].setFormatter(new BriefLogFormatter()); |
| | | // FileHandler handler = new FileHandler(AppDirectory.dir().resolve("log.txt").toString(), true); |
| | | // handler.setFormatter(new BriefLogFormatter()); |
| | | // logger.addHandler(handler); |
| | | // } |
| | | // |
| | | // private ProgressIndicator showGiantProgressWheel(Stage stage) { |
| | | // ProgressIndicator indicator = new ProgressIndicator(); |
| | | // BorderPane borderPane = new BorderPane(indicator); |
| | | // borderPane.setMinWidth(640); |
| | | // borderPane.setMinHeight(480); |
| | | // Button pinButton = new Button(); |
| | | // pinButton.setText("Pin to version "+VERSION); |
| | | // pinButton.setOnAction(event -> { |
| | | // UpdateFX.pinToVersion(AppDirectory.dir(), VERSION); |
| | | // UpdateFX.restartApp(); |
| | | // }); |
| | | // HBox box = new HBox(new Label("Version " + VERSION), pinButton); |
| | | // box.setSpacing(10); |
| | | // box.setAlignment(Pos.CENTER_LEFT); |
| | | // box.setPadding(new Insets(10)); |
| | | // borderPane.setTop(box); |
| | | // Scene scene = new Scene(borderPane); |
| | | // stage.setScene(scene); |
| | | // |
| | | // return indicator; |
| | | // } |
| | | // |
| | | // private ProgressIndicator showGiantProgressWheel(MainController controller) { |
| | | // ProgressIndicator indicator = controller.getIndicator(); |
| | | // |
| | | // Label label = controller.getLabelVersion(); |
| | | // label.setText("Version "+VERSION); |
| | | // |
| | | // return indicator; |
| | | // } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator; |
| | | |
| | | import java.io.PrintWriter; |
| | | import java.io.StringWriter; |
| | | import java.io.Writer; |
| | | import java.text.MessageFormat; |
| | | import java.util.Date; |
| | | import java.util.logging.*; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | * A Java logging formatter that writes more compact output than the default. |
| | | */ |
| | | public class BriefLogFormatter extends Formatter { |
| | | private static final MessageFormat messageFormat = new MessageFormat("{3,date,hh:mm:ss} {0} {1}.{2}: {4}\n{5}"); |
| | | |
| | | // OpenJDK made a questionable, backwards incompatible change to the Logger implementation. It internally uses |
| | | // weak references now which means simply fetching the logger and changing its configuration won't work. We must |
| | | // keep a reference to our custom logger around. |
| | | private static Logger logger; |
| | | |
| | | /** Configures JDK logging to use this class for everything. */ |
| | | public static void init() { |
| | | logger = Logger.getLogger(""); |
| | | final Handler[] handlers = logger.getHandlers(); |
| | | // In regular Java there is always a handler. Avian doesn't install one however. |
| | | if (handlers.length > 0) |
| | | handlers[0].setFormatter(new BriefLogFormatter()); |
| | | } |
| | | |
| | | public static void initVerbose() { |
| | | init(); |
| | | logger.setLevel(Level.ALL); |
| | | logger.log(Level.FINE, "test"); |
| | | } |
| | | |
| | | @Override |
| | | public String format(LogRecord logRecord) { |
| | | Object[] arguments = new Object[6]; |
| | | arguments[0] = logRecord.getThreadID(); |
| | | String fullClassName = logRecord.getSourceClassName(); |
| | | int lastDot = fullClassName.lastIndexOf('.'); |
| | | String className = fullClassName.substring(lastDot + 1); |
| | | arguments[1] = className; |
| | | arguments[2] = logRecord.getSourceMethodName(); |
| | | arguments[3] = new Date(logRecord.getMillis()); |
| | | arguments[4] = logRecord.getMessage(); |
| | | if (logRecord.getThrown() != null) { |
| | | Writer result = new StringWriter(); |
| | | logRecord.getThrown().printStackTrace(new PrintWriter(result)); |
| | | arguments[5] = result.toString(); |
| | | } else { |
| | | arguments[5] = ""; |
| | | } |
| | | return messageFormat.format(arguments); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/AnnotationType.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.annotations; |
| | | |
| | | import java.lang.annotation.Documented; |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | import javax.validation.Constraint; |
| | | import javax.validation.Payload; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Documented |
| | | @Constraint(validatedBy = ConfigValidator.class) |
| | | @Target( { ElementType.TYPE }) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface ConfigConstraint { |
| | | String message() default "Configurer d'abord le repertoire de dépôt des fichiers de validation avant de procéder à la génération"; |
| | | Class<?>[] groups() default {}; |
| | | Class<? extends Payload>[] payload() default {}; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.annotations; |
| | | |
| | | import com.megatim.fdxgenerator.model.Configuration; |
| | | import com.megatim.fdxgenerator.model.FichierValidation; |
| | | import com.megatim.fdxgenerator.service.ConfigurationService; |
| | | import javax.validation.ConstraintValidator; |
| | | import javax.validation.ConstraintValidatorContext; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ConfigValidator implements ConstraintValidator<ConfigConstraint, FichierValidation> { |
| | | |
| | | @Override |
| | | public void initialize(ConfigConstraint cons) { |
| | | } |
| | | |
| | | @Override |
| | | public boolean isValid(FichierValidation fichVal, ConstraintValidatorContext cxt) { |
| | | Configuration config = ConfigurationService.getInstance().getCurrentConfig(); |
| | | return config != null; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.annotations; |
| | | |
| | | import java.lang.annotation.Documented; |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | import javax.validation.Constraint; |
| | | import javax.validation.Payload; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Documented |
| | | @Constraint(validatedBy = FileNameValidator.class) |
| | | @Target( { ElementType.TYPE }) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface FileNameConstraint { |
| | | String message() default "Le format de la date est obligatoire"; |
| | | Class<?>[] groups() default {}; |
| | | Class<? extends Payload>[] payload() default {}; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.annotations; |
| | | |
| | | import com.megatim.fdxgenerator.model.FichierValidation; |
| | | import javax.validation.ConstraintValidator; |
| | | import javax.validation.ConstraintValidatorContext; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class FileNameValidator implements ConstraintValidator<FileNameConstraint, FichierValidation> { |
| | | |
| | | @Override |
| | | public boolean isValid(FichierValidation t, ConstraintValidatorContext cvc) { |
| | | if(t.isValidateFileName()) |
| | | return t.getFormatDate() != null ; |
| | | else return true; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/AnnotationType.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.annotations; |
| | | |
| | | import java.lang.annotation.Documented; |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | import javax.validation.Constraint; |
| | | import javax.validation.Payload; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Documented |
| | | @Constraint(validatedBy = FormatDateValidator.class) |
| | | @Target( { ElementType.TYPE }) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface FormatDateConstraint { |
| | | String message() default "Format Date yyyy : Année, MM : Mois, dd : Jour , HH : Heure, mm: Minute, ss : Seconde"; |
| | | Class<?>[] groups() default {}; |
| | | Class<? extends Payload>[] payload() default {}; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.annotations; |
| | | |
| | | import com.megatim.fdxgenerator.enums.TypeDonnee; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import javax.validation.ConstraintValidator; |
| | | import javax.validation.ConstraintValidatorContext; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class FormatDateValidator implements ConstraintValidator<FormatDateConstraint, StructureLigne> { |
| | | @Override |
| | | public void initialize(FormatDateConstraint cons) { |
| | | } |
| | | |
| | | @Override |
| | | public boolean isValid(StructureLigne structLigne, ConstraintValidatorContext cxt) { |
| | | if(structLigne.getTypeDonnee().getValue().equals(TypeDonnee.DATE.getValue())){ |
| | | return structLigne.getFormatDate().matches( |
| | | "y{4}((M{2}){0,1})((d{2}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})|" |
| | | + "y{4}((d{2}){0,1})((M{2}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})|" |
| | | + "M{2}((y{4}){0,1})((d{2}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})|" |
| | | + "M{2}((d{2}){0,1})((y{4}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})"); |
| | | } else return true; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/AnnotationType.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.annotations; |
| | | |
| | | import java.lang.annotation.Documented; |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | import javax.validation.Constraint; |
| | | import javax.validation.Payload; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Documented |
| | | @Constraint(validatedBy = KeyToDecryptValidator.class) |
| | | @Target( { ElementType.TYPE }) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface KeyToDecryptConstraint { |
| | | String message() default "La clé est sa confirmation sont obligatoires et doivent avoir la même valeur"; |
| | | Class<?>[] groups() default {}; |
| | | Class<? extends Payload>[] payload() default {}; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.annotations; |
| | | |
| | | import com.megatim.fdxgenerator.model.FichierValidation; |
| | | import javax.validation.ConstraintValidator; |
| | | import javax.validation.ConstraintValidatorContext; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class KeyToDecryptValidator implements ConstraintValidator<KeyToDecryptConstraint, FichierValidation>{ |
| | | |
| | | @Override |
| | | public boolean isValid(FichierValidation t, ConstraintValidatorContext cvc) { |
| | | if(t.isProtege()) |
| | | return t.getKeyToEncrypt() != null && !t.getKeyToEncrypt().isEmpty() && |
| | | t.getKeyToEncrypt().equals(t.getKeyConfirmation()); |
| | | else return true; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/AnnotationType.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.annotations; |
| | | |
| | | import java.lang.annotation.Documented; |
| | | import java.lang.annotation.ElementType; |
| | | import java.lang.annotation.Retention; |
| | | import java.lang.annotation.RetentionPolicy; |
| | | import java.lang.annotation.Target; |
| | | import javax.validation.Constraint; |
| | | import javax.validation.Payload; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Documented |
| | | @Constraint(validatedBy = TailleFormatDateValidator.class) |
| | | @Target( { ElementType.TYPE }) |
| | | @Retention(RetentionPolicy.RUNTIME) |
| | | public @interface TailleFormatDateConstraint { |
| | | String message() default "Le format est obligatoire et sa taille doit être égale à la taille du champ"; |
| | | Class<?>[] groups() default {}; |
| | | Class<? extends Payload>[] payload() default {}; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.annotations; |
| | | |
| | | import com.megatim.fdxgenerator.enums.TypeDonnee; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import javax.validation.ConstraintValidator; |
| | | import javax.validation.ConstraintValidatorContext; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TailleFormatDateValidator implements ConstraintValidator<TailleFormatDateConstraint, StructureLigne> { |
| | | @Override |
| | | public void initialize(TailleFormatDateConstraint cons) { |
| | | } |
| | | |
| | | @Override |
| | | public boolean isValid(StructureLigne structLigne, ConstraintValidatorContext cxt) { |
| | | |
| | | if(structLigne.getTypeDonnee() != null && structLigne.getTypeDonnee().getValue().equals(TypeDonnee.DATE.getValue())) { |
| | | System.out.println("formatDate = "+structLigne.getFormatDate()); |
| | | return structLigne.getFormatDate() != null && |
| | | structLigne.getTaille() == structLigne.getFormatDate().length(); |
| | | } else return true; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller; |
| | | |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.enums.TypeOperation; |
| | | import com.megatimfx.common.utils.ViewLoaderUtil; |
| | | import com.megatim.fdxgenerator.forms.ConfigEditFormController; |
| | | import com.megatim.fdxgenerator.model.Configuration; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.scene.layout.Pane; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | */ |
| | | public class ConfigEditDialogController extends AbstractEditDialogController<Configuration> { |
| | | private ConfigEditFormController configEditFormController; |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | getEditButton().setText("Configurer"); |
| | | return "Configuration des repertoires"; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getContentFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(configEditFormController.getClass().getResource("ConfigEditForm.fxml"), configEditFormController); |
| | | } |
| | | |
| | | @Override |
| | | public Object getContentFormController() { |
| | | return configEditFormController; |
| | | } |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | configEditFormController = new ConfigEditFormController(); |
| | | super.initialize(url, rb); |
| | | } |
| | | |
| | | @Override |
| | | protected void beforeBindFormFieldWithCurrentObject(Configuration bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.beforeBindFormFieldWithCurrentObject(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | package com.megatim.fdxgenerator.controller; |
| | | |
| | | import com.megatim.module.compression.impl.JavaZipZip4Impl; |
| | | import com.megatim.module.encryption.ifaces.EncryptionFace; |
| | | import com.megatim.module.encryption.impl.AESImpl; |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.utils.ViewLoaderUtil; |
| | | import com.megatimfx.components.customdialogs.AlertMessageUtil; |
| | | import com.megatimfx.components.customdialogs.LoadinIndicatorDialogUtil; |
| | | import com.megatimfx.components.dialogs.NotificationDialog; |
| | | import com.megatimfx.components.dialogs.NotificationType; |
| | | import com.megatim.fdxgenerator.enums.DataType; |
| | | import com.megatim.fdxgenerator.enums.TypeDonnee; |
| | | import com.megatim.fdxgenerator.exceptions.ConfigException; |
| | | import com.megatim.fdxgenerator.forms.FichierValidationEditFormController; |
| | | import com.megatim.fdxgenerator.model.Configuration; |
| | | import com.megatim.fdxgenerator.model.FichierValidation; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import com.megatim.fdxgenerator.model.dao.StructureLigneDAO; |
| | | import com.megatim.fdxgenerator.model.dao.ValidateurFichierDAO; |
| | | import com.megatim.fdxgenerator.service.ConfigurationService; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | import java.util.ResourceBundle; |
| | | import javafx.concurrent.Task; |
| | | import javafx.event.ActionEvent; |
| | | import javafx.scene.Node; |
| | | import javafx.scene.layout.Pane; |
| | | import javafx.stage.Stage; |
| | | import javax.activation.UnsupportedDataTypeException; |
| | | import org.apache.commons.io.FileUtils; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class FichierValidationEditDialogController extends AbstractEditDialogController<FichierValidation> { |
| | | |
| | | private FichierValidationEditFormController fichierValidationEditFormController; |
| | | |
| | | private int index; |
| | | |
| | | Boolean result = true; |
| | | |
| | | private final String ENCRYPT_DIR = "ENCRYPT_DIR"; |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | fichierValidationEditFormController = new FichierValidationEditFormController(); |
| | | super.initialize(url, rb); |
| | | } |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | getEditButton().setText("Générer"); |
| | | return "Génération du fichier de validation d'un type fichier"; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getContentFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(fichierValidationEditFormController.getClass().getResource("FichierValidationEditForm.fxml"), fichierValidationEditFormController); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public Object getContentFormController() { |
| | | return fichierValidationEditFormController; |
| | | } |
| | | |
| | | @Override |
| | | public boolean beforeSave(ActionEvent event) { |
| | | boolean bool = super.beforeSave(event); |
| | | |
| | | if (fichierValidationEditFormController.getIsProtegeCheckBox().isSelected()) { |
| | | return bool && fichierValidationEditFormController.getKeyConfirmationField() != null && fichierValidationEditFormController.getKeyToEncryptField() != null; |
| | | } else { |
| | | return bool; |
| | | } |
| | | } |
| | | |
| | | private Boolean generateFichierValidation(FichierValidation f, Configuration config) throws Exception { |
| | | final String charset = "UTF-8"; |
| | | String fileExtension = ".xml"; |
| | | String fileNamePrefix = "Fdx-Validator"; |
| | | index = 0; |
| | | result = true; |
| | | DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss"); |
| | | |
| | | if (config == null) { |
| | | throw new ConfigException("Génération impossible, le répertoire de dépôt des fichiers de validation n'est pas configuré"); |
| | | } |
| | | try { |
| | | Optional<ValidateurFichier> validateurFichier = ValidateurFichierDAO.findByTypeFichier(f.getTypeFichier().getCode()); |
| | | File file = new File(config.getOutputDir(), fileNamePrefix + f.getTypeFichier().getCode() + "-" + dateTimeFormatter.format(LocalDateTime.now()) + fileExtension); |
| | | |
| | | if (validateurFichier.isPresent()) { |
| | | ValidateurFichier vf = validateurFichier.get(); |
| | | |
| | | openTags(file, charset); |
| | | FileUtils.writeStringToFile(file, "\t\t<entity name=\"com.megatim.typefichier.validator.model.GenericTypeFichier\" error-report-field=\"codeErreur\" activate=\"true\"> \n\n", charset, true); |
| | | fileNameValidation(f, file, charset); |
| | | |
| | | //vérifie si le fichier est vide |
| | | emptyFileValidation(file, charset); |
| | | FileUtils.writeStringToFile(file, "\t\t</entity>\n\n", charset, true); |
| | | |
| | | //validation des lignes de données |
| | | String csvClass = "ExcelFileLine"; |
| | | String txtClass = "FileLine"; |
| | | String entityTagPart1 = "\t\t<entity name=\"com.megatim.typefichier.validator.model."; |
| | | String entityTagPart2 = " error-report-field=\"codeErreur\" activate=\"true\""; |
| | | String newLine = "> \n \n"; |
| | | |
| | | String extension = "\" extension=\"" + vf.getDataType().name().toLowerCase() + "\" "; |
| | | String headerPresent = " header-present=\"" + vf.isHeaderPresent() + "\""; |
| | | |
| | | switch (vf.getDataType()) { |
| | | case CSV: |
| | | String lineDelimiter = " line-delimiter=\"" + vf.getCodeDelimiteurLigne() + "\""; |
| | | String columnDelimiter = " column-delimiter=\"" + vf.getCodeDelimiteurColonne() + "\""; |
| | | FileUtils.writeStringToFile(file, entityTagPart1 + csvClass + extension + entityTagPart2 + headerPresent + lineDelimiter + columnDelimiter + newLine, charset, true); |
| | | break; |
| | | case XLS: |
| | | case XLSX: |
| | | FileUtils.writeStringToFile(file, entityTagPart1 + csvClass + extension + entityTagPart2 + headerPresent + newLine, charset, true); |
| | | break; |
| | | case TXT: |
| | | FileUtils.writeStringToFile(file, entityTagPart1 + txtClass + extension + entityTagPart2 + newLine, charset, true); |
| | | break; |
| | | default: |
| | | throw new UnsupportedDataTypeException("'" + vf.getDataType() + "' : format inconnu"); |
| | | } |
| | | columnsValidation(vf, file, charset); |
| | | |
| | | if (vf.getDataType().equals(DataType.TXT)) { |
| | | lineLengthValidation(f, file, charset); |
| | | } |
| | | closeTags(file, charset); |
| | | |
| | | } else { |
| | | FileUtils.writeStringToFile(file, "Le type fichier " + f.getTypeFichier().getCode() + " n'a pas de validateur enregistré ", "UTF-8", false); |
| | | } |
| | | if (fichierValidationEditFormController.getIsProtegeCheckBox().isSelected()) { |
| | | result = encryptAndZipFile(file, config, f.getKeyToEncrypt()); |
| | | } |
| | | } catch (Exception ex) { |
| | | result = false; |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | private void openTags(File file, final String charset) throws IOException { |
| | | FileUtils.writeStringToFile(file, "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n", charset, false); |
| | | FileUtils.writeStringToFile(file, "<predicate-config xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "xsi:schemaLocation=\"http://www.leadware.net/predicatelogic-config ../xsd/predicatelogic-config.xsd\" \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "xmlns=\"http://www.leadware.net/predicatelogic-config\"> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t<entities> \n", charset, true); |
| | | } |
| | | |
| | | private void fileNameValidation(FichierValidation f, File file, final String charset) throws IOException { |
| | | int fileNameIndex = 0; |
| | | |
| | | if (f.isValidateFileName()) { |
| | | |
| | | //validation du code participant dans le nom du fichier |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"CodeParticipant\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"ifCodeAgentOrCodeParticipant\" error-code=\"CodeParticipant\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"code\" value=\"" + f.getTypeFichier().getCodeParticipant() + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"fileName\" field=\"fileName\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"index\" value=\"" + fileNameIndex + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"taille\" value=\"" + f.getTypeFichier().getCodeParticipant().length() + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion>\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation>\n\n", charset, true); |
| | | |
| | | fileNameIndex += f.getTypeFichier().getCode().length(); |
| | | |
| | | //validation de la date dans le nom du fichier |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"Date\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"ifDate\" error-code=\"Date\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"format\" value=\"" + f.getFormatDate() + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"fileName\" field=\"fileName\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"index\" value=\"" + fileNameIndex + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion>\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation>\n\n", charset, true); |
| | | fileNameIndex += f.getFormatDate().length(); |
| | | |
| | | //validation des tierces |
| | | if (f.getMaxValueTierce() > 0) { |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"Tierce\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"ifTierce\" error-code=\"Tierce\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"minValue\" value=\"0\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"maxValue\" value=\"" + f.getMaxValueTierce() + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"index\" value=\"" + fileNameIndex + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"fileName\" field=\"fileName\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion>\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation>\n\n", charset, true); |
| | | } |
| | | |
| | | //validation de l'extension du fichier |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"Extension\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"equal\" error-code=\"Extension\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"equalValue\" value=\"" + f.getExtension() + "\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"equalParam\" field=\"extension\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion>\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation>\n\n", charset, true); |
| | | } |
| | | } |
| | | |
| | | private void emptyFileValidation(File file, final String charset) throws IOException { |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"FichierVide\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<assertion assert-name=\"notEqual\" error-code=\"FichierVide\" activate=\"true\">\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"notEqualValue\" value=\"0\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"notEqualParam\" field=\"nbOfLines\" />\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion>\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation>\n\n", charset, true); |
| | | } |
| | | |
| | | private void lineLengthValidation(FichierValidation f, File file, final String charset) throws IOException { |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"validation" + f.getTypeFichier().getCode() + "Taille\" activate=\"true\"> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"equal\" error-code=\"" + f.getTypeFichier().getCode() + "Taille\" activate=\"true\"> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"equalValue\" value=\"" + index + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"equalParam\" field=\"taille\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation> \n", charset, true); |
| | | } |
| | | |
| | | private void closeTags(File file, final String charset) throws IOException { |
| | | FileUtils.writeStringToFile(file, "\t\t</entity> \n\n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t</entities> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "</predicate-config>", charset, true); |
| | | } |
| | | |
| | | private void columnsValidation(ValidateurFichier vf, File file, final String charset) throws IOException { |
| | | List<StructureLigne> structureLignes = StructureLigneDAO.findByValidateurFichierId(vf.getId()); |
| | | Collections.sort(structureLignes, (StructureLigne s1, StructureLigne s2) -> new Integer(s1.getPosition()).compareTo(s2.getPosition())); |
| | | |
| | | switch (vf.getDataType()) { |
| | | case TXT: |
| | | txtColumns(structureLignes, file, charset); |
| | | break; |
| | | case CSV: |
| | | case XLS: |
| | | case XLSX: |
| | | csvColumns(structureLignes, file, charset); |
| | | break; |
| | | default: |
| | | throw new UnsupportedDataTypeException("Format de données inconnu"); |
| | | } |
| | | } |
| | | |
| | | private void txtColumns(List<StructureLigne> structureLignes, File file, final String charset) throws IOException { |
| | | |
| | | for (StructureLigne s : structureLignes) { |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"" + s.getCode() + "\" activate=\"true\"> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"ifTypeFichier\" error-code=\"" + s.getCode() + "\" activate=\"true\"> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"position\" value=\"" + s.getPosition() + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"index\" value=\"" + index + "\" /> \n", charset, true); |
| | | |
| | | if (s.getTypeDonnee().getValue().equals(TypeDonnee.DATE.getValue()) && s.getSeparateurDate() != null && !s.getSeparateurDate().isEmpty()) { |
| | | structureLigneNewLength(s); |
| | | } |
| | | |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"taille\" value=\"" + s.getTaille() + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"typeDonnee\" value=\"" + s.getTypeDonnee() + "\" /> \n", charset, true); |
| | | |
| | | if (s.getTypeDonnee().getValue().equals(TypeDonnee.DATE.getValue())) { |
| | | |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"formatDate\" value=\"" + s.getFormatDate() + "\" /> \n", charset, true); |
| | | |
| | | if (s.getSeparateurDate() != null && !s.getSeparateurDate().isEmpty()) { |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"separateurDate\" value=\"" + s.getSeparateurDate() + "\" /> \n", charset, true); |
| | | } |
| | | } |
| | | |
| | | if (s.getTypeDonnee().equals(TypeDonnee.DECIMAL)) { |
| | | index += s.getTaillePartieDecimal() + s.getSeparateurDecimal().length(); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"taillePartieDecimale\" value=\"" + s.getTaillePartieDecimal() + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"separateurDecimal\" value=\"" + s.getSeparateurDecimal() + "\" /> \n", charset, true); |
| | | } |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"ligne\" field=\"ligne\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation> \n \n", charset, true); |
| | | |
| | | index += s.getTaille(); |
| | | } |
| | | } |
| | | |
| | | //SI on suppose que les dates sont au format yyyy-MM-dd où le tiret (-) est le séparateur dans cet exemple |
| | | //on aura donc 2 séparateurs par date et dans dans ce cas, on ajoute 2, à l'index de fin de la date |
| | | private void structureLigneNewLength(StructureLigne s) { |
| | | //Si la date contient le mois, ajouter 1 à la taille pour le séparateur(-) |
| | | if (s.getFormatDate().contains("MM")) { |
| | | s.setTaille(s.getTaille() + 1); |
| | | } |
| | | |
| | | //Si la date contient le jour, ajouter 1 à la taille pour le séparateur(-) |
| | | if (s.getFormatDate().contains("dd")) { |
| | | s.setTaille(s.getTaille() + 1); |
| | | } |
| | | |
| | | //Si la date contient l'heure, ajouter 1 à la taille pour le séparateur (L'espace ou T) |
| | | if (s.getFormatDate().contains("HH")) { |
| | | s.setTaille(s.getTaille() + 1); |
| | | } |
| | | |
| | | //Si la date contient la minute, ajouter 1 à la taille pour le séparateur (:) |
| | | if (s.getFormatDate().contains("mm")) { |
| | | s.setTaille(s.getTaille() + 1); |
| | | } |
| | | |
| | | //Si la date contient la seconde, ajouter 1 à la taille pour le séparateur (:) |
| | | if (s.getFormatDate().contains("ss")) { |
| | | s.setTaille(s.getTaille() + 1); |
| | | } |
| | | } |
| | | |
| | | private void csvColumns(List<StructureLigne> structureLignes, File file, final String charset) throws IOException { |
| | | for (StructureLigne s : structureLignes) { |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"" + s.getCode() + "\" activate=\"true\"> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"ifTypeFichierCsv\" error-code=\"" + s.getCode() + "\" activate=\"true\"> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"position\" value=\"" + s.getPosition() + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"typeDonnee\" value=\"" + s.getTypeDonnee() + "\" /> \n", charset, true); |
| | | |
| | | if (s.getTypeDonnee().getValue().equals(TypeDonnee.DATE.getValue())) { |
| | | |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"formatDate\" value=\"" + s.getFormatDate() + "\" /> \n", charset, true); |
| | | |
| | | if (s.getSeparateurDate() != null && !s.getSeparateurDate().isEmpty()) { |
| | | structureLigneNewLength(s); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"separateurDate\" value=\"" + s.getSeparateurDate() + "\" /> \n", charset, true); |
| | | } |
| | | } else if (s.getTypeDonnee().equals(TypeDonnee.DECIMAL)) { |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"taillePartieDecimale\" value=\"" + s.getTaillePartieDecimal() + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"separateurDecimal\" value=\"" + s.getSeparateurDecimal() + "\" /> \n", charset, true); |
| | | |
| | | } |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"taille\" value=\"" + s.getTaille() + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"ligne\" field=\"columns\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation> \n \n", charset, true); |
| | | } |
| | | FileUtils.writeStringToFile(file, "\t\t\t<validation field-name=\"NBRE_COLONNES\" activate=\"true\"> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t<assertion assert-name=\"equal\" error-code=\"NBRE_COLONNES\" activate=\"true\"> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"equalValue\" value=\"" + structureLignes.size() + "\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t\t<param-value name=\"equalParam\" field=\"nbreColonnes\" /> \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t\t</assertion> \n \n", charset, true); |
| | | FileUtils.writeStringToFile(file, "\t\t\t</validation> \n \n", charset, true); |
| | | |
| | | } |
| | | |
| | | private Boolean encryptAndZipFile(File file, Configuration config, String keyToEncrypt) throws Exception { |
| | | Boolean res = false; |
| | | Boolean bool = encryptFile(file, config, keyToEncrypt); |
| | | |
| | | if (bool) { |
| | | JavaZipZip4Impl zip4Impl = new JavaZipZip4Impl(); |
| | | String destinationPath = config.getOutputDir(); |
| | | File encryptDir = new File(config.getOutputDir(), ENCRYPT_DIR); |
| | | File encryptFile = new File(encryptDir.getAbsolutePath(), file.getName()); |
| | | |
| | | zip4Impl.zipFile(encryptFile, new File(destinationPath)); |
| | | res = true; |
| | | |
| | | file.delete(); |
| | | encryptFile.delete(); |
| | | } |
| | | |
| | | return res; |
| | | } |
| | | |
| | | private Boolean encryptFile(File file, Configuration config, String keyToEncrypt) throws Exception { |
| | | File encryptDir = new File(config.getOutputDir(), ENCRYPT_DIR); |
| | | |
| | | if (!encryptDir.exists()) { |
| | | encryptDir.mkdir(); |
| | | } |
| | | |
| | | EncryptionFace aes = new AESImpl(); |
| | | aes.encryptFile(keyToEncrypt, 128, file.getAbsolutePath(), new File(encryptDir.getAbsolutePath(), file.getName()).getAbsolutePath()); |
| | | |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public void afterSave(ActionEvent event) { |
| | | Configuration config = ConfigurationService.getInstance().getCurrentConfig(); |
| | | Task<Boolean> task = new Task<Boolean>() { |
| | | @Override |
| | | protected Boolean call() throws Exception { |
| | | FichierValidation f = getCurrentObject(); |
| | | return generateFichierValidation(f, config); |
| | | } |
| | | }; |
| | | Node source = (Node) event.getSource(); |
| | | Stage parentStage = (Stage) source.getScene().getWindow(); |
| | | |
| | | task.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show()); |
| | | task.setOnFailed(e -> { |
| | | LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide(); |
| | | Throwable th = task.getException(); |
| | | |
| | | if (th instanceof ConfigException) { |
| | | NotificationDialog notificationDialog = new NotificationDialog( |
| | | th.getMessage(), NotificationType.WARNING, parentStage); |
| | | notificationDialog.showNotification(); |
| | | } else { |
| | | AlertMessageUtil.showAlertException(th, "Une exception s'est produite pendant la génération du fichier de validation", "Erreur"); |
| | | } |
| | | }); |
| | | task.setOnSucceeded(e -> { |
| | | LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide(); |
| | | Boolean taskResult = task.getValue(); |
| | | |
| | | if (taskResult) { |
| | | NotificationDialog notificationDialog = new NotificationDialog( |
| | | "Génération du fichier de validation réussie", |
| | | NotificationType.SUCCESS, |
| | | parentStage |
| | | ); |
| | | notificationDialog.showNotification(); |
| | | } else { |
| | | NotificationDialog notificationDialog = new NotificationDialog( |
| | | "Echec Génération du fichier de validation. Une erreur est survenue lors du traitement", |
| | | NotificationType.ERROR, |
| | | parentStage |
| | | ); |
| | | notificationDialog.showNotification(); |
| | | } |
| | | }); |
| | | new Thread(task).start(); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller; |
| | | |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.enums.TypeOperation; |
| | | import com.megatimfx.common.utils.ViewLoaderUtil; |
| | | import com.megatim.fdxgenerator.forms.ImportTypeFichierEditFormController; |
| | | import com.megatim.fdxgenerator.model.ImportFile; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.event.ActionEvent; |
| | | import javafx.scene.layout.Pane; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ImportTypeFichierEditDialogController extends AbstractEditDialogController<ImportFile> { |
| | | |
| | | private ImportTypeFichierEditFormController importFileEditFormController; |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | getEditButton().setText("Importer"); |
| | | return "Importation des type fichiers"; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getContentFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(importFileEditFormController.getClass().getResource("ImportTypeFichierEditForm.fxml"), importFileEditFormController); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public Object getContentFormController() { |
| | | return importFileEditFormController; |
| | | } |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | importFileEditFormController = new ImportTypeFichierEditFormController(); |
| | | super.initialize(url, rb); |
| | | } |
| | | |
| | | @Override |
| | | public boolean beforeSave(ActionEvent event) { |
| | | getCurrentObject(); |
| | | return super.beforeSave(event); |
| | | } |
| | | |
| | | @Override |
| | | protected void afterBindCurrentObjectWithFormField(ImportFile bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.afterBindCurrentObjectWithFormField(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | @Override |
| | | protected void beforeBindCurrentObjectWithFormField(ImportFile bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.beforeBindCurrentObjectWithFormField(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | @Override |
| | | protected void afterBindFormFieldWithCurrentObject(ImportFile bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.afterBindFormFieldWithCurrentObject(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | @Override |
| | | protected void beforeBindFormFieldWithCurrentObject(ImportFile bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.beforeBindFormFieldWithCurrentObject(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/javafx/FXMLController.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.controller; |
| | | |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.abstracts.AbstractMainDialogController; |
| | | import com.megatimfx.common.abstracts.context.AbstractViewContext; |
| | | import com.megatimfx.common.enums.TypeOperation; |
| | | import com.megatim.fdxgenerator.model.Configuration; |
| | | import com.megatim.fdxgenerator.model.FichierValidation; |
| | | import com.megatim.fdxgenerator.model.ImportFile; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.model.dao.HibernateUtil; |
| | | import com.megatim.fdxgenerator.service.ConfigurationService; |
| | | import com.megatim.fdxgenerator.service.ImportFileService; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | | import javafx.concurrent.Task; |
| | | import javafx.event.ActionEvent; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.FXMLLoader; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.Parent; |
| | | import javafx.scene.Scene; |
| | | import javafx.scene.control.Button; |
| | | import javafx.scene.control.Label; |
| | | import javafx.scene.control.MenuItem; |
| | | import javafx.scene.control.ProgressIndicator; |
| | | import javafx.scene.control.Tooltip; |
| | | import javafx.scene.layout.VBox; |
| | | import javafx.stage.Modality; |
| | | import javafx.stage.Stage; |
| | | import javafx.stage.StageStyle; |
| | | |
| | | /** |
| | | * FXML Controller class |
| | | * |
| | | * @author mela |
| | | */ |
| | | public class MainController implements Initializable { |
| | | |
| | | @FXML |
| | | private VBox mainContainer; |
| | | |
| | | @FXML |
| | | public MenuItem configMenuItem; |
| | | |
| | | private Stage parent; |
| | | |
| | | @FXML |
| | | ProgressIndicator indicator; |
| | | |
| | | @FXML |
| | | Label labelVersion; |
| | | |
| | | @FXML |
| | | Button pinButton; |
| | | |
| | | ConfigEditDialogController configEditDialogController; |
| | | |
| | | |
| | | @FXML |
| | | private Button btnGenValidateur; |
| | | |
| | | /** |
| | | * Initializes the controller class. |
| | | * |
| | | * @param url |
| | | * @param rb |
| | | */ |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | } |
| | | |
| | | private void setStage(Parent root) { |
| | | Scene scene = new Scene(root); |
| | | Stage stage = new Stage(); |
| | | |
| | | stage.setScene(scene); |
| | | stage.initStyle(StageStyle.UNDECORATED); |
| | | stage.initModality(Modality.APPLICATION_MODAL); |
| | | |
| | | //On ajoute les tooltips aux boutons |
| | | addToolTipBoutons(); |
| | | |
| | | stage.show(); |
| | | } |
| | | |
| | | @FXML |
| | | public void openTypeFichierDialog(ActionEvent event) { |
| | | try { |
| | | |
| | | FXMLLoader loader = new FXMLLoader( |
| | | (AbstractViewContext.getInstance().getAbstractMainDialogControllerURL() == null) |
| | | ? AbstractMainDialogController.class.getResource("AbstractMainDialog.fxml") |
| | | : AbstractViewContext.getInstance().getAbstractMainDialogControllerURL() |
| | | ); |
| | | loader.setControllerFactory(param -> new TypeFichierListDialogController()); |
| | | Parent root = loader.load(); |
| | | |
| | | setStage(root); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(MainController.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | @FXML |
| | | public void openValidateurFichierDialog(ActionEvent event) { |
| | | try { |
| | | |
| | | FXMLLoader loader = new FXMLLoader( |
| | | (AbstractViewContext.getInstance().getAbstractMainDialogControllerURL() == null) |
| | | ? AbstractMainDialogController.class.getResource("AbstractMainDialog.fxml") |
| | | : AbstractViewContext.getInstance().getAbstractMainDialogControllerURL() |
| | | ); |
| | | loader.setControllerFactory(param -> new ValidateurFichierListDialogController()); |
| | | Parent root = loader.load(); |
| | | setStage(root); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(MainController.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | @FXML |
| | | public void openStructureLigneDialog(ActionEvent event) { |
| | | try { |
| | | |
| | | FXMLLoader loader = new FXMLLoader( |
| | | (AbstractViewContext.getInstance().getAbstractMainDialogControllerURL() == null) |
| | | ? AbstractMainDialogController.class.getResource("AbstractMainDialog.fxml") |
| | | : AbstractViewContext.getInstance().getAbstractMainDialogControllerURL() |
| | | ); |
| | | loader.setControllerFactory(param -> new StructureLigneListDialogController()); |
| | | Parent root = loader.load(); |
| | | setStage(root); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(MainController.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | @FXML |
| | | public void openFichierValidationDialog(ActionEvent event) { |
| | | |
| | | try { |
| | | |
| | | FXMLLoader loader = new FXMLLoader( |
| | | (AbstractViewContext.getInstance().getAbstractEditDialogControllerURL() == null) |
| | | ? AbstractEditDialogController.class.getResource("AbstractEditDialog.fxml") |
| | | : AbstractViewContext.getInstance().getAbstractEditDialogControllerURL() |
| | | ); |
| | | |
| | | FichierValidationEditDialogController controller = new FichierValidationEditDialogController(); |
| | | |
| | | loader.setControllerFactory(param -> controller); |
| | | |
| | | Parent root = loader.load(); |
| | | Stage stage = (Stage) mainContainer.getScene().getWindow(); |
| | | |
| | | controller.initData(stage, TypeOperation.ADD, new FichierValidation(), null, null, true); |
| | | |
| | | setStage(root); |
| | | |
| | | } catch (IOException ex) { |
| | | |
| | | Logger.getLogger(MainController.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | @FXML |
| | | public void openImportTypeFichierDialog(ActionEvent event) { |
| | | try { |
| | | |
| | | FXMLLoader loader = new FXMLLoader( |
| | | (AbstractViewContext.getInstance().getAbstractEditDialogControllerURL() == null) |
| | | ? AbstractEditDialogController.class.getResource("AbstractEditDialog.fxml") |
| | | : AbstractViewContext.getInstance().getAbstractEditDialogControllerURL() |
| | | ); |
| | | ImportTypeFichierEditDialogController controller = new ImportTypeFichierEditDialogController(); |
| | | loader.setControllerFactory(param -> controller); |
| | | |
| | | Parent root = loader.load(); |
| | | Stage stage = (Stage) mainContainer.getScene().getWindow(); |
| | | |
| | | ImportFile imp = new ImportFile(); |
| | | imp.setType(TypeFichier.class); |
| | | controller.initData(stage, TypeOperation.ADD, imp, ImportFileService.getInstance(), null, false); |
| | | |
| | | setStage(root); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(MainController.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | @FXML |
| | | public void openConfigDialog(ActionEvent event) { |
| | | Task<Configuration> task = new Task() { |
| | | |
| | | @Override |
| | | protected Object call() throws Exception { |
| | | return ConfigurationService.getInstance().getCurrentConfig(); |
| | | } |
| | | }; |
| | | Thread th = new Thread(task); |
| | | th.setDaemon(true); |
| | | th.start(); |
| | | |
| | | task.setOnSucceeded(e -> { |
| | | try { |
| | | |
| | | FXMLLoader loader = new FXMLLoader( |
| | | (AbstractViewContext.getInstance().getAbstractEditDialogControllerURL() == null) |
| | | ? AbstractEditDialogController.class.getResource("AbstractEditDialog.fxml") |
| | | : AbstractViewContext.getInstance().getAbstractEditDialogControllerURL() |
| | | ); |
| | | |
| | | configEditDialogController = new ConfigEditDialogController(); |
| | | |
| | | loader.setControllerFactory(param -> configEditDialogController); |
| | | Parent root = loader.load(); |
| | | parent = (Stage) mainContainer.getScene().getWindow(); |
| | | |
| | | Configuration config = task.getValue(); |
| | | if (config == null) { |
| | | configEditDialogController.initData(parent, TypeOperation.ADD, new Configuration(), ConfigurationService.getInstance(), null, false); |
| | | } else { |
| | | configEditDialogController.initData(parent, TypeOperation.UPDATE, config, ConfigurationService.getInstance(), null, false); |
| | | } |
| | | configMenuItem.setDisable(false); |
| | | |
| | | setStage(root); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(MainController.class.getName()).log(Level.SEVERE, null, ex); |
| | | } |
| | | |
| | | }); |
| | | task.setOnRunning(e -> configMenuItem.setDisable(true)); |
| | | } |
| | | |
| | | @FXML |
| | | public void quit(ActionEvent event) { |
| | | HibernateUtil.shutdown(); |
| | | System.exit(0); |
| | | } |
| | | |
| | | public ProgressIndicator getIndicator() { |
| | | return indicator; |
| | | } |
| | | |
| | | public void setIndicator(ProgressIndicator indicator) { |
| | | this.indicator = indicator; |
| | | } |
| | | |
| | | public Label getLabelVersion() { |
| | | return labelVersion; |
| | | } |
| | | |
| | | public void setLabelVersion(Label labelVersion) { |
| | | this.labelVersion = labelVersion; |
| | | } |
| | | |
| | | public Button getPinButton() { |
| | | return pinButton; |
| | | } |
| | | |
| | | public void setPinButton(Button pinButton) { |
| | | this.pinButton = pinButton; |
| | | } |
| | | |
| | | private void addToolTipBoutons() { |
| | | |
| | | //Variables |
| | | Tooltip tooltipGenValidateur = new Tooltip("Importation des formats de validation"); |
| | | |
| | | //On set le styles |
| | | tooltipGenValidateur.setStyle("-fx-background-color: rgba(216, 215, 208, 1); -fx-text-fill: black;"); |
| | | |
| | | //On set les toolTips |
| | | btnGenValidateur.setTooltip(tooltipGenValidateur); |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | 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.TypeDonnee; |
| | | import com.megatim.fdxgenerator.forms.StructureLigneEditFormController; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.collections.FXCollections; |
| | | import javafx.collections.ObservableList; |
| | | import javafx.event.ActionEvent; |
| | | import javafx.scene.Node; |
| | | import javafx.scene.layout.Pane; |
| | | import javafx.stage.Stage; |
| | | |
| | | public class StructureLigneEditDialogController extends AbstractEditDialogController<StructureLigne> { |
| | | |
| | | private StructureLigneEditFormController structureLigneEditFormController; |
| | | |
| | | private ObservableList<StructureLigne> selectedStructureLignes = FXCollections.observableArrayList(); |
| | | |
| | | private TypeFichier typeFichier; |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | super.initialize(url, rb); |
| | | } |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | return "Editer une structure de ligne"; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getContentFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile( |
| | | structureLigneEditFormController.getClass().getResource("StructureLigneEditForm.fxml"), |
| | | structureLigneEditFormController |
| | | ); |
| | | } |
| | | |
| | | @Override |
| | | public Object getContentFormController() { |
| | | return structureLigneEditFormController; |
| | | } |
| | | |
| | | @Override |
| | | protected void beforeBindFormFieldWithCurrentObject(StructureLigne bindObject, Object formController, TypeOperation typeOperation) { |
| | | |
| | | if (formController instanceof StructureLigneEditFormController) { |
| | | |
| | | if (typeOperation.equals(TypeOperation.UPDATE) || typeOperation.equals(TypeOperation.VIEW)) { |
| | | |
| | | if (bindObject.getTypeDonnee().equals(TypeDonnee.DATE) && App.SEPARATEURS_DATE.containsKey(bindObject.getSeparateurDate())) { |
| | | |
| | | bindObject.setDelimiteurDate(App.SEPARATEURS_DATE.get(bindObject.getSeparateurDate())); |
| | | } |
| | | if (bindObject.getTypeDonnee().equals(TypeDonnee.DECIMAL) && App.SEPARATEURS_DECIMAUX.containsKey(bindObject.getSeparateurDecimal())) { |
| | | |
| | | bindObject.setDelimiteurDecimal(App.SEPARATEURS_DECIMAUX.get(bindObject.getSeparateurDecimal())); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public boolean beforeSave(ActionEvent event) { |
| | | Boolean proceed = super.beforeSave(event); |
| | | StringBuilder message = new StringBuilder(0); |
| | | |
| | | if (proceed) { |
| | | |
| | | if (getCurrentObject().getTypeDonnee().equals(TypeDonnee.DATE)) { |
| | | |
| | | boolean proceed1 = getCurrentObject().getFormatDate() != null |
| | | && getCurrentObject().getTaille() == getCurrentObject().getFormatDate().length(); |
| | | |
| | | proceed = proceed && proceed1; |
| | | |
| | | if (!proceed1) { |
| | | message.append("Le format de la date est obligatoire et sa taille doit être égale à la taille du champ\n"); |
| | | } |
| | | |
| | | boolean proceedSeparateurDate = getCurrentObject().getDelimiteurDate() != null; |
| | | proceed = proceed && proceedSeparateurDate; |
| | | |
| | | if (proceedSeparateurDate) { |
| | | getCurrentObject().setSeparateurDate(getCurrentObject().getDelimiteurDate().getCode()); |
| | | } else { |
| | | message.append("Le séparateur de date est obligatoire\n"); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (getCurrentObject().getTypeDonnee().equals(TypeDonnee.DECIMAL)) { |
| | | |
| | | boolean proceedSeparateurDecimal = getCurrentObject().getDelimiteurDecimal() != null; |
| | | proceed = proceed && proceedSeparateurDecimal; |
| | | |
| | | if (proceedSeparateurDecimal) { |
| | | getCurrentObject().setSeparateurDecimal(getCurrentObject().getDelimiteurDecimal().getCode()); |
| | | } else { |
| | | message.append("Le séparateur de décimal est obligatoire\n"); |
| | | } |
| | | |
| | | boolean proceedTailleDecimal = getCurrentObject().getTaillePartieDecimal() > 1; |
| | | proceed = proceed && proceedTailleDecimal; |
| | | |
| | | if (!proceedTailleDecimal) { |
| | | message.append("La taille de la partie entière 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 |
| | | protected void afterBindCurrentObjectWithFormField(StructureLigne bindObject, Object formController, TypeOperation typeOperation) { |
| | | if (formController instanceof StructureLigneEditFormController) { |
| | | if (typeFichier != null) { |
| | | bindObject.setId(typeFichier + "" + bindObject.getPosition()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public StructureLigneEditFormController getStructureLigneEditFormController() { |
| | | return structureLigneEditFormController; |
| | | } |
| | | |
| | | public void setStructureLigneEditFormController(StructureLigneEditFormController structureLigneEditFormController) { |
| | | this.structureLigneEditFormController = structureLigneEditFormController; |
| | | } |
| | | |
| | | public void setTypeFichier(TypeFichier typeFichier) { |
| | | this.typeFichier = typeFichier; |
| | | } |
| | | |
| | | public void setSelectedStructureLignes(ObservableList<StructureLigne> selectedStructureLignes) { |
| | | this.selectedStructureLignes = selectedStructureLignes; |
| | | } |
| | | |
| | | @Override |
| | | public void afterSave(ActionEvent event, Object formController, TypeOperation typeOperation) { |
| | | |
| | | StructureLigneEditFormController controller = (StructureLigneEditFormController) formController; |
| | | |
| | | if (getTypeOperation().equals(TypeOperation.UPDATE)) { |
| | | |
| | | boolean exists = false; |
| | | |
| | | ObservableList<Integer> liste = controller.getList(); |
| | | |
| | | for (Integer i : liste) { |
| | | |
| | | if (i.equals(controller.getInitialUpdateSelection())) { |
| | | |
| | | exists = true; |
| | | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!exists) { |
| | | |
| | | liste.add(controller.getInitialUpdateSelection()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | protected void afterBindFormFieldWithCurrentObject(StructureLigne bindObject, Object formController, TypeOperation typeOperation) { |
| | | StructureLigneEditFormController controller = (StructureLigneEditFormController) formController; |
| | | |
| | | if (typeOperation.equals(TypeOperation.UPDATE)) { |
| | | controller.setInitialUpateSelection(); |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller; |
| | | |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.abstracts.AbstractMainDialogController; |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatim.fdxgenerator.controller.table.StructureLigneTable; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import com.megatim.fdxgenerator.service.StructureLigneService; |
| | | import java.net.URL; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.ResourceBundle; |
| | | import javafx.scene.control.TableColumn; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class StructureLigneListDialogController extends AbstractMainDialogController<StructureLigne,StructureLigne> { |
| | | |
| | | // private StructureLigneSearchFormController structureLigneSearchFormController; |
| | | // private StructureLigneAdvancedSearchFormController structureLigneAdvancedSearchFormController; |
| | | |
| | | @Override |
| | | public GenericCrudService<StructureLigne> getGenericCrudService() { |
| | | return StructureLigneService.getInstance(); |
| | | } |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | return "Liste des structures lignes"; |
| | | } |
| | | |
| | | @Override |
| | | public Class<StructureLigne> getElementClazz() { |
| | | return StructureLigne.class; |
| | | } |
| | | |
| | | @Override |
| | | public List<TableColumn> getElementTableColumns() { |
| | | return Arrays.asList(StructureLigneTable.codeColumn(),StructureLigneTable.positionColumn(),StructureLigneTable.tailleColumn(),StructureLigneTable.typeDonneeColumn()); |
| | | } |
| | | |
| | | @Override |
| | | public AbstractEditDialogController<StructureLigne> getAbstractEditDialogController() { |
| | | return new StructureLigneEditDialogController(); |
| | | } |
| | | |
| | | @Override |
| | | public List<SearchCriteria> getPermanentSearchCriterias() { |
| | | List<SearchCriteria> liste = new ArrayList<>(); |
| | | |
| | | return liste; |
| | | } |
| | | |
| | | // @Override |
| | | // public Object getSearchFormController() { |
| | | // return structureLigneSearchFormController; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public Pane getSearchFormPane() throws IOException { |
| | | // return ViewLoaderUtil.getPaneFromFxmlFile(structureLigneSearchFormController.getClass().getResource("structureLigneSearchForm.fxml"), structureLigneSearchFormController); |
| | | // } |
| | | |
| | | @Override |
| | | public void initialize(URL location, ResourceBundle resources) { |
| | | setAddButtonDisable(true); |
| | | setDeleteButtonDisable(true); |
| | | setEditButtonDisable(true); |
| | | setPrintButtonDisable(true); |
| | | // structureLigneSearchFormController = new StructureLigneSearchFormController(); |
| | | // structureLigneAdvancedSearchFormController = new StructureLigneAdvancedSearchFormController(); |
| | | super.initialize(location, resources); |
| | | } |
| | | |
| | | // @Override |
| | | // public Object getAdvancedSearchFormController() { |
| | | // return structureLigneAdvancedSearchFormController; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public Pane getAdvancedSearchFormPane() throws IOException { |
| | | // return ViewLoaderUtil.getPaneFromFxmlFile(structureLigneAdvancedSearchFormController.getClass().getResource("StructureLigneAdvancedSearchForm.fxml"), structureLigneAdvancedSearchFormController); |
| | | // } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller; |
| | | |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.enums.TypeOperation; |
| | | import com.megatimfx.common.utils.ViewLoaderUtil; |
| | | import com.megatim.fdxgenerator.forms.TypeFichierEditFormController; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.event.ActionEvent; |
| | | import javafx.scene.layout.Pane; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierEditDialogController extends AbstractEditDialogController<TypeFichier>{ |
| | | private TypeFichierEditFormController typeFichierEditFormController; |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | return "Edition d'un type fichier"; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getContentFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(typeFichierEditFormController.getClass().getResource("TypeFichierEditForm.fxml"), typeFichierEditFormController); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public Object getContentFormController() { |
| | | return typeFichierEditFormController; |
| | | } |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | typeFichierEditFormController = new TypeFichierEditFormController(); |
| | | super.initialize(url, rb); |
| | | } |
| | | |
| | | @Override |
| | | public boolean beforeSave(ActionEvent event) { |
| | | getCurrentObject(); |
| | | return super.beforeSave(event); |
| | | } |
| | | |
| | | @Override |
| | | protected void afterBindCurrentObjectWithFormField(TypeFichier bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.afterBindCurrentObjectWithFormField(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | @Override |
| | | protected void beforeBindCurrentObjectWithFormField(TypeFichier bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.beforeBindCurrentObjectWithFormField(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | @Override |
| | | protected void afterBindFormFieldWithCurrentObject(TypeFichier bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.afterBindFormFieldWithCurrentObject(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | @Override |
| | | protected void beforeBindFormFieldWithCurrentObject(TypeFichier bindObject, Object formController, TypeOperation typeOperation) { |
| | | super.beforeBindFormFieldWithCurrentObject(bindObject, formController, typeOperation); |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller; |
| | | |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.abstracts.AbstractMainDialogController; |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatimfx.common.utils.ViewLoaderUtil; |
| | | import com.megatim.fdxgenerator.controller.search.TypeFichierAdvancedSearchFormController; |
| | | import com.megatim.fdxgenerator.controller.search.TypeFichierSearchFormController; |
| | | import com.megatim.fdxgenerator.controller.table.TypeFichierTable; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.service.TypeFichierService; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.ResourceBundle; |
| | | import javafx.scene.control.TableColumn; |
| | | import javafx.scene.layout.Pane; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierListDialogController extends AbstractMainDialogController<TypeFichier, TypeFichier> { |
| | | |
| | | private TypeFichierSearchFormController typeFichierSearchFormController; |
| | | private TypeFichierAdvancedSearchFormController typeFichierAdvancedSearchFormController; |
| | | |
| | | @Override |
| | | public GenericCrudService<TypeFichier> getGenericCrudService() { |
| | | return TypeFichierService.getInstance(); |
| | | } |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | return "Liste des type de fichiers"; |
| | | } |
| | | |
| | | @Override |
| | | public Class<TypeFichier> getElementClazz() { |
| | | return TypeFichier.class; |
| | | } |
| | | |
| | | @Override |
| | | public List<TableColumn> getElementTableColumns() { |
| | | return Arrays.asList(TypeFichierTable.codeColumn(), TypeFichierTable.libelleColumn(), TypeFichierTable.participantColumn()); |
| | | } |
| | | |
| | | @Override |
| | | public AbstractEditDialogController<TypeFichier> getAbstractEditDialogController() { |
| | | return new TypeFichierEditDialogController(); |
| | | } |
| | | |
| | | @Override |
| | | public List<SearchCriteria> getPermanentSearchCriterias() { |
| | | List<SearchCriteria> liste = new ArrayList<>(); |
| | | |
| | | return liste; |
| | | } |
| | | |
| | | @Override |
| | | public Object getSearchFormController() { |
| | | return typeFichierSearchFormController; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getSearchFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(typeFichierSearchFormController.getClass().getResource("TypeFichierSearchForm.fxml"), typeFichierSearchFormController); |
| | | } |
| | | |
| | | @Override |
| | | public void initialize(URL location, ResourceBundle resources) { |
| | | |
| | | typeFichierSearchFormController = new TypeFichierSearchFormController(); |
| | | typeFichierAdvancedSearchFormController = new TypeFichierAdvancedSearchFormController(); |
| | | |
| | | //setDeleteButtonDisable(true); |
| | | setEditButtonDisable(true); |
| | | setPrintButtonDisable(true); |
| | | setDeleteButtonDisable(true); |
| | | setPrintButtonDisable(true); |
| | | |
| | | super.initialize(location, resources); |
| | | } |
| | | |
| | | @Override |
| | | public Object getAdvancedSearchFormController() { |
| | | return typeFichierAdvancedSearchFormController; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getAdvancedSearchFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(typeFichierAdvancedSearchFormController.getClass().getResource("TypeFichierAdvancedSearchForm.fxml"), typeFichierAdvancedSearchFormController); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller; |
| | | |
| | | import com.megatimfx.common.abstracts.AbstractEditDialogController; |
| | | import com.megatimfx.common.abstracts.AbstractMainDialogController; |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatimfx.common.utils.ViewLoaderUtil; |
| | | import com.megatim.fdxgenerator.controller.search.ValidateurFichierAdvancedSearchFormController; |
| | | import com.megatim.fdxgenerator.controller.search.ValidateurFichierSearchFormController; |
| | | import com.megatim.fdxgenerator.controller.table.ValidateurFichierTable; |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import com.megatim.fdxgenerator.service.ValidateurFichierService; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.ResourceBundle; |
| | | import javafx.scene.control.TableColumn; |
| | | import javafx.scene.layout.Pane; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ValidateurFichierListDialogController extends AbstractMainDialogController<ValidateurFichier,ValidateurFichier> { |
| | | |
| | | private ValidateurFichierSearchFormController validateurFichierSearchFormController; |
| | | private ValidateurFichierAdvancedSearchFormController validateurFichierAdvancedSearchFormController; |
| | | |
| | | @Override |
| | | public GenericCrudService<ValidateurFichier> getGenericCrudService() { |
| | | return ValidateurFichierService.getInstance(); |
| | | } |
| | | |
| | | @Override |
| | | public String getTitle() { |
| | | return "Liste des validateurs fichiers"; |
| | | } |
| | | |
| | | @Override |
| | | public Class<ValidateurFichier> getElementClazz() { |
| | | return ValidateurFichier.class; |
| | | } |
| | | |
| | | @Override |
| | | public List<TableColumn> getElementTableColumns() { |
| | | return Arrays.asList(ValidateurFichierTable.typeFichierColumn(),ValidateurFichierTable.nombrePositionColumn()); |
| | | } |
| | | |
| | | @Override |
| | | public AbstractEditDialogController<ValidateurFichier> getAbstractEditDialogController() { |
| | | return new ValidateurFichierEditDialogController(); |
| | | } |
| | | |
| | | @Override |
| | | public List<SearchCriteria> getPermanentSearchCriterias() { |
| | | List<SearchCriteria> liste = new ArrayList<>(); |
| | | |
| | | return liste; |
| | | } |
| | | |
| | | @Override |
| | | public Object getSearchFormController() { |
| | | return validateurFichierSearchFormController; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getSearchFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(validateurFichierSearchFormController.getClass().getResource("ValidateurFichierSearchForm.fxml"), validateurFichierSearchFormController); |
| | | } |
| | | |
| | | @Override |
| | | public void initialize(URL location, ResourceBundle resources) { |
| | | validateurFichierSearchFormController = new ValidateurFichierSearchFormController(); |
| | | validateurFichierAdvancedSearchFormController = new ValidateurFichierAdvancedSearchFormController(); |
| | | super.initialize(location, resources); |
| | | } |
| | | |
| | | @Override |
| | | public Object getAdvancedSearchFormController() { |
| | | return validateurFichierAdvancedSearchFormController; |
| | | } |
| | | |
| | | @Override |
| | | public Pane getAdvancedSearchFormPane() throws IOException { |
| | | return ViewLoaderUtil.getPaneFromFxmlFile(validateurFichierAdvancedSearchFormController.getClass().getResource("ValidateurFichierAdvancedSearchForm.fxml"), validateurFichierAdvancedSearchFormController); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.search; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class StructureLigneAdvancedSearchFormController { |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.search; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class StructureLigneSearchFormController { |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.search; |
| | | |
| | | import com.megatimfx.common.annontations.Search; |
| | | import com.megatimfx.common.enums.Operateur; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.control.TextField; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierAdvancedSearchFormController implements Initializable { |
| | | |
| | | |
| | | @Search(fieldName = "libelle", operateur = Operateur.LIKE, editable = false) |
| | | @FXML |
| | | private TextField libelle; |
| | | |
| | | @Search(fieldName = "codeParticipant", operateur = Operateur.LIKE, editable = false) |
| | | @FXML |
| | | private TextField participant; |
| | | |
| | | /** |
| | | * Initializes the controller class. |
| | | */ |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | // TODO |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.search; |
| | | |
| | | import com.megatimfx.common.annontations.Search; |
| | | import com.megatimfx.common.enums.Operateur; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.control.TextField; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierSearchFormController implements Initializable{ |
| | | @Search(fieldName = "code", operateur = Operateur.LIKE) |
| | | @FXML |
| | | private TextField code; |
| | | |
| | | /** |
| | | * Initializes the controller class. |
| | | */ |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | // TODO |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.search; |
| | | |
| | | import com.megatimfx.common.annontations.Search; |
| | | import com.megatimfx.common.enums.Operateur; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.control.TextField; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ValidateurFichierAdvancedSearchFormController implements Initializable { |
| | | |
| | | @Search(fieldName = "nombrePosition", operateur = Operateur.EQUALS) |
| | | @FXML |
| | | private TextField nombrePosition; |
| | | |
| | | /** |
| | | * Initializes the controller class. |
| | | */ |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | // TODO |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.search; |
| | | |
| | | import com.megatimfx.common.annontations.Search; |
| | | import com.megatimfx.common.customcontrols.AbstractSelectionItem; |
| | | import com.megatimfx.common.enums.Operateur; |
| | | import com.megatimfx.components.customdialogs.AlertMessageUtil; |
| | | import com.megatimfx.components.customdialogs.LoadinIndicatorDialogUtil; |
| | | import com.megatim.fdxgenerator.controller.table.TypeFichierTable; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.service.TypeFichierService; |
| | | import java.net.URL; |
| | | import java.util.Arrays; |
| | | import java.util.HashSet; |
| | | import java.util.ResourceBundle; |
| | | import java.util.Set; |
| | | import javafx.concurrent.Task; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.util.Pair; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ValidateurFichierSearchFormController implements Initializable { |
| | | |
| | | @Search(fieldName = "typeFichier", operateur = Operateur.EQUALS) |
| | | @FXML |
| | | private AbstractSelectionItem typeFichierAbstractSelectItem; |
| | | |
| | | private TypeFichierService typeFichierService = TypeFichierService.getInstance(); |
| | | |
| | | //ELEMENTS DE CHARGEMENT |
| | | private final Set<TypeFichier> typeFichierSet = new HashSet<>(); |
| | | |
| | | @Override |
| | | public void initialize(URL location, ResourceBundle resources) { |
| | | 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é") |
| | | )); |
| | | initElements(); |
| | | } |
| | | |
| | | private void initElements() { |
| | | Task<Void> task = new Task() { |
| | | @Override |
| | | protected Object call() throws Exception { |
| | | typeFichierSet.clear(); |
| | | typeFichierSet.addAll(typeFichierService.getAll()); |
| | | //typeFichierSet.addAll(typeFichierService.findAllByCategorieFichierAndTypeExtension(CategorieFichier.STRUCTURE, TypeExtension.TEXTE)); |
| | | return null; |
| | | } |
| | | }; |
| | | task.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show()); |
| | | task.setOnSucceeded(e -> { |
| | | LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide(); |
| | | typeFichierAbstractSelectItem.setElements(typeFichierSet); |
| | | }); |
| | | 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(); |
| | | } |
| | | |
| | | public AbstractSelectionItem<TypeFichier> getTypeFichierAbstractSelectItem() { |
| | | return typeFichierAbstractSelectItem; |
| | | } |
| | | |
| | | public void setTypeFichierAbstractSelectItem(AbstractSelectionItem<TypeFichier> typeFichierAbstractSelectItem) { |
| | | this.typeFichierAbstractSelectItem = typeFichierAbstractSelectItem; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.table; |
| | | |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import javafx.scene.control.TableColumn; |
| | | import javafx.scene.control.cell.PropertyValueFactory; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class StructureLigneTable { |
| | | |
| | | public StructureLigneTable() { |
| | | |
| | | } |
| | | |
| | | public static TableColumn<StructureLigne, String> positionColumn() { |
| | | TableColumn<StructureLigne, String> column = new TableColumn("Position"); |
| | | column.setCellValueFactory(new PropertyValueFactory("position")); |
| | | return column; |
| | | } |
| | | |
| | | public static TableColumn<StructureLigne, String> codeColumn() { |
| | | TableColumn<StructureLigne, String> column = new TableColumn("Code"); |
| | | column.setCellValueFactory(new PropertyValueFactory("code")); |
| | | return column; |
| | | } |
| | | public static TableColumn<StructureLigne, String> typeDonneeColumn() { |
| | | TableColumn<StructureLigne, String> column = new TableColumn("Type de données"); |
| | | column.setCellValueFactory(new PropertyValueFactory("typeDonnee")); |
| | | return column; |
| | | } |
| | | public static TableColumn<StructureLigne, String> tailleColumn() { |
| | | TableColumn<StructureLigne, String> column = new TableColumn("Taille"); |
| | | column.setCellValueFactory(new PropertyValueFactory("taille")); |
| | | return column; |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.table; |
| | | |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import javafx.scene.control.TableColumn; |
| | | import javafx.scene.control.cell.PropertyValueFactory; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierTable { |
| | | |
| | | private TypeFichierTable() { |
| | | |
| | | } |
| | | |
| | | public static TableColumn<TypeFichier, String> codeColumn() { |
| | | TableColumn<TypeFichier, String> column = new TableColumn("Code"); |
| | | column.setCellValueFactory(new PropertyValueFactory("code")); |
| | | return column; |
| | | } |
| | | |
| | | public static TableColumn<TypeFichier, String> libelleColumn() { |
| | | TableColumn<TypeFichier, String> column = new TableColumn("Libellé"); |
| | | column.setCellValueFactory(new PropertyValueFactory("libelle")); |
| | | return column; |
| | | } |
| | | |
| | | public static TableColumn<TypeFichier, String> participantColumn() { |
| | | TableColumn<TypeFichier, String> column = new TableColumn("Participant"); |
| | | column.setCellValueFactory(new PropertyValueFactory("codeParticipant")); |
| | | return column; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.controller.table; |
| | | |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import javafx.scene.control.TableColumn; |
| | | import javafx.scene.control.cell.PropertyValueFactory; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ValidateurFichierTable { |
| | | |
| | | public ValidateurFichierTable() { |
| | | |
| | | } |
| | | |
| | | public static TableColumn<ValidateurFichier, String> typeFichierColumn() { |
| | | TableColumn<ValidateurFichier, String> column = new TableColumn("TypeFichier"); |
| | | column.setCellValueFactory(new PropertyValueFactory("typeFichier")); |
| | | return column; |
| | | } |
| | | |
| | | public static TableColumn<ValidateurFichier, String> nombrePositionColumn() { |
| | | TableColumn<ValidateurFichier, String> column = new TableColumn("Nombre Position"); |
| | | column.setCellValueFactory(new PropertyValueFactory("nombrePosition")); |
| | | return column; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Enum.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.enums; |
| | | |
| | | import java.util.stream.Stream; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public enum DataType { |
| | | |
| | | CSV("CSV"), TXT("Texte(TXT)"), XLS("XLS"), XLSX("XLSX"); |
| | | |
| | | private final String dataType; |
| | | |
| | | private DataType(String dataType) { |
| | | this.dataType = dataType; |
| | | } |
| | | |
| | | public static DataType of(String dataType) { |
| | | return Stream.of(DataType.values()) |
| | | .filter(p -> p.getDataType().equals(dataType)) |
| | | .findFirst() |
| | | .orElseThrow(IllegalArgumentException::new); |
| | | } |
| | | |
| | | public String getDataType() { |
| | | return dataType; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return dataType; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Enum.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.enums; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public enum TypeDonnee { |
| | | ALPHANUMERIQUE("ALPHANUMERIQUE"), |
| | | NUMERIQUE("NUMERIQUE"), |
| | | DECIMAL("DECIMAL"), |
| | | DATE("DATE"); |
| | | |
| | | private final String value; |
| | | |
| | | private TypeDonnee(String value) { |
| | | this.value = value; |
| | | } |
| | | |
| | | public String getValue() { |
| | | return value; |
| | | } |
| | | |
| | | public static TypeDonnee fromValeur(String value) { |
| | | switch (value) { |
| | | case "ALPHANUMERIQUE": |
| | | return TypeDonnee.ALPHANUMERIQUE; |
| | | case "DATE": |
| | | return TypeDonnee.DATE; |
| | | case "NUMERIQUE": |
| | | return TypeDonnee.NUMERIQUE; |
| | | case "DECIMAL" : |
| | | return TypeDonnee.DECIMAL; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return value; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.exceptions; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ConfigException extends RuntimeException { |
| | | public ConfigException(String message) { |
| | | super(message); |
| | | } |
| | | |
| | | public ConfigException(String message, Throwable cause) { |
| | | super(message, cause); |
| | | } |
| | | |
| | | public ConfigException(Throwable cause) { |
| | | super(cause); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | * Click nbfs://nbhost/SystemFileSystem/Templates/javafx/FXMLController.java to edit this template |
| | | */ |
| | | package com.megatim.fdxgenerator.forms; |
| | | |
| | | import com.megatimfx.common.annontations.Champ; |
| | | import java.io.File; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.control.Button; |
| | | import javafx.scene.control.TextField; |
| | | import javafx.scene.input.MouseEvent; |
| | | import javafx.stage.DirectoryChooser; |
| | | import javafx.stage.Stage; |
| | | |
| | | /** |
| | | * FXML Controller class |
| | | * |
| | | * @author mela |
| | | */ |
| | | public class ConfigEditFormController implements Initializable { |
| | | |
| | | @Champ(mappedBy = "outputDir") |
| | | @FXML |
| | | private TextField outputDir; |
| | | |
| | | @FXML |
| | | private Button outButton; |
| | | |
| | | /** |
| | | * Initializes the controller class. |
| | | */ |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | outputDir.setEditable(Boolean.FALSE); |
| | | } |
| | | |
| | | |
| | | @FXML |
| | | void outButtonOnClicked(MouseEvent evt){ |
| | | DirectoryChooser directoryChooser = new DirectoryChooser(); |
| | | Stage stage = (Stage)outButton.getScene().getWindow(); |
| | | |
| | | File selectedDirectory = directoryChooser.showDialog(stage); |
| | | outputDir.setText(selectedDirectory.getAbsolutePath()); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.forms; |
| | | |
| | | import com.megatimfx.common.annontations.Champ; |
| | | import com.megatimfx.common.customcontrols.AbstractSelectionItem; |
| | | import com.megatimfx.components.customdialogs.AlertMessageUtil; |
| | | import com.megatimfx.components.customdialogs.LoadinIndicatorDialogUtil; |
| | | import com.megatim.fdxgenerator.controller.table.TypeFichierTable; |
| | | import com.megatim.fdxgenerator.enums.DataType; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.service.TypeFichierService; |
| | | import java.net.URL; |
| | | import java.util.Arrays; |
| | | import java.util.HashSet; |
| | | import java.util.ResourceBundle; |
| | | import java.util.Set; |
| | | import javafx.beans.value.ObservableValue; |
| | | 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.PasswordField; |
| | | import javafx.scene.control.TextField; |
| | | import javafx.scene.control.TitledPane; |
| | | import javafx.scene.image.ImageView; |
| | | import javafx.scene.input.MouseEvent; |
| | | import javafx.util.Pair; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class FichierValidationEditFormController implements Initializable { |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "typeFichier", type = TypeFichier.class, update = false) |
| | | private AbstractSelectionItem<TypeFichier> typeFichierAbstractSelectItem; |
| | | |
| | | @FXML |
| | | private TextField showKeyToEncrypt; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "formatDate") |
| | | private ComboBox<String> formatDate; |
| | | |
| | | // @FXML |
| | | // @Champ(mappedBy = "extension") |
| | | // private ComboBox<DataType> extensionFichier; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "maxValueTierce", type = Integer.class) |
| | | private TextField MaxValueTierceTextField; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "protege", type = Boolean.class) |
| | | private CheckBox isProtegeCheckBox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "validateFileName", type = Boolean.class) |
| | | private CheckBox validateFileNameCheckBox; |
| | | |
| | | @FXML |
| | | private TitledPane fileNameTitledPane; |
| | | |
| | | @FXML |
| | | private ImageView imageView; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "keyToEncrypt") |
| | | private PasswordField keyToEncryptField; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "keyConfirmation") |
| | | private PasswordField keyConfirmationField; |
| | | |
| | | private final TypeFichierService typeFichierService = TypeFichierService.getInstance(); |
| | | |
| | | //ELEMENTS DE CHARGEMENT |
| | | private final Set<TypeFichier> typeFichierSet = new HashSet<>(); |
| | | |
| | | private boolean passwordVisible; |
| | | |
| | | @Override |
| | | public void initialize(URL location, ResourceBundle resources) { |
| | | keyToEncryptField.setDisable(true); |
| | | keyConfirmationField.setDisable(true); |
| | | showKeyToEncrypt.setDisable(true); |
| | | fileNameTitledPane.setDisable(true); |
| | | |
| | | keyToDecryptWithEye(); |
| | | |
| | | formatDate.setPromptText("Selectionnez un format"); |
| | | formatDate.setItems(FXCollections.observableArrayList( |
| | | "yyyyMMddHHmmss", "yyyyMMdd", |
| | | "yyyyddMMHHmmss", "yyyyddMM", |
| | | "MMyyyyddHHmmss", "MMyyyydd", |
| | | "MMddyyyHHmmss", "MMddyyy" |
| | | )); |
| | | // extensionFichier.setPromptText("Selectionnez un format"); |
| | | // extensionFichier.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é") |
| | | )); |
| | | |
| | | MaxValueTierceTextField.textProperty().addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) -> { |
| | | if (!newValue.matches("\\d{1,9}")) { |
| | | MaxValueTierceTextField.setText(newValue.replaceAll("[^\\d]", "")); |
| | | } |
| | | }); |
| | | |
| | | isProtegeCheckBox.selectedProperty().addListener(l -> { |
| | | if (isProtegeCheckBox.isSelected()) { |
| | | keyToEncryptField.setDisable(false); |
| | | keyConfirmationField.setDisable(false); |
| | | showKeyToEncrypt.setDisable(false); |
| | | } |
| | | |
| | | if (!isProtegeCheckBox.isSelected()) { |
| | | keyToEncryptField.setDisable(true); |
| | | keyConfirmationField.setDisable(true); |
| | | showKeyToEncrypt.setDisable(true); |
| | | } |
| | | }); |
| | | |
| | | validateFileNameCheckBox.selectedProperty().addListener(l -> { |
| | | |
| | | if (validateFileNameCheckBox.isSelected()) { |
| | | fileNameTitledPane.setDisable(false); |
| | | } |
| | | |
| | | if (!validateFileNameCheckBox.isSelected()) { |
| | | fileNameTitledPane.setDisable(true); |
| | | } |
| | | }); |
| | | |
| | | initElements(); |
| | | } |
| | | |
| | | private void initElements() { |
| | | Task<Void> task = new Task() { |
| | | @Override |
| | | protected Object call() throws Exception { |
| | | typeFichierSet.clear(); |
| | | typeFichierSet.addAll(typeFichierService.getAllTypeFichWithValidateur()); |
| | | return null; |
| | | } |
| | | }; |
| | | task.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show()); |
| | | task.setOnSucceeded(e -> { |
| | | LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide(); |
| | | typeFichierAbstractSelectItem.setElements(typeFichierSet); |
| | | }); |
| | | 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(); |
| | | } |
| | | |
| | | public AbstractSelectionItem<TypeFichier> getTypeFichierAbstractSelectItem() { |
| | | return typeFichierAbstractSelectItem; |
| | | } |
| | | |
| | | public void setTypeFichierAbstractSelectItem(AbstractSelectionItem<TypeFichier> typeFichierAbstractSelectItem) { |
| | | this.typeFichierAbstractSelectItem = typeFichierAbstractSelectItem; |
| | | } |
| | | |
| | | public CheckBox getIsProtegeCheckBox() { |
| | | return isProtegeCheckBox; |
| | | } |
| | | |
| | | public PasswordField getKeyToEncryptField() { |
| | | return keyToEncryptField; |
| | | } |
| | | |
| | | public PasswordField getKeyConfirmationField() { |
| | | return keyConfirmationField; |
| | | } |
| | | |
| | | @FXML |
| | | void eyeOnMousePressed(MouseEvent event) { |
| | | if (passwordVisible) { |
| | | showKeyToEncrypt.setVisible(false); |
| | | keyToEncryptField.setVisible(true); |
| | | passwordVisible = false; |
| | | } else { |
| | | keyToEncryptField.setVisible(false); |
| | | showKeyToEncrypt.setVisible(true); |
| | | passwordVisible = true; |
| | | } |
| | | } |
| | | |
| | | private void keyToDecryptWithEye() { |
| | | passwordVisible = false; |
| | | keyToEncryptField.textProperty().bindBidirectional(showKeyToEncrypt.textProperty()); |
| | | showKeyToEncrypt.setVisible(false); |
| | | keyToEncryptField.setVisible(true); |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.forms; |
| | | |
| | | import com.megatimfx.common.annontations.Champ; |
| | | import com.megatim.fdxgenerator.pojo.Delimiteur; |
| | | import java.io.File; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.collections.FXCollections; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.control.Button; |
| | | import javafx.scene.control.ComboBox; |
| | | import javafx.scene.control.TextField; |
| | | import javafx.scene.input.MouseEvent; |
| | | import javafx.stage.FileChooser; |
| | | import javafx.stage.Window; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ImportTypeFichierEditFormController implements Initializable { |
| | | |
| | | // @FXML |
| | | // @Champ(mappedBy = "formatFichier") |
| | | // private ComboBox formatFichier; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "delimiteurLigne") |
| | | private ComboBox<Delimiteur> delimiteurLigne; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "delimiteurColonne") |
| | | private ComboBox<Delimiteur> delimiteurColonne; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "filePath") |
| | | private TextField fileToImportTextField; |
| | | |
| | | @FXML |
| | | private Button importButton; |
| | | |
| | | |
| | | @Override |
| | | public void initialize(URL location, ResourceBundle resources) { |
| | | delimiteurColonne.setPromptText("Sélectionnez un élément dans la liste"); |
| | | delimiteurColonne.setItems(FXCollections.observableArrayList( |
| | | new Delimiteur(";", "Point-virgule ( ; )"), |
| | | new Delimiteur("|", "Barre verticale ( | )"), |
| | | new Delimiteur("\\t", "Tabulation ( \\t )") |
| | | )); |
| | | |
| | | delimiteurLigne.setPromptText("Sélectionnez un élément dans la liste"); |
| | | delimiteurLigne.setItems(FXCollections.observableArrayList( |
| | | new Delimiteur("\\n", "Retour Charriot ( \\n )") |
| | | )); |
| | | |
| | | fileToImportTextField.setEditable(Boolean.FALSE); |
| | | fileToImportTextField.setPromptText("Selectionnez un fichier csv"); |
| | | } |
| | | |
| | | @FXML |
| | | void importButtonOnClicked(MouseEvent evt){ |
| | | FileChooser fileChooser = new FileChooser(); |
| | | Window window = importButton.getScene().getWindow(); |
| | | |
| | | File selectedFile = fileChooser.showOpenDialog(window); |
| | | fileToImportTextField.setText(selectedFile.getAbsolutePath()); |
| | | } |
| | | } |
| New file |
| | |
| | | package com.megatim.fdxgenerator.forms; |
| | | |
| | | import com.megatimfx.common.annontations.Champ; |
| | | import com.megatim.fdxgenerator.App; |
| | | import static com.megatim.fdxgenerator.App.FORMATS_DATE; |
| | | import com.megatim.fdxgenerator.enums.TypeDonnee; |
| | | import com.megatim.fdxgenerator.pojo.Delimiteur; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.collections.FXCollections; |
| | | import javafx.collections.ObservableList; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.control.ComboBox; |
| | | import javafx.scene.control.TextField; |
| | | |
| | | public class StructureLigneEditFormController implements Initializable { |
| | | |
| | | private ObservableList<Integer> list = FXCollections.observableArrayList(); |
| | | |
| | | // @FXML |
| | | // private VBox formFieldContainer; |
| | | // |
| | | // @FXML |
| | | // private HBox dateFormatContainer; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "position", type = Integer.class) |
| | | private ComboBox<Integer> positionComboBox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "typeDonnee", type = TypeDonnee.class) |
| | | private ComboBox<TypeDonnee> typeDonneeComboBox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "code", type = String.class) |
| | | private TextField codeTextField; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "designation", type = String.class) |
| | | private TextField designationTextField; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "taille", type = Integer.class) |
| | | private TextField tailleTextField; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "taillePartieDecimal", type = Integer.class) |
| | | private TextField taillePartieDecimalTextField; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "formatDate", type = String.class) |
| | | private ComboBox<String> formatDateComboBox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "delimiteurDate",type = Delimiteur.class) |
| | | private ComboBox<Delimiteur> delimiteurDateComboBox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "delimiteurDecimal",type = Delimiteur.class) |
| | | private ComboBox<Delimiteur> delimiteurDecimalComboBox; |
| | | |
| | | private Integer initialUpdateSelection; |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | |
| | | formatDateComboBox.setDisable(true); |
| | | formatDateComboBox.setPromptText("Sélectionnez un élément dans la liste"); |
| | | formatDateComboBox.setItems(FXCollections.observableArrayList( |
| | | FORMATS_DATE |
| | | )); |
| | | |
| | | delimiteurDateComboBox.setDisable(true); |
| | | delimiteurDateComboBox.setPromptText("Sélectionnez un élément dans la liste"); |
| | | delimiteurDateComboBox.setItems(FXCollections.observableArrayList( |
| | | App.SEPARATEURS_DATE.values() |
| | | )); |
| | | |
| | | taillePartieDecimalTextField.setDisable(true); |
| | | |
| | | delimiteurDecimalComboBox.setDisable(true); |
| | | delimiteurDecimalComboBox.setPromptText("Sélectionnez un élément dans la liste"); |
| | | delimiteurDecimalComboBox.setItems(FXCollections.observableArrayList( |
| | | App.SEPARATEURS_DECIMAUX.values() |
| | | )); |
| | | |
| | | positionComboBox.setItems(list); |
| | | typeDonneeComboBox.setItems(FXCollections.observableArrayList(TypeDonnee.values())); |
| | | typeDonneeComboBox.getSelectionModel().selectFirst(); |
| | | |
| | | tailleTextField.textProperty().addListener((observable, oldValue, newValue) -> { |
| | | if (!newValue.matches("\\d*")) { |
| | | tailleTextField.setText(oldValue); |
| | | } |
| | | }); |
| | | |
| | | typeDonneeComboBox.setOnAction(event -> { |
| | | |
| | | if (typeDonneeComboBox.getValue().equals(TypeDonnee.DATE)) { |
| | | formatDateComboBox.setDisable(false); |
| | | delimiteurDateComboBox.setDisable(false); |
| | | } else { |
| | | formatDateComboBox.setDisable(true); |
| | | delimiteurDateComboBox.setDisable(true); |
| | | } |
| | | |
| | | if (typeDonneeComboBox.getValue().equals(TypeDonnee.DECIMAL)) { |
| | | taillePartieDecimalTextField.setDisable(false); |
| | | delimiteurDecimalComboBox.setDisable(false); |
| | | } else { |
| | | taillePartieDecimalTextField.setDisable(true); |
| | | delimiteurDecimalComboBox.setDisable(true); |
| | | } |
| | | |
| | | }); |
| | | |
| | | } |
| | | |
| | | public void populatePositionComboBox(int positionNumber) { |
| | | list.clear(); |
| | | for (int i = 1; i <= positionNumber; i++) { |
| | | list.add(i); |
| | | } |
| | | |
| | | } |
| | | |
| | | public ComboBox getFormatDateComboBox() { |
| | | return formatDateComboBox; |
| | | } |
| | | |
| | | public ComboBox<TypeDonnee> getTypeDonneeComboBox() { |
| | | return typeDonneeComboBox; |
| | | } |
| | | |
| | | public ObservableList<Integer> getList() { |
| | | return list; |
| | | } |
| | | |
| | | public ComboBox<Integer> getPositionComboBox() { |
| | | return positionComboBox; |
| | | } |
| | | |
| | | public void setInitialUpateSelection() { |
| | | |
| | | initialUpdateSelection = positionComboBox.getSelectionModel().getSelectedItem(); |
| | | |
| | | } |
| | | |
| | | public Integer getInitialUpdateSelection() { |
| | | return initialUpdateSelection; |
| | | } |
| | | |
| | | public ComboBox<Delimiteur> getDelimiteurDateComboBox() { |
| | | return delimiteurDateComboBox; |
| | | } |
| | | |
| | | public ComboBox<Delimiteur> getDelimiteurDecimalComboBox() { |
| | | return delimiteurDecimalComboBox; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.forms; |
| | | |
| | | import com.megatimfx.common.annontations.Champ; |
| | | import java.net.URL; |
| | | import java.util.ResourceBundle; |
| | | import javafx.fxml.FXML; |
| | | import javafx.fxml.Initializable; |
| | | import javafx.scene.control.TextField; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierEditFormController implements Initializable{ |
| | | @Champ(mappedBy = "code", type = String.class) |
| | | @FXML |
| | | private TextField codeTextField; |
| | | |
| | | @Champ(mappedBy = "libelle") |
| | | @FXML |
| | | private TextField libelleTextField; |
| | | |
| | | @Champ(mappedBy = "codeParticipant") |
| | | @FXML |
| | | private TextField codeParticipantTextField; |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | // TODO |
| | | } |
| | | } |
| New file |
| | |
| | | package com.megatim.fdxgenerator.forms; |
| | | |
| | | import com.megatimfx.common.annontations.Champ; |
| | | import com.megatimfx.common.customcontrols.AbstractNestedEntityTable; |
| | | import com.megatimfx.common.customcontrols.AbstractSelectionItem; |
| | | import com.megatimfx.components.customdialogs.AlertMessageUtil; |
| | | import com.megatimfx.components.customdialogs.LoadinIndicatorDialogUtil; |
| | | import com.megatim.fdxgenerator.App; |
| | | import com.megatim.fdxgenerator.controller.table.StructureLigneTable; |
| | | import com.megatim.fdxgenerator.controller.table.TypeFichierTable; |
| | | import com.megatim.fdxgenerator.enums.DataType; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import com.megatim.fdxgenerator.pojo.Delimiteur; |
| | | import com.megatim.fdxgenerator.service.StructureLigneService; |
| | | import com.megatim.fdxgenerator.service.TypeFichierService; |
| | | 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.TextField; |
| | | import javafx.util.Pair; |
| | | |
| | | public class ValidateurFichierEditFormController implements Initializable { |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "typeFichier", type = TypeFichier.class, update = false) |
| | | private AbstractSelectionItem<TypeFichier> typeFichierAbstractSelectItem; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "nombrePosition", type = Integer.class, update = false) |
| | | private TextField nombrePositionTextField; |
| | | |
| | | @FXML |
| | | private CheckBox saisieStructureLigneChecBox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "delimiteurLigne", type = Delimiteur.class) |
| | | private ComboBox<Delimiteur> delimiteurLigne; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "delimiteurColonne", type = Delimiteur.class) |
| | | private ComboBox<Delimiteur> delimiteurColonne; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "dataType", type = DataType.class) |
| | | private ComboBox<DataType> dataTypeComboBox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "headerPresent", type = Boolean.class) |
| | | private CheckBox headerPresentCheckbox; |
| | | |
| | | @FXML |
| | | @Champ(mappedBy = "structureLignes", type = StructureLigne.class, update = true) |
| | | private AbstractNestedEntityTable<StructureLigne, ValidateurFichier> structureLigneAbstractTable; |
| | | |
| | | private TypeFichierService typeFichierService = TypeFichierService.getInstance(); |
| | | |
| | | private StructureLigneService structureLigneService = StructureLigneService.getInstance(); |
| | | |
| | | //ELEMENTS DE CHARGEMENT |
| | | private final Set<TypeFichier> typeFichierSet = new HashSet<>(); |
| | | |
| | | @Override |
| | | public void initialize(URL url, ResourceBundle rb) { |
| | | |
| | | saisieStructureLigneChecBox.setDisable(true); |
| | | |
| | | nombrePositionTextField.setText(""); |
| | | |
| | | 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é") |
| | | )); |
| | | |
| | | structureLigneAbstractTable.setClazz(StructureLigne.class); |
| | | structureLigneAbstractTable.setColums(Arrays.asList( |
| | | StructureLigneTable.positionColumn(), |
| | | StructureLigneTable.codeColumn(), |
| | | StructureLigneTable.typeDonneeColumn(), |
| | | StructureLigneTable.tailleColumn() |
| | | )); |
| | | structureLigneAbstractTable.setGenericCrudService(structureLigneService); |
| | | |
| | | saisieStructureLigneChecBox.setOnAction(event -> { |
| | | typeFichierAbstractSelectItem.setDisable(saisieStructureLigneChecBox.isSelected()); |
| | | nombrePositionTextField.setDisable(saisieStructureLigneChecBox.isSelected()); |
| | | }); |
| | | |
| | | saisieStructureLigneChecBox.selectedProperty().addListener((observable, oldValue, newValue) -> { |
| | | if (newValue) { |
| | | typeFichierAbstractSelectItem.setDisable(true); |
| | | nombrePositionTextField.setDisable(true); |
| | | saisieStructureLigneChecBox.setDisable(true); |
| | | } |
| | | }); |
| | | |
| | | typeFichierAbstractSelectItem.selectedElementProperty().addListener((observable, oldValue, newValue) -> { |
| | | if (newValue != null) { |
| | | enableCheckBox(); |
| | | } |
| | | }); |
| | | |
| | | nombrePositionTextField.textProperty().addListener((observable, oldValue, newValue) -> { |
| | | if (newValue.matches("\\d*")) { |
| | | if (!newValue.isEmpty()) { |
| | | enableCheckBox(); |
| | | } else { |
| | | saisieStructureLigneChecBox.setDisable(true); |
| | | } |
| | | } else { |
| | | nombrePositionTextField.setText(oldValue); |
| | | } |
| | | }); |
| | | |
| | | delimiteurColonne.setPromptText("Sélectionnez un élément dans la liste"); |
| | | delimiteurColonne.setItems(FXCollections.observableArrayList( |
| | | App.DELIMITEURS_COLONNE.values() |
| | | )); |
| | | delimiteurColonne.setDisable(true); |
| | | |
| | | delimiteurLigne.setPromptText("Sélectionnez un élément dans la liste"); |
| | | delimiteurLigne.setItems(FXCollections.observableArrayList( |
| | | App.DELIMITEURS_LIGNE.values() |
| | | )); |
| | | delimiteurLigne.setDisable(true); |
| | | |
| | | dataTypeComboBox.setPromptText("Sélectionnez un élément dans la liste"); |
| | | |
| | | dataTypeComboBox.setItems(FXCollections.observableArrayList( |
| | | DataType.values() |
| | | )); |
| | | |
| | | initElements(); |
| | | } |
| | | |
| | | private void initElements() { |
| | | Task<Void> task = new Task() { |
| | | @Override |
| | | protected Object call() throws Exception { |
| | | typeFichierSet.clear(); |
| | | typeFichierSet.addAll(typeFichierService.getAllTypeFichWithoutValidateur()); |
| | | return null; |
| | | } |
| | | }; |
| | | task.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show()); |
| | | task.setOnSucceeded(e -> { |
| | | LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide(); |
| | | typeFichierAbstractSelectItem.setElements(typeFichierSet); |
| | | }); |
| | | 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(); |
| | | } |
| | | |
| | | public void enableCheckBox() { |
| | | try { |
| | | int position = Integer.valueOf(nombrePositionTextField.getText()); |
| | | saisieStructureLigneChecBox.setDisable(typeFichierAbstractSelectItem == null || position <= 0); |
| | | } catch (NumberFormatException e) { |
| | | saisieStructureLigneChecBox.setDisable(true); |
| | | } |
| | | } |
| | | |
| | | public AbstractSelectionItem<TypeFichier> getTypeFichierAbstractSelectItem() { |
| | | return typeFichierAbstractSelectItem; |
| | | } |
| | | |
| | | public void setTypeFichierAbstractSelectItem(AbstractSelectionItem<TypeFichier> typeFichierAbstractSelectItem) { |
| | | this.typeFichierAbstractSelectItem = typeFichierAbstractSelectItem; |
| | | } |
| | | |
| | | public TextField getNombrePositionTextField() { |
| | | return nombrePositionTextField; |
| | | } |
| | | |
| | | public void setNombrePositionTextField(TextField nombrePositionTextField) { |
| | | this.nombrePositionTextField = nombrePositionTextField; |
| | | } |
| | | |
| | | public CheckBox getSaisieStructureLigneChecBox() { |
| | | return saisieStructureLigneChecBox; |
| | | } |
| | | |
| | | public void setSaisieStructureLigneChecBox(CheckBox saisieStructureLigneChecBox) { |
| | | this.saisieStructureLigneChecBox = saisieStructureLigneChecBox; |
| | | } |
| | | |
| | | public AbstractNestedEntityTable<StructureLigne, ValidateurFichier> getStructureLigneAbstractTable() { |
| | | return structureLigneAbstractTable; |
| | | } |
| | | |
| | | public void setStructureLigneAbstractTable(AbstractNestedEntityTable<StructureLigne, ValidateurFichier> structureLigneAbstractTable) { |
| | | this.structureLigneAbstractTable = structureLigneAbstractTable; |
| | | } |
| | | |
| | | public ComboBox<Delimiteur> getDelimiteurLigne() { |
| | | return delimiteurLigne; |
| | | } |
| | | |
| | | public ComboBox<Delimiteur> getDelimiteurColonne() { |
| | | return delimiteurColonne; |
| | | } |
| | | |
| | | public ComboBox<DataType> getDataTypeComboBox() { |
| | | return dataTypeComboBox; |
| | | } |
| | | |
| | | public CheckBox getHeaderPresentCheckbox() { |
| | | return headerPresentCheckbox; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model; |
| | | |
| | | import java.io.Serializable; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.GeneratedValue; |
| | | import javax.persistence.Id; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Getter @Setter |
| | | @Entity |
| | | public class Configuration implements Serializable { |
| | | @Id |
| | | @GeneratedValue |
| | | private Long id; |
| | | |
| | | @NotEmpty(message= "Le chemin vers le repertoire est obligatoire") |
| | | private String outputDir; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model; |
| | | |
| | | import com.megatimfx.common.validationgroups.ViewFormValidationGroup; |
| | | import com.megatim.fdxgenerator.annotations.ConfigConstraint; |
| | | import com.megatim.fdxgenerator.annotations.FileNameConstraint; |
| | | import com.megatim.fdxgenerator.annotations.KeyToDecryptConstraint; |
| | | import javax.validation.constraints.NotNull; |
| | | import javax.validation.constraints.Pattern; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @ConfigConstraint(groups = {ViewFormValidationGroup.class}) |
| | | @KeyToDecryptConstraint(groups = {ViewFormValidationGroup.class}) |
| | | @FileNameConstraint(groups = {ViewFormValidationGroup.class}) |
| | | public class FichierValidation { |
| | | |
| | | @NotNull(message = "Le type de fichier est obligatoire", groups = {ViewFormValidationGroup.class}) |
| | | private TypeFichier typeFichier; |
| | | |
| | | private String keyToEncrypt; |
| | | |
| | | private String keyConfirmation; |
| | | |
| | | private boolean protege; |
| | | |
| | | private boolean validateFileName; |
| | | |
| | | @Pattern(regexp = "y{4}((M{2}){0,1})((d{2}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})|" |
| | | + "y{4}((d{2}){0,1})((M{2}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})|" |
| | | + "M{2}((y{4}){0,1})((d{2}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})|" |
| | | + "M{2}((d{2}){0,1})((y{4}){0,1})((H{2}){0,1})((m{2}){0,1})((s{2}){0,1})", |
| | | groups = {ViewFormValidationGroup.class}, |
| | | message = "Format Date yyyy : Année, MM : Mois, dd : Jour , HH : Heure, mm: Minute, ss : Seconde") |
| | | private String formatDate; |
| | | |
| | | private String extension = "txt"; |
| | | |
| | | private int maxValueTierce; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model; |
| | | |
| | | import com.megatimfx.common.validationgroups.ViewFormValidationGroup; |
| | | import com.megatim.fdxgenerator.pojo.Delimiteur; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import javax.validation.constraints.Pattern; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Getter @Setter |
| | | public class ImportFile<T> { |
| | | |
| | | @NotEmpty(message = "Le fichier à importer est obligatoire" , groups = {ViewFormValidationGroup.class}) |
| | | @Pattern(regexp=".+\\.csv", flags = Pattern.Flag.CASE_INSENSITIVE, message="Bien vouloir sélectionner un fichier csv" , groups = {ViewFormValidationGroup.class}) |
| | | private String filePath; |
| | | |
| | | // @NotEmpty(message = "Le format du fichier est obligatoire" , groups = {ViewFormValidationGroup.class}) |
| | | // private String formatFichier; |
| | | |
| | | @NotNull(message = "Le délimiteur de ligne est obligatoire" , groups = {ViewFormValidationGroup.class}) |
| | | private Delimiteur delimiteurLigne; |
| | | |
| | | @NotNull(message = "Le délimiteur de colonne est obligatoire" , groups = {ViewFormValidationGroup.class}) |
| | | private Delimiteur delimiteurColonne; |
| | | |
| | | //type des objets qui vont contenir les données extraites |
| | | Class<T> type; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model; |
| | | |
| | | import com.megatimfx.common.validationgroups.ViewFormValidationGroup; |
| | | import com.megatim.fdxgenerator.enums.TypeDonnee; |
| | | import com.megatim.fdxgenerator.pojo.Delimiteur; |
| | | import java.io.Serializable; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.EnumType; |
| | | import javax.persistence.Enumerated; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.ManyToOne; |
| | | import javax.persistence.Transient; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import javax.validation.constraints.NotNull; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.hibernate.validator.constraints.Range; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Entity |
| | | @Getter |
| | | @Setter |
| | | //@TailleFormatDateConstraint(groups = {ViewFormValidationGroup.class}) |
| | | public class StructureLigne implements Serializable { |
| | | @Id |
| | | // @NotEmpty(message = "L'identifiant est obligatoire", groups = {ViewFormValidationGroup.class}) |
| | | private String id; |
| | | |
| | | @Range(min = 1, message = "La position doit être supérieure à 0", groups = {ViewFormValidationGroup.class}) |
| | | private int position; |
| | | |
| | | @NotEmpty(message = "Le code est obligatoire", groups = {ViewFormValidationGroup.class}) |
| | | private String code; |
| | | |
| | | private String designation; |
| | | |
| | | @Range(min = 1, message = "La taille du champ doit être supérieure à 0", groups = {ViewFormValidationGroup.class}) |
| | | private int taille; |
| | | |
| | | private int taillePartieDecimal; |
| | | |
| | | private String source; |
| | | |
| | | private String formatDate; |
| | | |
| | | private String separateurDate; |
| | | |
| | | private String separateurDecimal; |
| | | |
| | | @Transient |
| | | private Delimiteur delimiteurDate; |
| | | |
| | | @Transient |
| | | private Delimiteur delimiteurDecimal; |
| | | |
| | | @Enumerated(EnumType.STRING) |
| | | @NotNull(message = "Le type de données est obligatoire", groups = {ViewFormValidationGroup.class}) |
| | | private TypeDonnee typeDonnee; |
| | | |
| | | @NotNull(message = "Le validateur de fichier doit être indiqué") |
| | | @ManyToOne |
| | | private ValidateurFichier validateurFichier; |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return this.code + " - " + this.designation; |
| | | } |
| | | |
| | | @Override |
| | | public boolean equals(Object obj) { |
| | | if (this == obj) { |
| | | return true; |
| | | } |
| | | if (obj == null) { |
| | | return false; |
| | | } |
| | | if (!(obj instanceof StructureLigne)) { |
| | | return false; |
| | | } |
| | | final StructureLigne other = (StructureLigne) obj; |
| | | if (this.getId() != null && !this.getId().equals(other.getId())) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model; |
| | | |
| | | import com.megatimfx.common.validationgroups.ViewFormValidationGroup; |
| | | import java.io.Serializable; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.Id; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Entity |
| | | @Getter |
| | | @Setter |
| | | public class TypeFichier implements Serializable { |
| | | |
| | | @Id |
| | | @NotEmpty(message = "Le code type de fichier est obligatoire" , groups = {ViewFormValidationGroup.class}) |
| | | private String code; |
| | | |
| | | private String libelle; |
| | | |
| | | private String codeParticipant; |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return this.getCode() + " - " + this.getLibelle(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean equals(Object obj) { |
| | | if (this == obj) { |
| | | return true; |
| | | } |
| | | if (obj == null) { |
| | | return false; |
| | | } |
| | | if (!(obj instanceof TypeFichier)) { |
| | | return false; |
| | | } |
| | | final TypeFichier other = (TypeFichier) obj; |
| | | if (this.getCode() != null && !this.getCode().equals(other.getCode())) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model; |
| | | |
| | | import com.megatimfx.common.validationgroups.ViewFormValidationGroup; |
| | | import com.megatim.fdxgenerator.enums.DataType; |
| | | import com.megatim.fdxgenerator.pojo.Delimiteur; |
| | | import java.io.Serializable; |
| | | import java.util.HashSet; |
| | | import java.util.Set; |
| | | import javax.persistence.CascadeType; |
| | | import javax.persistence.Entity; |
| | | import javax.persistence.EnumType; |
| | | import javax.persistence.Enumerated; |
| | | import javax.persistence.Id; |
| | | import javax.persistence.ManyToOne; |
| | | import javax.persistence.OneToMany; |
| | | import javax.persistence.Transient; |
| | | import javax.validation.constraints.NotNull; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.hibernate.validator.constraints.Range; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Entity |
| | | @Getter |
| | | @Setter |
| | | public class ValidateurFichier implements Serializable { |
| | | |
| | | @Id |
| | | @NotNull(message = "Aucun identifiant spécifié", groups = {ViewFormValidationGroup.class}) |
| | | private String id; |
| | | |
| | | @Range(min = 1, message = "Le nombre de position doit être supérieure à 0", groups = {ViewFormValidationGroup.class}) |
| | | private int nombrePosition; |
| | | |
| | | //private String typeFichierCode; |
| | | @NotNull(message = "Le type de fichier est obligatoire", groups = {ViewFormValidationGroup.class}) |
| | | @ManyToOne |
| | | private TypeFichier typeFichier; |
| | | |
| | | @Transient |
| | | private Delimiteur delimiteurLigne; |
| | | |
| | | @Transient |
| | | private Delimiteur delimiteurColonne; |
| | | |
| | | private String codeDelimiteurLigne; |
| | | |
| | | private String codeDelimiteurColonne; |
| | | |
| | | private boolean headerPresent; |
| | | |
| | | @NotNull(message = "Le format du fichier de données est obligatoire", groups = {ViewFormValidationGroup.class}) |
| | | @Enumerated(EnumType.STRING) |
| | | private DataType dataType; |
| | | |
| | | @OneToMany(mappedBy = "validateurFichier", cascade = CascadeType.ALL) |
| | | private Set<StructureLigne> structureLignes = new HashSet<>(); |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return this.typeFichier.toString(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean equals(Object obj) { |
| | | if (this == obj) { |
| | | return true; |
| | | } |
| | | if (obj == null) { |
| | | return false; |
| | | } |
| | | if (!(obj instanceof ValidateurFichier)) { |
| | | return false; |
| | | } |
| | | final ValidateurFichier other = (ValidateurFichier) obj; |
| | | if (this.getTypeFichier() != null && !this.getTypeFichier().equals(other.getTypeFichier())) { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model.dao; |
| | | |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import com.megatim.fdxgenerator.utilities.PaginationElts; |
| | | import java.lang.reflect.Field; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import javax.persistence.TypedQuery; |
| | | import javax.persistence.criteria.CriteriaBuilder; |
| | | import javax.persistence.criteria.CriteriaQuery; |
| | | import javax.persistence.criteria.Predicate; |
| | | import javax.persistence.criteria.Root; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.hibernate.Session; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | public class AbstractDAO<T> { |
| | | |
| | | private Class<T> clazz; |
| | | private PaginationElts pagination; |
| | | |
| | | public AbstractDAO(Class<T> clas) { |
| | | clazz = clas; |
| | | pagination = new PaginationElts(); |
| | | } |
| | | |
| | | public <T> T add(T element) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | session.beginTransaction(); |
| | | session.persist(element); |
| | | session.getTransaction().commit(); |
| | | session.refresh(element); |
| | | } |
| | | return element; |
| | | } |
| | | |
| | | public <T> T edit(T element) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | session.beginTransaction(); |
| | | session.update(element); |
| | | session.getTransaction().commit(); |
| | | session.refresh(element); |
| | | } |
| | | return element; |
| | | } |
| | | |
| | | public void delete(T element) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | session.beginTransaction(); |
| | | session.delete(element); |
| | | session.getTransaction().commit(); |
| | | } |
| | | } |
| | | |
| | | public void deleteAll(String tableName) { |
| | | List<T> liste = getAll(tableName); |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | session.beginTransaction(); |
| | | liste.forEach(t -> session.delete(t)); |
| | | session.getTransaction().commit(); |
| | | } |
| | | } |
| | | |
| | | public <Optional> T find(T element) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | return session.find(clazz, element); |
| | | } |
| | | } |
| | | |
| | | public List<T> getAll(String tableName) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | return session.createQuery("from " + tableName).getResultList(); |
| | | } |
| | | } |
| | | |
| | | public List<T> getAllByPage(int indexDebut, int numberOfElt, List<SearchCriteria> searchCriterias) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder(); |
| | | CriteriaQuery<T> criteriaQuery = criteriaBuilder.createQuery(clazz); |
| | | Root<T> root = criteriaQuery.from(clazz); |
| | | List<Predicate> predicates = createPedicates(searchCriterias, criteriaBuilder, root); |
| | | |
| | | CriteriaQuery<T> cq = criteriaQuery.select(root); |
| | | |
| | | cq = cq.select(root).where(predicates.toArray(new Predicate[predicates.size()])); |
| | | |
| | | TypedQuery<T> typedQuery = session.createQuery(cq); |
| | | |
| | | typedQuery.setFirstResult(indexDebut); |
| | | typedQuery.setMaxResults(numberOfElt); |
| | | List<T> liste = typedQuery.getResultList(); |
| | | |
| | | return liste; |
| | | } |
| | | } |
| | | |
| | | private long count(List<SearchCriteria> searchCriterias) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | CriteriaBuilder qb = session.getCriteriaBuilder(); |
| | | CriteriaQuery<Long> cq = qb.createQuery(Long.class); |
| | | Root<T> root = cq.from(clazz); |
| | | List<Predicate> predicates = createPedicates(searchCriterias, qb, root); |
| | | |
| | | cq.select(qb.count(root)); |
| | | cq.where(predicates.toArray(new Predicate[predicates.size()])); |
| | | |
| | | return (long) session.createQuery(cq).getSingleResult(); |
| | | } |
| | | } |
| | | |
| | | public PaginationElts initPaginationElts(int pageNumber, List<SearchCriteria> searchCriterias) { |
| | | int indexDebut = pageNumber * pagination.getNbEltsPerPage(); |
| | | |
| | | if (clazz.equals(ValidateurFichier.class)) { |
| | | System.out.println("in custom getAllByPage"); |
| | | pagination.setListe(ValidateurFichierDAO.getAllByPage(indexDebut, pagination.getNbEltsPerPage(), searchCriterias)); |
| | | } else { |
| | | pagination.setListe(getAllByPage(indexDebut, pagination.getNbEltsPerPage(), searchCriterias)); |
| | | } |
| | | |
| | | pagination.setTotalElts(count(searchCriterias)); |
| | | pagination.setPage(pageNumber); |
| | | |
| | | if (pageNumber == 0) { |
| | | pagination.setNumberOfElts(pagination.getListe().size()); |
| | | } else { |
| | | pagination.setNumberOfElts(pageNumber * pagination.getNbEltsPerPage() + pagination.getListe().size()); |
| | | } |
| | | |
| | | pagination.setNumberOfPage((pagination.getTotalElts() % pagination.getNbEltsPerPage() == 0) ? (pagination.getTotalElts() / pagination.getNbEltsPerPage()) |
| | | : (pagination.getTotalElts() / pagination.getNbEltsPerPage()) + 1); |
| | | |
| | | return pagination; |
| | | } |
| | | |
| | | /** |
| | | * Méthode qui retounre la liste des champs de la classe clazz |
| | | * |
| | | * @return |
| | | */ |
| | | private Map<String, Field> getClassFields() { |
| | | Field[] fields = clazz.getDeclaredFields(); |
| | | Map<String, Field> mapOfFields = new HashMap<>(); |
| | | for (Field field : fields) { |
| | | mapOfFields.put(field.getName(), field); |
| | | } |
| | | |
| | | return mapOfFields; |
| | | } |
| | | |
| | | /** |
| | | * Méthode qui vérifie que le champ "fieldValue" de l'objet searchCriteria |
| | | * est du même type que le champ "fieldName" dans la classe clazz |
| | | * |
| | | * @param field : contient les informations sur le champ correspondant |
| | | * @param value : valeur dont on veut vérifier le type |
| | | * @return : retourne vrai sivalue est du même type que celui renseigné dans |
| | | * field |
| | | */ |
| | | private boolean isFieldAndValueOfSameType(Field field, Object value) { |
| | | boolean result = true; |
| | | try { |
| | | field.getType().cast(value); |
| | | } catch (ClassCastException ex) { |
| | | result = false; |
| | | } |
| | | return result; |
| | | //String className = field.getType().getName(); |
| | | } |
| | | |
| | | /** |
| | | * Méthode qui filtre la liste des critères afin de ne garder que ceux qui |
| | | * respectent le type du champ correspondant dans la classe et ceux dont le |
| | | * fieldName correspond à un champ de la classe clazz |
| | | * |
| | | * @param searchCriterias |
| | | * @return |
| | | */ |
| | | private List<SearchCriteria> verifySearchCriteria(List<SearchCriteria> searchCriterias) { |
| | | Map<String, Field> mapOfFields = getClassFields(); |
| | | |
| | | //Retire les critères dont le fieldName ne correspond à aucun champ de la classe clazz |
| | | for (SearchCriteria criteria : searchCriterias) { |
| | | if (!mapOfFields.containsKey(criteria.getFieldName())) { |
| | | searchCriterias.remove(criteria); |
| | | // continue; |
| | | } |
| | | |
| | | // Retire les critères dont le type de fieldValue ne correspond pas au type du champ dans la classe clazz |
| | | // if(!isFieldAndValueOfSameType(mapOfFields.get(criteria.getFieldName()),criteria.getFieldValue())){ |
| | | // searchCriterias.remove(criteria); |
| | | // } |
| | | } |
| | | return searchCriterias; |
| | | } |
| | | |
| | | /** |
| | | * Méthode qui les prédicats à partir des critères de recherche |
| | | * |
| | | * @param searchCriterias |
| | | * @param cb |
| | | * @return |
| | | */ |
| | | public List<Predicate> createPedicates(List<SearchCriteria> searchCriterias, CriteriaBuilder cb, Root<T> root) { |
| | | List<Predicate> predicates = new ArrayList<>(); |
| | | |
| | | searchCriterias = verifySearchCriteria(searchCriterias); |
| | | searchCriterias.parallelStream().forEach(s -> { |
| | | Predicate predicate = null; |
| | | switch (s.getOperateur()) { |
| | | case EQUALS: |
| | | predicate = cb.equal(root.get(s.getFieldName()), s.getFieldValue()); |
| | | predicates.add(predicate); |
| | | break; |
| | | |
| | | case NOT_EQUALS: |
| | | predicate = cb.notEqual(root.get(s.getFieldName()), s.getFieldValue()); |
| | | predicates.add(predicate); |
| | | break; |
| | | |
| | | case LIKE: |
| | | if (s.getFieldValue() instanceof String) { |
| | | predicate = cb.like(root.get(s.getFieldName()), "%" + s.getFieldValue().toString() + "%"); |
| | | predicates.add(predicate); |
| | | } |
| | | break; |
| | | |
| | | case GREATER_THAN: |
| | | if (s.getFieldValue() instanceof Number) { |
| | | predicate = cb.gt(root.get(s.getFieldName()), (Number) s.getFieldValue()); |
| | | predicates.add(predicate); |
| | | } |
| | | break; |
| | | |
| | | case GREATER_OR_EQUALS_THAN: |
| | | if (s.getFieldValue() instanceof Number) { |
| | | predicate = cb.ge(root.get(s.getFieldName()), (Number) s.getFieldValue()); |
| | | predicates.add(predicate); |
| | | } |
| | | break; |
| | | |
| | | case LESS_THAN: |
| | | if (s.getFieldValue() instanceof Number) { |
| | | predicate = cb.lt(root.get(s.getFieldName()), (Number) s.getFieldValue()); |
| | | predicates.add(predicate); |
| | | } |
| | | break; |
| | | |
| | | case _LESS_OR_EQUALS_THAN: |
| | | if (s.getFieldValue() instanceof Number) { |
| | | predicate = cb.le(root.get(s.getFieldName()), (Number) s.getFieldValue()); |
| | | predicates.add(predicate); |
| | | } |
| | | break; |
| | | case IN: |
| | | if (s.getFieldValue() instanceof java.util.Collection) { |
| | | predicate = root.get(s.getFieldName()).in(s.getFieldValue()); |
| | | predicates.add(predicate); |
| | | } |
| | | break; |
| | | default: |
| | | |
| | | } |
| | | }); |
| | | |
| | | return predicates; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model.dao; |
| | | |
| | | import org.hibernate.SessionFactory; |
| | | import org.hibernate.boot.Metadata; |
| | | import org.hibernate.boot.MetadataSources; |
| | | import org.hibernate.boot.registry.StandardServiceRegistry; |
| | | import org.hibernate.boot.registry.StandardServiceRegistryBuilder; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | */ |
| | | public class HibernateUtil { |
| | | |
| | | private static SessionFactory sessionFactory; |
| | | |
| | | private HibernateUtil() { |
| | | |
| | | } |
| | | |
| | | public static synchronized SessionFactory getSessionFactory() { |
| | | try { |
| | | if (sessionFactory == null) { |
| | | StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder() |
| | | // .configure("hibernate.cfg.xml").build(); |
| | | .configure("file:hibernate.cfg.xml").build(); |
| | | |
| | | Metadata metaData = new MetadataSources(standardRegistry) |
| | | .getMetadataBuilder() |
| | | .build(); |
| | | |
| | | sessionFactory = metaData.getSessionFactoryBuilder().build(); |
| | | } |
| | | return sessionFactory; |
| | | } catch (Throwable ex) { |
| | | throw new ExceptionInInitializerError(ex); |
| | | } |
| | | } |
| | | |
| | | public static void shutdown() { |
| | | if(sessionFactory != null) |
| | | sessionFactory.close(); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model.dao; |
| | | |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import java.util.List; |
| | | import org.hibernate.Session; |
| | | import org.hibernate.query.Query; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class StructureLigneDAO { |
| | | |
| | | private StructureLigneDAO() { |
| | | |
| | | } |
| | | |
| | | public static List<StructureLigne> findByValidateurFichierId(String validateurFichierId) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | Query query = session.createQuery("select s from StructureLigne s where s.validateurFichier.id =: validateurFichierId"); |
| | | query.setParameter("validateurFichierId", validateurFichierId); |
| | | |
| | | return query.getResultList(); |
| | | } |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model.dao; |
| | | |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | import org.hibernate.Session; |
| | | import org.hibernate.query.Query; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierDAO { |
| | | private TypeFichierDAO() { |
| | | |
| | | } |
| | | |
| | | public static List<TypeFichier> getAllTypeFichWithValidateur() { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | Query query = session.createQuery("SELECT t FROM TypeFichier t, ValidateurFichier v WHERE t.code = v.typeFichier.code"); |
| | | return query.getResultList(); |
| | | } |
| | | } |
| | | |
| | | public static List<TypeFichier> getAllTypeFichWithoutValidateur() { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | Query query = session.createQuery("SELECT t FROM TypeFichier t" |
| | | + " WHERE NOT EXISTS" |
| | | + " (SELECT v FROM ValidateurFichier v WHERE v.typeFichier.code = t.code)"); |
| | | return query.getResultList(); |
| | | } |
| | | } |
| | | |
| | | public static Optional<TypeFichier> findByCode(TypeFichier t) { |
| | | try ( Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | Query query = session.createQuery("SELECT t FROM TypeFichier t WHERE t.code = :code"); |
| | | query.setParameter("code", t.getCode()); |
| | | return query.uniqueResultOptional(); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.model.dao; |
| | | |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | import javax.persistence.TypedQuery; |
| | | import javax.persistence.criteria.CriteriaBuilder; |
| | | import javax.persistence.criteria.CriteriaQuery; |
| | | import javax.persistence.criteria.JoinType; |
| | | import javax.persistence.criteria.Predicate; |
| | | import javax.persistence.criteria.Root; |
| | | import org.hibernate.Session; |
| | | import org.hibernate.query.Query; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ValidateurFichierDAO { |
| | | private ValidateurFichierDAO() { |
| | | |
| | | } |
| | | |
| | | public static Optional<ValidateurFichier> findByTypeFichier(TypeFichier typeFichier) { |
| | | Optional<ValidateurFichier> opt; |
| | | try (Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | Query query = session.createQuery("select v from ValidateurFichier v where v.typeFichier =: typeFichier"); |
| | | query.setParameter("typeFichier", typeFichier); |
| | | opt = query.uniqueResultOptional(); |
| | | } |
| | | |
| | | return opt; |
| | | } |
| | | |
| | | public static Optional<ValidateurFichier> findByTypeFichier(String typeFichierCode) { |
| | | Optional<ValidateurFichier> opt ; |
| | | try (Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | Query query = session.createQuery("select v from ValidateurFichier v where v.typeFichier.code =: typeFichierCode"); |
| | | query.setParameter("typeFichierCode", typeFichierCode); |
| | | opt = query.uniqueResultOptional(); |
| | | } |
| | | |
| | | return opt; |
| | | } |
| | | |
| | | public static Optional<ValidateurFichier> findById(String id) { |
| | | Optional<ValidateurFichier> opt; |
| | | try (Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | Query query = session.createQuery("select v from ValidateurFichier v where v.id =: id"); |
| | | query.setParameter("id", id); |
| | | opt = query.uniqueResultOptional(); |
| | | } |
| | | |
| | | return opt; |
| | | } |
| | | |
| | | public static List<ValidateurFichier> getAllByPage(int indexDebut, int numberOfElt,List<SearchCriteria> searchCriterias) { |
| | | AbstractDAO<ValidateurFichier> dao = new AbstractDAO<>(ValidateurFichier.class); |
| | | |
| | | List<ValidateurFichier> liste = new ArrayList<>(); |
| | | try (Session session = HibernateUtil.getSessionFactory().openSession()) { |
| | | CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder(); |
| | | CriteriaQuery<ValidateurFichier> criteriaQuery = criteriaBuilder.createQuery(ValidateurFichier.class); |
| | | Root<ValidateurFichier> root = criteriaQuery.from(ValidateurFichier.class); |
| | | List<Predicate> predicates = dao.createPedicates(searchCriterias,criteriaBuilder,root); |
| | | root.fetch("structureLignes",JoinType.LEFT); |
| | | CriteriaQuery<ValidateurFichier> cq = criteriaQuery.select(root).distinct(true); |
| | | cq = cq.select(root).where(predicates.toArray(new Predicate[predicates.size()])); |
| | | TypedQuery<ValidateurFichier> typedQuery = session.createQuery(cq); |
| | | typedQuery.setFirstResult(indexDebut); |
| | | typedQuery.setMaxResults(numberOfElt); |
| | | liste = typedQuery.getResultList(); |
| | | } |
| | | return liste; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.pojo; |
| | | |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @AllArgsConstructor |
| | | public class Delimiteur { |
| | | private String code; |
| | | private String libelle; |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return libelle; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.service; |
| | | |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatim.fdxgenerator.model.Configuration; |
| | | import com.megatim.fdxgenerator.model.dao.AbstractDAO; |
| | | import java.util.List; |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | */ |
| | | public class ConfigurationService implements GenericCrudService<Configuration> { |
| | | private static ConfigurationService configurationService; |
| | | private static AbstractDAO<Configuration> dao; |
| | | |
| | | private ConfigurationService() { |
| | | |
| | | } |
| | | |
| | | public static synchronized ConfigurationService getInstance() { |
| | | if (configurationService == null) { |
| | | configurationService = new ConfigurationService(); |
| | | dao = new AbstractDAO<>(Configuration.class); |
| | | } |
| | | return configurationService; |
| | | } |
| | | |
| | | @Override |
| | | public Configuration add(Configuration t) throws Exception { |
| | | return dao.add(t); |
| | | } |
| | | |
| | | @Override |
| | | public Configuration edit(Configuration t) throws Exception { |
| | | return dao.edit(t); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<Configuration> getAll() throws Exception { |
| | | return dao.getAll("Configuration"); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(Configuration t) throws Exception { |
| | | dao.delete(t); |
| | | } |
| | | |
| | | public Configuration getCurrentConfig(){ |
| | | try { |
| | | return getAll().stream().findFirst().orElse(null); |
| | | } catch (Exception ex) { |
| | | Logger.getLogger(ConfigurationService.class.getName()).log(Level.SEVERE, null, ex); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.service; |
| | | |
| | | import com.megatim.fdxgenerator.utilities.DataToImport; |
| | | import com.megatim.fdxgenerator.utilities.ImportData; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import com.megatim.fdxgenerator.model.ImportFile; |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatim.fdxgenerator.model.dao.AbstractDAO; |
| | | import com.megatim.fdxgenerator.model.dao.TypeFichierDAO; |
| | | import com.megatim.fdxgenerator.utilities.PaginationElts; |
| | | import java.io.File; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * structLigne : id, code,format_date, position, taille, type_donnee, |
| | | * validateur_fichier_id ValidateurFichier : id, nombre_position, |
| | | * type_fichier_code |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ImportFileService implements GenericCrudService<ImportFile> { |
| | | |
| | | private static ImportFileService importFileService; |
| | | private PaginationElts<TypeFichier> pagination; |
| | | |
| | | private ImportFileService() { |
| | | |
| | | } |
| | | |
| | | public static synchronized ImportFileService getInstance() { |
| | | if (importFileService == null) { |
| | | importFileService = new ImportFileService(); |
| | | } |
| | | return importFileService; |
| | | } |
| | | |
| | | @Override |
| | | public ImportFile add(ImportFile t) throws Exception { |
| | | importDataFromFile(t); |
| | | return t; |
| | | } |
| | | |
| | | @Override |
| | | public ImportFile edit(ImportFile t) throws Exception { |
| | | throw new UnsupportedOperationException("Not supported yet."); |
| | | } |
| | | |
| | | @Override |
| | | public List<ImportFile> getAll() throws Exception { |
| | | throw new UnsupportedOperationException("Not supported yet."); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(ImportFile t) throws Exception { |
| | | throw new UnsupportedOperationException("Not supported yet."); |
| | | } |
| | | |
| | | private void importDataFromFile(ImportFile im) { |
| | | List<String> fields = new ArrayList<>(); |
| | | StructureLigne s = new StructureLigne(); |
| | | ValidateurFichier v = new ValidateurFichier(); |
| | | |
| | | if (im != null && im.getType() != null) { |
| | | if (im.getType().equals(TypeFichier.class)) { |
| | | fields.add("code"); |
| | | fields.add("libelle"); |
| | | fields.add("codeParticipant"); |
| | | } |
| | | } |
| | | DataToImport datIm = new DataToImport(new File(im.getFilePath()), im.getDelimiteurLigne().getCode(), im.getDelimiteurColonne().getCode(), im.getType(), fields); |
| | | List<Object> datas = ImportData.importDataFromCsvFile(datIm); |
| | | if (im.getType().equals(TypeFichier.class)) { |
| | | AbstractDAO<TypeFichier> dao = new AbstractDAO<>(TypeFichier.class); |
| | | datas.forEach(d -> { |
| | | TypeFichier t = (TypeFichier) d; |
| | | Optional<TypeFichier> opt = TypeFichierDAO.findByCode(t); |
| | | if(!opt.isPresent()) |
| | | dao.add(t); |
| | | }); |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.service; |
| | | |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatim.fdxgenerator.model.StructureLigne; |
| | | import com.megatim.fdxgenerator.model.dao.AbstractDAO; |
| | | import com.megatim.fdxgenerator.utilities.PaginationElts; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class StructureLigneService implements GenericCrudService<StructureLigne> { |
| | | |
| | | private static StructureLigneService structureLigneService; |
| | | private static AbstractDAO<StructureLigne> dao; |
| | | private PaginationElts<StructureLigne> pagination; |
| | | |
| | | private StructureLigneService() { |
| | | |
| | | } |
| | | |
| | | public static synchronized StructureLigneService getInstance() { |
| | | if (structureLigneService == null) { |
| | | structureLigneService = new StructureLigneService(); |
| | | dao = new AbstractDAO<>(StructureLigne.class); |
| | | } |
| | | return structureLigneService; |
| | | } |
| | | |
| | | @Override |
| | | public StructureLigne add(StructureLigne t) throws Exception { |
| | | return dao.add(t); |
| | | } |
| | | |
| | | @Override |
| | | public StructureLigne edit(StructureLigne t) throws Exception { |
| | | return dao.edit(t); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<StructureLigne> getAll() throws Exception { |
| | | return dao.getAll("StructureLigne"); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(StructureLigne t) throws Exception { |
| | | dao.delete(t); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isLast() { |
| | | return pagination.isLast(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isFirst() { |
| | | return pagination.isFirst(); |
| | | } |
| | | |
| | | @Override |
| | | public int getCurrentPage() { |
| | | return pagination.getPage(); |
| | | } |
| | | |
| | | @Override |
| | | public int getNumberOfElements() { |
| | | return pagination.getNumberOfElts(); |
| | | } |
| | | |
| | | @Override |
| | | public int getNumberPerPage() { |
| | | return pagination.getNbEltsPerPage(); |
| | | } |
| | | |
| | | @Override |
| | | public Long getTotalElements() { |
| | | return pagination.getTotalElts(); |
| | | } |
| | | |
| | | @Override |
| | | public List<StructureLigne> getAllByPage(int pageNumber, List<SearchCriteria> searchCriterias) { |
| | | pagination = dao.initPaginationElts(pageNumber, searchCriterias); |
| | | |
| | | return pagination.getListe(); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.service; |
| | | |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatim.fdxgenerator.model.TypeFichier; |
| | | import com.megatim.fdxgenerator.model.dao.AbstractDAO; |
| | | import com.megatim.fdxgenerator.model.dao.TypeFichierDAO; |
| | | import com.megatim.fdxgenerator.utilities.PaginationElts; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class TypeFichierService implements GenericCrudService<TypeFichier> { |
| | | |
| | | private static TypeFichierService typeFichierService; |
| | | private static AbstractDAO<TypeFichier> dao; |
| | | private PaginationElts<TypeFichier> pagination; |
| | | |
| | | private TypeFichierService() { |
| | | |
| | | } |
| | | |
| | | public static synchronized TypeFichierService getInstance() { |
| | | if (typeFichierService == null) { |
| | | typeFichierService = new TypeFichierService(); |
| | | dao = new AbstractDAO<>(TypeFichier.class); |
| | | } |
| | | return typeFichierService; |
| | | } |
| | | |
| | | @Override |
| | | public TypeFichier add(TypeFichier t) throws Exception { |
| | | return dao.add(t); |
| | | } |
| | | |
| | | @Override |
| | | public TypeFichier edit(TypeFichier t) throws Exception { |
| | | return dao.edit(t); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<TypeFichier> getAll() throws Exception { |
| | | return dao.getAll("TypeFichier"); |
| | | } |
| | | |
| | | public List<TypeFichier> getAllTypeFichWithValidateur() throws Exception { |
| | | return TypeFichierDAO.getAllTypeFichWithValidateur(); |
| | | } |
| | | |
| | | public List<TypeFichier> getAllTypeFichWithoutValidateur() throws Exception { |
| | | return TypeFichierDAO.getAllTypeFichWithoutValidateur(); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(TypeFichier t) throws Exception { |
| | | dao.delete(t); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isLast() { |
| | | return pagination.isLast(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isFirst() { |
| | | return pagination.isFirst(); |
| | | } |
| | | |
| | | @Override |
| | | public int getCurrentPage() { |
| | | return pagination.getPage(); |
| | | } |
| | | |
| | | @Override |
| | | public int getNumberOfElements() { |
| | | return pagination.getNumberOfElts(); |
| | | } |
| | | |
| | | @Override |
| | | public int getNumberPerPage() { |
| | | return pagination.getNbEltsPerPage(); |
| | | } |
| | | |
| | | @Override |
| | | public Long getTotalElements() { |
| | | return pagination.getTotalElts(); |
| | | } |
| | | |
| | | @Override |
| | | public List<TypeFichier> getAllByPage(int pageNumber, List<SearchCriteria> searchCriterias) { |
| | | System.out.println("searchCriterias.size "+searchCriterias.size()); |
| | | pagination = dao.initPaginationElts(pageNumber, searchCriterias); |
| | | |
| | | return pagination.getListe(); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.service; |
| | | |
| | | import com.megatimfx.common.pojo.SearchCriteria; |
| | | import com.megatimfx.common.service.GenericCrudService; |
| | | import com.megatim.fdxgenerator.model.ValidateurFichier; |
| | | import com.megatim.fdxgenerator.model.dao.AbstractDAO; |
| | | import com.megatim.fdxgenerator.model.dao.ValidateurFichierDAO; |
| | | import com.megatim.fdxgenerator.utilities.PaginationElts; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * |
| | | * @author STEPHANIE |
| | | */ |
| | | public class ValidateurFichierService implements GenericCrudService<ValidateurFichier> { |
| | | |
| | | private static ValidateurFichierService validateurFichierService; |
| | | private static AbstractDAO<ValidateurFichier> dao; |
| | | private PaginationElts<ValidateurFichier> pagination; |
| | | |
| | | private ValidateurFichierService() { |
| | | } |
| | | |
| | | public static synchronized ValidateurFichierService getInstance() { |
| | | if (validateurFichierService == null) { |
| | | validateurFichierService = new ValidateurFichierService(); |
| | | dao = new AbstractDAO<>(ValidateurFichier.class); |
| | | } |
| | | return validateurFichierService; |
| | | } |
| | | |
| | | @Override |
| | | public ValidateurFichier add(ValidateurFichier t) throws Exception { |
| | | return dao.add(t); |
| | | } |
| | | |
| | | public Optional<ValidateurFichier> find(ValidateurFichier t) { |
| | | return ValidateurFichierDAO.findById(t.getId()); |
| | | } |
| | | |
| | | @Override |
| | | public ValidateurFichier edit(ValidateurFichier t) throws Exception { |
| | | return dao.edit(t); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<ValidateurFichier> getAll() throws Exception { |
| | | return dao.getAll("ValidateurFichier"); |
| | | } |
| | | |
| | | @Override |
| | | public void delete(ValidateurFichier t) throws Exception { |
| | | dao.delete(t); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isLast() { |
| | | return pagination.isLast(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isFirst() { |
| | | return pagination.isFirst(); |
| | | } |
| | | |
| | | @Override |
| | | public int getCurrentPage() { |
| | | return pagination.getPage(); |
| | | } |
| | | |
| | | @Override |
| | | public int getNumberOfElements() { |
| | | return pagination.getNumberOfElts(); |
| | | } |
| | | |
| | | @Override |
| | | public int getNumberPerPage() { |
| | | return pagination.getNbEltsPerPage(); |
| | | } |
| | | |
| | | @Override |
| | | public Long getTotalElements() { |
| | | return pagination.getTotalElts(); |
| | | } |
| | | |
| | | @Override |
| | | public List<ValidateurFichier> getAllByPage(int pageNumber, List<SearchCriteria> searchCriterias) { |
| | | pagination = dao.initPaginationElts(pageNumber, searchCriterias); |
| | | |
| | | return pagination.getListe(); |
| | | } |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.utilities; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | */ |
| | | public class AttributeFormatException extends RuntimeException { |
| | | public AttributeFormatException(String message) { |
| | | super(message); |
| | | } |
| | | |
| | | public AttributeFormatException(String message, Throwable cause) { |
| | | super(message, cause); |
| | | } |
| | | |
| | | public AttributeFormatException(Throwable cause) { |
| | | super(cause); |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.utilities; |
| | | |
| | | import java.io.File; |
| | | import java.util.List; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Getter; |
| | | import lombok.NoArgsConstructor; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | * @param <T> |
| | | */ |
| | | @Getter @Setter |
| | | @NoArgsConstructor @AllArgsConstructor |
| | | public class DataToImport <T> { |
| | | //Fichier duquel seront extraits les données |
| | | File file; |
| | | |
| | | //délimiteur de ligne |
| | | String rowDelimiter; |
| | | |
| | | //délimiteur de colonne |
| | | String columnDelimiter; |
| | | |
| | | //type des objets qui vont contenir les données extraites |
| | | Class<T> type; |
| | | |
| | | //liste des champs dans leur ordre d'apparition dans le fichier "file" |
| | | List<String> fields; |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.utilities; |
| | | |
| | | import java.beans.IntrospectionException; |
| | | import java.beans.PropertyDescriptor; |
| | | import java.io.FileNotFoundException; |
| | | import java.io.FileReader; |
| | | import java.io.IOException; |
| | | import java.io.LineNumberReader; |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.InvocationTargetException; |
| | | import java.lang.reflect.Method; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.logging.Level; |
| | | import java.util.logging.Logger; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | */ |
| | | public class ImportData { |
| | | |
| | | /** |
| | | * Méthode qui parse le fichier csv et en extrait les données |
| | | * |
| | | * @param datIm |
| | | * @return |
| | | */ |
| | | public static <T> List<T> importDataFromCsvFile(DataToImport<T> datIm) throws AttributeFormatException { |
| | | FileReader reader = null; |
| | | List<String[]> datas = new ArrayList<>(); |
| | | List<T> listeToReturn = new ArrayList<>(); |
| | | |
| | | if (datIm != null) { |
| | | try { |
| | | reader = new FileReader(datIm.getFile() + ""); |
| | | LineNumberReader lineReader = new LineNumberReader(reader); |
| | | String line = ""; |
| | | |
| | | while ((line = lineReader.readLine()) != null) { |
| | | String[] row = line.split(datIm.getRowDelimiter()); |
| | | for (String r : row) { |
| | | String[] values = new String[datIm.getFields().size()]; |
| | | String[] columns = r.split(datIm.getColumnDelimiter()); |
| | | |
| | | int ss = 0; |
| | | while (ss < datIm.getFields().size() && ss < columns.length) { |
| | | values[ss] = columns[ss]; |
| | | ss++; |
| | | } |
| | | datas.add(values); |
| | | } |
| | | |
| | | } |
| | | } catch (FileNotFoundException ex) { |
| | | Logger.getLogger(ImportData.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } catch (IOException ex) { |
| | | Logger.getLogger(ImportData.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } finally { |
| | | try { |
| | | reader.close(); |
| | | } catch (IOException | NullPointerException ex) { |
| | | Logger.getLogger(ImportData.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | if (!datas.isEmpty()) { |
| | | |
| | | //tous les champs du type paramétré |
| | | Field[] fields = datIm.getType().getDeclaredFields(); |
| | | |
| | | // mettre les champs du type paramétré dans une map afin de faciliter leur accès |
| | | Map<String, Field> fieldsToMap = fieldsToMap(fields); |
| | | datas.forEach(d -> { |
| | | try { |
| | | T obj = datIm.getType().newInstance(); |
| | | Map<String, String> map = tabToMap(datIm.getFields(), d); |
| | | for (Field field : fields) { |
| | | String fieldName = field.getName(); |
| | | if (map.containsKey(fieldName) && fieldsToMap.containsKey(fieldName)) { |
| | | try { |
| | | Object converted = convertToPrimitive(field, map.get(fieldName)); |
| | | Method method = new PropertyDescriptor(fieldName, datIm.getType()).getWriteMethod(); |
| | | method.invoke(obj, converted); |
| | | } catch (IntrospectionException | IllegalAccessException | InvocationTargetException ex) { |
| | | Logger.getLogger(ImportData.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } catch (IllegalArgumentException | ClassCastException ex) { |
| | | throw new AttributeFormatException("Erreur de type sur le champ " + fieldName); |
| | | } |
| | | } |
| | | } |
| | | listeToReturn.add(obj); |
| | | } catch (InstantiationException | IllegalAccessException ex) { |
| | | Logger.getLogger(ImportData.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | } |
| | | return listeToReturn; |
| | | } |
| | | |
| | | /** |
| | | * Méthode qui met les libellés des colonnes et leurs valeurs |
| | | * correspondantes dans une map |
| | | * |
| | | * @param titles : ensemble des noms de colonnes |
| | | * @param values : ensemble des données |
| | | * @return : rentourne une map (clé,valeur) = (nom_de_la_colonne, |
| | | * valeur_colonne) |
| | | */ |
| | | private static Map<String, String> tabToMap(List<String> titles, String[] values) { |
| | | Map<String, String> map = new HashMap<>(); |
| | | for (int i = 0; i < titles.size(); i++) { |
| | | map.put(titles.get(i), values[i]); |
| | | } |
| | | |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * Méthode qui met un tableau de Field dans une |
| | | * map<nom_du_champ,objet représentant_le_champ> |
| | | * afin de faciliter leur accès |
| | | * |
| | | * @param fields |
| | | * @return |
| | | */ |
| | | private static Map<String, Field> fieldsToMap(Field[] fields) { |
| | | Map<String, Field> map = new HashMap<>(); |
| | | for (Field f : fields) { |
| | | map.put(f.getName(), f); |
| | | } |
| | | |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * Méthode qui fait la conversion de la donnée extraite vers un type |
| | | * primitif |
| | | * |
| | | * @param field : objet contenant les informations sur le type auquel |
| | | * appartient le champ de la donnée extraite |
| | | * @param value : donnée à convertir |
| | | * @return : retourne un String si le type du champ ne figure pas dans la |
| | | * liste ci-dessus |
| | | */ |
| | | private static Object convertToPrimitive(Field field, String value) { |
| | | Object obj = value; |
| | | |
| | | if (field.getType().isAssignableFrom(Integer.class) |
| | | || field.getType().isAssignableFrom(int.class)) { |
| | | obj = Integer.parseInt(value); |
| | | } else if (field.getType().isAssignableFrom(Double.class) |
| | | || field.getType().isAssignableFrom(double.class)) { |
| | | obj = Double.parseDouble(value); |
| | | } else if (field.getType().isAssignableFrom(java.math.BigDecimal.class)) { |
| | | obj = new java.math.BigDecimal(value); |
| | | } else if (field.getType().isAssignableFrom(Float.class) |
| | | || field.getType().isAssignableFrom(float.class)) { |
| | | obj = Float.valueOf(value); |
| | | } else if (field.getType().isAssignableFrom(Long.class) |
| | | || field.getType().isAssignableFrom(long.class)) { |
| | | obj = Long.parseLong(value); |
| | | } else if (field.getType().isAssignableFrom(Boolean.class) |
| | | || field.getType().isAssignableFrom(boolean.class)) { |
| | | Boolean.parseBoolean(value); |
| | | } |
| | | |
| | | return obj; |
| | | } |
| | | } |
| New file |
| | |
| | | /* |
| | | * 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.fdxgenerator.utilities; |
| | | |
| | | import java.util.List; |
| | | import lombok.Getter; |
| | | import lombok.NoArgsConstructor; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * |
| | | * @author mela |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @NoArgsConstructor |
| | | public class PaginationElts<T> { |
| | | |
| | | //Numéro de page courante |
| | | private int page = 0; |
| | | |
| | | //Nombre de pages |
| | | private long numberOfPage = 0; |
| | | |
| | | //Nombre d'éléments à afficher par page |
| | | private int nbEltsPerPage = 10; |
| | | |
| | | //Nombre d'éléments total à afficher |
| | | private long totalElts = 0; |
| | | |
| | | //Nombre délémnts sur une pages quelconque : peut être inférieure ou égale à nbEltsPerPage |
| | | private int numberOfElts = 0; |
| | | private List<T> liste; |
| | | |
| | | public PaginationElts(int nbEltsPerPage){ |
| | | this.nbEltsPerPage = nbEltsPerPage; |
| | | } |
| | | |
| | | public boolean isLast() { |
| | | return page == (numberOfPage == 0 ? numberOfPage : numberOfPage - 1); |
| | | } |
| | | |
| | | public boolean isFirst() { |
| | | return page == 0; |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import java.net.URL?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.BorderPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | <?import javafx.scene.text.Text?> |
| | | |
| | | <BorderPane style="-fx-border-color: rgb(184, 184, 184); -fx-border-width: 1;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatimfx.common.abstracts.AbstractEditDialogController"> |
| | | <top> |
| | | <HBox onMouseDragged="#mouseDraggedTitleBar" onMousePressed="#mousePressedTitleBar" styleClass="title-bar" BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | <HBox alignment="CENTER_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button mnemonicParsing="false" onMouseClicked="#minimize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/min-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onMouseClicked="#maximize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/max-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#close" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/close-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children></HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="2.0" left="2.0" right="2.0" top="2.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </top> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="200.0" styleClass="banner"> |
| | | <children> |
| | | <Text fx:id="title" fill="WHITE" strokeType="OUTSIDE" strokeWidth="0.0" text="TITRE DE LA FENETRE ICI"> |
| | | <font> |
| | | <Font name="Arial Bold" size="16.0" /> |
| | | </font> |
| | | </Text> |
| | | </children> |
| | | </HBox> |
| | | <BorderPane fx:id="formPanel"> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="47.0" right="47.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <VBox fx:id="formContainer" style="-fx-background-color: #F8F8F8; -fx-border-color: #E9E9E9; -fx-border-width: 1;" /> |
| | | </children> |
| | | </VBox> |
| | | </center></BorderPane> |
| | | <HBox fx:id="bottomContainer" alignment="TOP_RIGHT" prefHeight="50.0" spacing="5.0"> |
| | | <children> |
| | | <Button fx:id="cancelButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-border-color: #9d9fa2; -fx-background-radius: 0;" text="Annuler" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | <Button fx:id="editButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #31a19a; -fx-cursor: pointer; -fx-background-radius: 0;" text="Enregistrer" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | <padding> |
| | | <Insets left="47.0" right="47.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | <stylesheets> |
| | | <URL value="@../../../../styles/title-bar.css" /> |
| | | <URL value="@../../../../styles/main-style.css" /> |
| | | </stylesheets> |
| | | </BorderPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import java.net.URL?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.ScrollPane?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.BorderPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | <?import javafx.scene.text.Text?> |
| | | |
| | | <BorderPane prefHeight="571.0" prefWidth="657.0" style="-fx-border-color: rgb(184, 184, 184); -fx-border-width: 1;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatimfx.common.abstracts.AbstractSelfEditValidateDialogController"> |
| | | <top> |
| | | <HBox onMouseDragged="#mouseDraggedTitleBar" onMousePressed="#mousePressedTitleBar" styleClass="title-bar" BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | <HBox alignment="CENTER_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button mnemonicParsing="false" onAction="#min" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/min-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#max" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/max-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#close" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/close-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children></HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="2.0" left="2.0" right="2.0" top="2.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </top> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="200.0" styleClass="banner"> |
| | | <children> |
| | | <Text fx:id="title" fill="WHITE" strokeType="OUTSIDE" strokeWidth="0.0" text="TITRE DE LA FENETRE ICI"> |
| | | <font> |
| | | <Font name="Arial Bold" size="16.0" /> |
| | | </font> |
| | | </Text> |
| | | </children> |
| | | </HBox> |
| | | <BorderPane fx:id="formPanel" VBox.vgrow="ALWAYS"> |
| | | <center> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" BorderPane.alignment="CENTER"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="47.0" right="47.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <ScrollPane fitToHeight="true" fitToWidth="true" prefHeight="381.0" prefWidth="310.0" VBox.vgrow="ALWAYS"> |
| | | <content> |
| | | <VBox fx:id="formContainer" style="-fx-background-color: #F8F8F8; -fx-border-color: #E9E9E9; -fx-border-width: 1;" /> |
| | | </content> |
| | | </ScrollPane> |
| | | </children> |
| | | </VBox> |
| | | </center></BorderPane> |
| | | <HBox fx:id="bottomContainer" alignment="TOP_RIGHT" prefHeight="50.0" spacing="5.0"> |
| | | <children> |
| | | <Button fx:id="cancelButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-border-color: #9d9fa2; -fx-background-radius: 0;" text="Annuler" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | <Button fx:id="editButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #31a19a; -fx-cursor: pointer; -fx-background-radius: 0;" text="Enregistrerr" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | <padding> |
| | | <Insets left="47.0" right="47.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | <stylesheets> |
| | | <URL value="@../../../../styles/main-style.css" /> |
| | | <URL value="@../../../../styles/title-bar.css" /> |
| | | </stylesheets> |
| | | </BorderPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import java.net.URL?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.CheckBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TableView?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.BorderPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | <?import javafx.scene.text.Text?> |
| | | |
| | | <BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" onMouseDragged="#mouseDraggedTitleBar" onMousePressed="#mousePressedTitleBar" prefHeight="678.0" prefWidth="1120.0" style="-fx-border-color: rgb(184, 184, 184); -fx-border-width: 1;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatimfx.common.abstracts.AbstractMainDialogController"> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox alignment="CENTER" prefHeight="65.0" prefWidth="1024.0" styleClass="banner"> |
| | | <children> |
| | | <Text fx:id="title" fill="WHITE" strokeType="OUTSIDE" strokeWidth="0.0" text="TITRE"> |
| | | <font> |
| | | <Font name="Arial Bold" size="16.0" /> |
| | | </font> |
| | | </Text> |
| | | </children> |
| | | </HBox> |
| | | <VBox spacing="5.0" style="-fx-background-color: #44507;" VBox.vgrow="ALWAYS"> |
| | | <children> |
| | | <TitledPane collapsible="false" prefHeight="61.0" prefWidth="1223.0" text="Recherche"> |
| | | <content> |
| | | <BorderPane fx:id="searchPane" prefHeight="43.0" prefWidth="1219.0" style="-fx-background-color: rgb(246, 247, 249);"> |
| | | <right> |
| | | <HBox spacing="5.0" BorderPane.alignment="CENTER_LEFT"> |
| | | <BorderPane.margin> |
| | | <Insets /> |
| | | </BorderPane.margin> |
| | | <children> |
| | | <Button fx:id="btnSearch" maxWidth="1.7976931348623157E308" mnemonicParsing="false" styleClass="search"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/Recherche.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnReset" maxWidth="1.7976931348623157E308" mnemonicParsing="false" styleClass="search"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/Reset.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <CheckBox fx:id="advancedCheckBox" alignment="CENTER" maxHeight="-Infinity" maxWidth="1.7976931348623157E308" mnemonicParsing="false" prefHeight="25.0" text="Options avancées" /> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </right> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <VBox fx:id="normalSearchContainer" prefHeight="200.0" prefWidth="100.0"> |
| | | <padding> |
| | | <Insets right="50.0" /> |
| | | </padding> |
| | | </VBox> |
| | | <VBox fx:id="advancedSearchContainer" prefHeight="200.0" prefWidth="100.0"> |
| | | <padding> |
| | | <Insets right="50.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | </BorderPane> |
| | | </content> |
| | | </TitledPane> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="3.0" style="-fx-background-color: rgb(246, 247, 249);" VBox.vgrow="ALWAYS"> |
| | | <children> |
| | | <HBox fx:id="buttonContainer" alignment="CENTER_LEFT" spacing="2.0"> |
| | | <children> |
| | | <HBox fx:id="buttonContainer" alignment="BOTTOM_LEFT" spacing="2.0"> |
| | | <children> |
| | | <Button fx:id="btnAdd" mnemonicParsing="false" onAction="#onAddDialog" style="-fx-background-color: #31a19a; -fx-cursor: pointer; -fx-background-radius: 8 0 0 0; -fx-border-radius: 8 0 0 0;" textFill="#ebf0ee"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/add.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnEdit" mnemonicParsing="false" onAction="#onEditDialog" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/edit.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnPrint" mnemonicParsing="false" onAction="#onEditDialog" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/print.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnDelete" mnemonicParsing="false" onAction="#removeElement" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/trash.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_RIGHT" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button fx:id="btnImport" mnemonicParsing="false" onAction="#removeElement" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/trash.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <opaqueInsets> |
| | | <Insets /> |
| | | </opaqueInsets> |
| | | </HBox> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" VBox.vgrow="ALWAYS"> |
| | | <children> |
| | | <TableView fx:id="elementTable" VBox.vgrow="ALWAYS"> |
| | | <columnResizePolicy> |
| | | <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" /> |
| | | </columnResizePolicy> |
| | | </TableView> |
| | | <HBox alignment="CENTER_LEFT" spacing="30.0" style="-fx-background-color: rgb(206, 206, 206);"> |
| | | <children> |
| | | <HBox alignment="CENTER" spacing="15.0"> |
| | | <children> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <Button fx:id="btnNext" mnemonicParsing="false" style="-fx-background-color: transparent; -fx-padding: 1;"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/next.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Label text="suivant"> |
| | | <font> |
| | | <Font size="14.0" /> |
| | | </font> |
| | | </Label> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <Button fx:id="btnPrevious" mnemonicParsing="false" onAction="#previousPage" style="-fx-background-color: transparent; -fx-padding: 1;"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/previous.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Label text="precedent"> |
| | | <font> |
| | | <Font size="14.0" /> |
| | | </font> |
| | | </Label> |
| | | </children> |
| | | </HBox> |
| | | <Label fx:id="paginationNumberInfo" text="(0/0)"> |
| | | <font> |
| | | <Font size="14.0" /> |
| | | </font> |
| | | </Label> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </VBox> |
| | | <HBox alignment="CENTER_RIGHT"> |
| | | <children> |
| | | <Button fx:id="btnClose" mnemonicParsing="false" prefHeight="27.0" prefWidth="90.0" style="-fx-background-color: rgb(202, 202, 202); -fx-cursor: pointer; -fx-border-color: #9d9fa2;" text="Quitter" textFill="#5d5d5d" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="30.0" left="30.0" right="30.0" top="30.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | <top> |
| | | <HBox styleClass="title-bar" BorderPane.alignment="CENTER"> |
| | | <padding> |
| | | <Insets bottom="2.0" left="2.0" right="2.0" top="2.0" /> |
| | | </padding> |
| | | <children> |
| | | <HBox prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | <HBox alignment="CENTER_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button mnemonicParsing="false" onMouseClicked="#minimize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/min-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onMouseClicked="#maximize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/max-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#close" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/close-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </HBox> |
| | | </top> |
| | | <stylesheets> |
| | | <URL value="@../../../../styles/main-style.css" /> |
| | | <URL value="@../../../../styles/title-bar.css" /> |
| | | </stylesheets> |
| | | </BorderPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.Cursor?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.Menu?> |
| | | <?import javafx.scene.control.MenuButton?> |
| | | <?import javafx.scene.control.MenuItem?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="533.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.MainController"> |
| | | <children> |
| | | <VBox fx:id="mainContainer" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css"> |
| | | <children> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <ImageView fitHeight="48.0" fitWidth="190.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/icone_ins.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </children> |
| | | <padding> |
| | | <Insets right="30.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox fx:id="myMenuBar"> |
| | | <children> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Fichier"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/Fichier.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" onAction="#quit" text="Quitter" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Paramètres"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/143-02.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <Menu mnemonicParsing="false" text="TypeFichier"> |
| | | <items> |
| | | <MenuItem fx:id="validateurMenuItem" mnemonicParsing="false" onAction="#openImportTypeFichierDialog" text="Importer" /> |
| | | <MenuItem fx:id="typeFichMenuItem" mnemonicParsing="false" onAction="#openTypeFichierDialog" text="Consulter" /> |
| | | </items> |
| | | </Menu> |
| | | <MenuItem fx:id="configMenuItem" mnemonicParsing="false" onAction="#openConfigDialog" text="Configuration des repertoires" /> |
| | | <MenuItem fx:id="validateurTypeFichMenuItem" mnemonicParsing="false" onAction="#openValidateurFichierDialog" text="Consulter les validateurs des typeFichier" /> |
| | | <MenuItem fx:id="fichierValidationMenuItem1" mnemonicParsing="false" onAction="#openFichierValidationDialog" text="Générer les fichiers de validation" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" disable="true" mnemonicParsing="false" text="Aide"> |
| | | <graphic> |
| | | <ImageView disable="true" fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/143-05.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" text="A propos" /> |
| | | </items> |
| | | </MenuButton> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox spacing="10.0" style="-fx-background-color: #fff; -fx-border-color: #dedfe0;"> |
| | | <padding> |
| | | <Insets bottom="5.0" left="15.0" right="5.0" top="5.0" /> |
| | | </padding> |
| | | <children> |
| | | <HBox prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Button fx:id="btnGenValidateur" mnemonicParsing="false" onAction="#openFichierValidationDialog" styleClass="receive"> |
| | | <cursor> |
| | | <Cursor fx:constant="HAND" /> |
| | | </cursor> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="TOP_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | </children> |
| | | </HBox> |
| | | <VBox prefHeight="437.0" prefWidth="928.0" style="-fx-background-color: transparent;" styleClass="main_screen" stylesheets="@../../../../styles/main_screen.css" VBox.vgrow="ALWAYS" /> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.Cursor?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.Menu?> |
| | | <?import javafx.scene.control.MenuButton?> |
| | | <?import javafx.scene.control.MenuItem?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | |
| | | <VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.MainController"> |
| | | <children> |
| | | <HBox style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css"> |
| | | <children> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <ImageView fitHeight="48.0" fitWidth="190.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/icone_ins.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </children> |
| | | <padding> |
| | | <Insets right="30.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox fx:id="myMenuBar"> |
| | | <children> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Fichier"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../../../../../importation-validation-data/src/main/resources/images/Fichier.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" onAction="#quit" text="Quitter" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Paramètres"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../../../../../importation-validation-data/src/main/resources/images/143-02.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <Menu mnemonicParsing="false" text="TypeFichier"> |
| | | <items> |
| | | <MenuItem fx:id="validateurMenuItem" mnemonicParsing="false" onAction="#openImportTypeFichierDialog" text="Importer" /> |
| | | <MenuItem fx:id="typeFichMenuItem" mnemonicParsing="false" onAction="#openTypeFichierDialog" text="Consulter" /> |
| | | </items> |
| | | </Menu> |
| | | <MenuItem fx:id="configMenuItem" mnemonicParsing="false" onAction="#openConfigDialog" text="Configuration des repertoires" /> |
| | | <MenuItem fx:id="validateurTypeFichMenuItem" mnemonicParsing="false" onAction="#openValidateurFichierDialog" text="Consulter les validateurs des typeFichier" /> |
| | | <MenuItem fx:id="fichierValidationMenuItem1" mnemonicParsing="false" onAction="#openFichierValidationDialog" text="Générer les fichiers de validation" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" disable="true" mnemonicParsing="false" text="Aide"> |
| | | <graphic> |
| | | <ImageView disable="true" fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../../../../../importation-validation-data/src/main/resources/images/143-05.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" text="A propos" /> |
| | | </items> |
| | | </MenuButton> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox spacing="10.0" style="-fx-background-color: #fff; -fx-border-color: #dedfe0;"> |
| | | <padding> |
| | | <Insets bottom="5.0" left="15.0" right="5.0" top="5.0" /> |
| | | </padding> |
| | | <children> |
| | | <HBox prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Button fx:id="btnGenValidateur" mnemonicParsing="false" onAction="#openFichierValidationDialog" styleClass="receive"> |
| | | <cursor> |
| | | <Cursor fx:constant="HAND" /> |
| | | </cursor> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="TOP_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | </children> |
| | | </HBox> |
| | | <VBox prefHeight="437.0" prefWidth="928.0" style="-fx-background-color: transparent;" styleClass="cover" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </VBox> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.scene.control.Menu?> |
| | | <?import javafx.scene.control.MenuBar?> |
| | | <?import javafx.scene.control.MenuItem?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="928.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.MainController"> |
| | | <children> |
| | | <VBox fx:id="mainContainer" prefHeight="200.0" prefWidth="100.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <MenuBar> |
| | | <menus> |
| | | <Menu mnemonicParsing="false" text="Fichier"> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" onAction="#quit" text="Quitter" /> |
| | | </items> |
| | | </Menu> |
| | | <Menu mnemonicParsing="false" text="Paramètres"> |
| | | <items> |
| | | <Menu mnemonicParsing="false" text="TypeFichier"> |
| | | <items> |
| | | <MenuItem fx:id="typeFichMenuItem" mnemonicParsing="false" onAction="#openTypeFichierDialog" text="Consulter" /> |
| | | <MenuItem fx:id="validateurMenuItem" mnemonicParsing="false" onAction="#openImportTypeFichierDialog" text="Importer" /> |
| | | </items> |
| | | </Menu> |
| | | <MenuItem fx:id="configMenuItem" mnemonicParsing="false" onAction="#openConfigDialog" text="Configuration des repertoires" /> |
| | | <MenuItem fx:id="validateurTypeFichMenuItem" mnemonicParsing="false" onAction="#openValidateurFichierDialog" text="Consulter les validateurs des typeFichier" /> |
| | | <MenuItem fx:id="fichierValidationMenuItem1" mnemonicParsing="false" onAction="#openFichierValidationDialog" text="Générer les fichiers de validation" /> |
| | | </items> |
| | | </Menu> |
| | | <Menu mnemonicParsing="false" text="Aide"> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" text="Afficher l'aide" /> |
| | | <MenuItem mnemonicParsing="false" text="A propos de le l'application" /> |
| | | </items> |
| | | </Menu> |
| | | </menus> |
| | | </MenuBar> |
| | | <VBox prefHeight="437.0" prefWidth="928.0" styleClass="cover" stylesheets="@../../../../styles/style.css" VBox.vgrow="ALWAYS" /> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="30.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.TypeFichierAdvancedSearchFormController"> |
| | | <children> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox layoutX="10.0" layoutY="45.0" spacing="5.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="42.0" prefHeight="17.0" prefWidth="57.0" text="participant"> |
| | | <HBox.margin> |
| | | <Insets /> |
| | | </HBox.margin></Label> |
| | | <TextField fx:id="participant" prefHeight="25.0" prefWidth="80.0" styleClass="square-border" stylesheets="@../../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox spacing="5.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="57.0" text="Libelle" /> |
| | | <TextField fx:id="libelle" styleClass="square-border" stylesheets="@../../../../../styles/style.css" HBox.hgrow="ALWAYS" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | <padding> |
| | | <Insets top="10.0" /> |
| | | </padding> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="13.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.TypeFichierSearchFormController"> |
| | | <children> |
| | | <VBox layoutX="10.0" layoutY="10.0" prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox spacing="5.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="42.0" prefWidth="57.0" text="Code" /> |
| | | <TextField fx:id="code" prefWidth="80.0" styleClass="square-border" stylesheets="@../../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="30.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.ValidateurFichierAdvancedSearchFormController"> |
| | | <children> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefHeight="17.0" prefWidth="96.0" text="Nombre Position" /> |
| | | <TextField fx:id="nombrePosition" prefHeight="25.0" prefWidth="71.0" styleClass="square-border" stylesheets="@../../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import com.megatimfx.common.customcontrols.AbstractSelectionItem?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="13.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.ValidateurFichierSearchFormController"> |
| | | <children> |
| | | <VBox layoutX="10.0" layoutY="10.0" prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" prefWidth="96.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="76.0" prefHeight="17.0" prefWidth="96.0" text="Type de fichier" /> |
| | | <AbstractSelectionItem fx:id="typeFichierAbstractSelectItem" minWidth="330.0" prefHeight="27.0" prefWidth="432.0" /> |
| | | </children> |
| | | <VBox.margin> |
| | | <Insets bottom="10.0" /> |
| | | </VBox.margin> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="87.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.ConfigEditFormController"> |
| | | <children> |
| | | <VBox prefHeight="400.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur les repertoires"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" layoutX="25.0" layoutY="115.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Repertoire de stockage des validateurs XML" /> |
| | | <TextField fx:id="outputDir" prefHeight="25.0" prefWidth="336.0" styleClass="square-border" stylesheets="@../../../../styles/style.css"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | <Button fx:id="outButton" mnemonicParsing="false" onMousePressed="#outButtonOnClicked" prefHeight="25.0" prefWidth="25.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" text="..."> |
| | | <HBox.margin> |
| | | <Insets right="10.0" /> |
| | | </HBox.margin> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import com.megatimfx.common.customcontrols.AbstractSelectionItem?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.CheckBox?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.PasswordField?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.StackPane?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="249.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.FichierValidationEditFormController"> |
| | | <children> |
| | | <VBox spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur le fichier de validation"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Type de fichier" /> |
| | | <AbstractSelectionItem fx:id="typeFichierAbstractSelectItem" minWidth="330.0" prefWidth="327.0"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin></AbstractSelectionItem> |
| | | </children> |
| | | </HBox> |
| | | <HBox layoutX="25.0" layoutY="87.0" prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="205.0" text="Protéger fichier de validation ?" /> |
| | | <CheckBox fx:id="isProtegeCheckBox" layoutX="235.0" layoutY="10.0" mnemonicParsing="false" text="Oui"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </CheckBox> |
| | | </children> |
| | | </HBox> |
| | | <HBox prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="TOP_RIGHT" prefWidth="205.0" text="Clé de cryptage" /> |
| | | <StackPane minWidth="328.0" prefHeight="150.0" prefWidth="200.0"> |
| | | <children> |
| | | <TextField fx:id="showKeyToEncrypt" prefWidth="328.0" style="-fx-background-radius: 0%;" /> |
| | | <PasswordField fx:id="keyToEncryptField" /> |
| | | <ImageView fx:id="imageView" fitHeight="15.0" fitWidth="15.0" onMousePressed="#eyeOnMousePressed" pickOnBounds="true" preserveRatio="true" StackPane.alignment="CENTER_RIGHT"> |
| | | <StackPane.margin> |
| | | <Insets right="5.0" /> |
| | | </StackPane.margin> |
| | | <image> |
| | | <Image url="@../../../../images/oeil.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </children> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </StackPane> |
| | | </children> |
| | | </HBox> |
| | | <HBox layoutX="25.0" layoutY="57.0" prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="205.0" text="Confirmation de la clé" /> |
| | | <PasswordField fx:id="keyConfirmationField" minWidth="328.0"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </PasswordField> |
| | | </children> |
| | | </HBox> |
| | | <HBox layoutX="25.0" layoutY="117.0" prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="205.0" text="Valider nom du fichier ?" /> |
| | | <CheckBox fx:id="validateFileNameCheckBox" layoutX="235.0" layoutY="10.0" mnemonicParsing="false" text="Oui"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </CheckBox> |
| | | </children> |
| | | </HBox> |
| | | <!-- <HBox alignment="CENTER_LEFT"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Repertoire de sortie" /> |
| | | <TextField fx:id="OutDirTextField" prefHeight="25.0" prefWidth="336.0"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | <Button fx:id="OutButton" mnemonicParsing="false" onMousePressed="#outButtonOnClicked" prefHeight="25.0" prefWidth="31.0" text="..."> |
| | | <HBox.margin> |
| | | <Insets right="10.0" /> |
| | | </HBox.margin> |
| | | </Button> |
| | | </children> |
| | | </HBox>--> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | <TitledPane fx:id="fileNameTitledPane" collapsible="false" text="Informations sur le nom du fichier à valider"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Format de la date" /> |
| | | <ComboBox fx:id="formatDate" prefWidth="327.0" style="-fx-background-radius: 0%;"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin></ComboBox> |
| | | </children> |
| | | </HBox> |
| | | <!-- <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Extension du fichier" /> |
| | | <ComboBox fx:id="extensionFichier" prefWidth="327.0" style="-fx-background-radius: 0%;"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </ComboBox> |
| | | </children> |
| | | </HBox>--> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Valeur maximale des tierces" /> |
| | | <TextField fx:id="MaxValueTierceTextField" prefHeight="25.0" prefWidth="124.0" style="-fx-background-radius: 0%;"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="182.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.ImportTypeFichierEditFormController"> |
| | | <children> |
| | | <VBox layoutX="-6.0" layoutY="7.0" spacing="5.0" AnchorPane.bottomAnchor="-7.0" AnchorPane.leftAnchor="-6.0" AnchorPane.rightAnchor="6.0" AnchorPane.topAnchor="7.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur le fichier à importer"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <!-- <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Format du fichier" /> |
| | | <ComboBox fx:id="formatFichier" prefWidth="150.0" /> |
| | | </children> |
| | | </HBox>--> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Délimiteur de ligne" /> |
| | | <ComboBox fx:id="delimiteurLigne" prefHeight="25.0" prefWidth="328.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Délimiteur colonne" /> |
| | | <ComboBox fx:id="delimiteurColonne" prefHeight="25.0" prefWidth="328.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Fichier à importer" /> |
| | | <TextField fx:id="fileToImportTextField" prefHeight="25.0" prefWidth="336.0" styleClass="square-border" stylesheets="@../../../../styles/style.css"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | <Button fx:id="importButton" mnemonicParsing="false" onMousePressed="#importButtonOnClicked" prefHeight="25.0" prefWidth="31.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" text="..."> |
| | | <HBox.margin> |
| | | <Insets right="10.0" /> |
| | | </HBox.margin> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="394.0" prefWidth="586.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.StructureLigneEditFormController"> |
| | | <children> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations générales sur la structure de la ligne" VBox.vgrow="ALWAYS"> |
| | | <content> |
| | | <VBox fx:id="formFieldContainer" spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Position" /> |
| | | <ComboBox fx:id="positionComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Code" /> |
| | | <TextField fx:id="codeTextField" prefWidth="100.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Désignation" /> |
| | | <TextField fx:id="designationTextField" prefWidth="280.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Type de donnée" /> |
| | | <ComboBox fx:id="typeDonneeComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Taille" /> |
| | | <TextField fx:id="tailleTextField" prefWidth="100.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" layoutX="25.0" layoutY="145.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Taille partie décimale" /> |
| | | <TextField fx:id="taillePartieDecimalTextField" prefWidth="100.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="dateFormatContainer" alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Format" /> |
| | | <ComboBox fx:id="formatDateComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | <!--<TextField fx:id="formatDateTextField" prefWidth="100.0" />--> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="dateFormatContainer1" alignment="CENTER_LEFT" layoutX="25.0" layoutY="175.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Séparateur de date" /> |
| | | <ComboBox fx:id="delimiteurDateComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="dateFormatContainer11" alignment="CENTER_LEFT" layoutX="25.0" layoutY="205.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefHeight="17.0" prefWidth="138.0" text="Séparateur de décimal" /> |
| | | <ComboBox fx:id="delimiteurDecimalComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="182.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.TypeFichierEditFormController"> |
| | | <children> |
| | | <VBox layoutX="-6.0" layoutY="7.0" spacing="5.0" AnchorPane.bottomAnchor="-7.0" AnchorPane.leftAnchor="-6.0" AnchorPane.rightAnchor="6.0" AnchorPane.topAnchor="7.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations générales sur le type fichier"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <!-- <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Format du fichier" /> |
| | | <ComboBox fx:id="formatFichier" prefWidth="150.0" /> |
| | | </children> |
| | | </HBox>--> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Code TypeFichier" /> |
| | | <TextField fx:id="codeTextField" minWidth="328.0" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Libellé" /> |
| | | <TextField fx:id="libelleTextField" minWidth="328.0" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Code Participant" /> |
| | | <TextField fx:id="codeParticipantTextField" maxWidth="328.0" minWidth="328.0" prefHeight="25.0" prefWidth="336.0" styleClass="square-border" stylesheets="@../../../../styles/style.css"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import com.megatimfx.common.customcontrols.AbstractNestedEntityTable?> |
| | | <?import com.megatimfx.common.customcontrols.AbstractSelectionItem?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.CheckBox?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="543.0" prefWidth="650.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.ValidateurFichierEditFormController"> |
| | | <children> |
| | | <VBox spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur le validateur"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" text="Type de fichier" /> |
| | | <AbstractSelectionItem fx:id="typeFichierAbstractSelectItem" minWidth="330.0" prefWidth="330.0" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-font-size: 12; -fx-text-fill: black;" text="Format du fichier de données" /> |
| | | <ComboBox fx:id="dataTypeComboBox" minHeight="25.0" minWidth="300.0" prefHeight="25.0" prefWidth="300.0" style="-fx-background-radius: 0%;" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="delimiteurLigneHBox" alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-font-size: 12; -fx-text-fill: black;" text="Délimiteur de ligne" /> |
| | | <ComboBox fx:id="delimiteurLigne" minHeight="25.0" minWidth="300.0" prefHeight="25.0" prefWidth="300.0" style="-fx-background-radius: 0%;" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="delimiteurColonneHBox" alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-text-fill: black;" text="Délimiteur colonne" /> |
| | | <ComboBox fx:id="delimiteurColonne" minHeight="25.0" minWidth="300.0" prefHeight="25.0" prefWidth="300.0" style="-fx-background-radius: 0%;" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" text="Nombre de position par ligne" /> |
| | | <TextField fx:id="nombrePositionTextField" prefWidth="50.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox prefHeight="43.0" prefWidth="637.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-text-fill: black;" text="Fichier contient ligne d'entête ?" /> |
| | | <CheckBox fx:id="headerPresentCheckbox" minHeight="25.0" mnemonicParsing="false" prefHeight="25.0" text="Oui" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | <TitledPane animated="false" collapsible="false" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" text="Structure des lignes" VBox.vgrow="ALWAYS"> |
| | | <content> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_RIGHT"> |
| | | <children> |
| | | <CheckBox fx:id="saisieStructureLigneChecBox" mnemonicParsing="false" styleClass="square-border" stylesheets="@../../../../styles/style.css" text="Saisir la structure des ligne" /> |
| | | </children> |
| | | </HBox> |
| | | <AbstractNestedEntityTable fx:id="structureLigneAbstractTable" prefHeight="252.0" prefWidth="526.0" VBox.vgrow="ALWAYS" /> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding></VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | # Root logger option |
| | | log4j.rootLogger=INFO, file |
| | | |
| | | log4j.appender.file=org.apache.log4j.RollingFileAppender |
| | | log4j.appender.file.File=generateur.log |
| | | log4j.appender.file.MaxFileSize=10GB |
| | | log4j.appender.file.MaxBackupIndex=5 |
| | | log4j.appender.file.layout=org.apache.log4j.PatternLayout |
| | | log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n |
| | | |
| | | # Log everything. Good for troubleshooting |
| | | log4j.logger.org.hibernate=FATAL |
| New file |
| | |
| | | /* |
| | | * Empty Stylesheet file. |
| | | */ |
| | | |
| | | .banner { |
| | | -fx-background-image: url(../images/Motif.png); |
| | | -fx-background-position: center center; |
| | | -fx-background-repeat: stretch; |
| | | -fx-background-size: cover; |
| | | } |
| | | |
| | | .mainFxmlClass { |
| | | |
| | | } |
| | | |
| | | .table-view { |
| | | -fx-background-color: transparent; |
| | | -fx-border-color: rgb(209, 211, 212); |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .table-view .column-header, |
| | | .table-view .column-header-background .filler { |
| | | -fx-background-color: #44507B; |
| | | } |
| | | |
| | | .column-header { |
| | | |
| | | } |
| | | |
| | | .table-view .column-header-background{ |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .table-view .column-header { |
| | | -fx-border-color: rgb(209, 211, 212); |
| | | } |
| | | |
| | | .table-view .column-header .label{ |
| | | -fx-text-fill: white; |
| | | -fx-font-weight: bold; |
| | | -fx-alignment: CENTER; |
| | | -fx-padding: 5; |
| | | } |
| | | |
| | | .table-cell { |
| | | -fx-border-width: 0 1 0 1; |
| | | -fx-border-color: rgb(230, 231, 232); |
| | | -fx-padding: 5; |
| | | -fx-alignment: CENTER; |
| | | } |
| | | |
| | | .table-row-cell{ |
| | | -fx-background-color: #ffffff; |
| | | } |
| | | |
| | | .table-row-cell:odd { |
| | | -fx-background-color: rgb(239, 239, 240); |
| | | } |
| | | |
| | | .table-row-cell:selected { |
| | | -fx-background-color: rgba(214, 236, 219, 1); |
| | | -fx-background-insets: 0; |
| | | -fx-background-radius: 0; |
| | | } |
| | | |
| | | .table-row-cell:selected .text { |
| | | -fx-fill: #000; |
| | | } |
| | | |
| | | /* |
| | | * Style for TextField |
| | | */ |
| | | .text-field { |
| | | -fx-background-color: #F6F7F9; |
| | | -fx-border-color: #30AFDC; |
| | | -fx-border-radius: 3px; |
| | | -fx-background-radius: 3px; |
| | | } |
| | | |
| | | /* |
| | | Tab Pane style |
| | | */ |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab:top { |
| | | -fx-border-color: #a3a7a8; |
| | | -fx-border-radius: 5 5 0 0; |
| | | -fx-background-color: white; |
| | | -fx-pref-height: 40px; |
| | | -fx-background-insets: 0; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab:selected:top { |
| | | -fx-border-color: #a3a7a8 #a3a7a8 #a3a7a8 #a3a7a8; |
| | | -fx-border-width: 1 1 1 1; |
| | | -fx-border-radius: 5 5 0 0; |
| | | -fx-background-color: white; |
| | | -fx-pref-height: 40px; |
| | | -fx-background-insets: 0; |
| | | -fx-border-insets: 0; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab:selected > .tab-container > .tab-label { |
| | | -fx-alignment: CENTER; |
| | | -fx-text-fill: #323232; |
| | | -fx-font-weight: bold; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab > .tab-container > .tab-label { |
| | | -fx-alignment: CENTER; |
| | | -fx-text-fill: #323232; |
| | | -fx-font-weight: bold; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .tab-header-background { |
| | | -fx-background-color: white; |
| | | -fx-border-color: #a3a7a8; |
| | | -fx-border-width: 0 0 1 0; |
| | | -fx-background-insets: 0; |
| | | -fx-pref-height: 45px; |
| | | } |
| | | |
| | | /* |
| | | * Title pane style |
| | | */ |
| | | .titled-pane { |
| | | -fx-border-color: rgba(199, 200, 202, 1); |
| | | -fx-text-fill: rgba(255, 255, 255, 1); |
| | | } |
| | | |
| | | .titled-pane > .title { |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-background-color: rgba(68, 80, 123, 1); |
| | | } |
| | | |
| | | .titled-pane > .title .text { |
| | | |
| | | } |
| | | |
| | | /* #2 */ |
| | | .titled-pane > .title > .text { |
| | | -fx-font-size: 14px; |
| | | -fx-background-color: rgba(114, 114, 116, 1); |
| | | } |
| | | |
| | | /* |
| | | * Search buttons |
| | | */ |
| | | |
| | | .search { |
| | | -fx-background-color: rgba(220, 221, 223, 1); |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-text-fill: rgba(53, 52, 52, 1); |
| | | } |
| | | |
| | | .search:hover { |
| | | -fx-background-color: rgba(220, 221, 223, .8); |
| | | } |
| | | |
| | | .search:cancel { |
| | | -fx-text-fill: gray; |
| | | } |
| | | |
| | | /* CHECKBOX */ |
| | | .check-box { |
| | | /* default properties */ |
| | | selected-box-color: rgba(255, 255, 255, 1); |
| | | box-color: rgba(255, 255, 255, 1); |
| | | mark-color: white; |
| | | } |
| | | |
| | | .check-box .box { |
| | | /* background color for selected checkbox */ |
| | | -fx-border-width: 1px; |
| | | -fx-border-color: rgb(208, 208, 208); |
| | | } |
| | | |
| | | .check-box:selected > .box { |
| | | /* background color for selected checkbox */ |
| | | -fx-background-color: selected-box-color; |
| | | } |
| | | |
| | | .check-box > .box { |
| | | /* background color of unselected checkbox */ |
| | | -fx-background-color: box-color; |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | } |
| | | |
| | | /* TEXTFIELD */ |
| | | |
| | | .text-field { |
| | | -fx-background-color: rgba(208, 208, 208, 1); |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | -fx-text-fill: rgba(98, 98, 100, 1); |
| | | -fx-border-color: rgba(208, 208, 208, 1); |
| | | -fx-border-width: 1; |
| | | } |
| | | |
| | | .text-field:disabled { |
| | | -fx-opacity: 0.8; |
| | | } |
| | | |
| | | /* COMBOBOX */ |
| | | /* The ListCell that shows the selected item in a non-editable ComboBox */ |
| | | .combo-box, |
| | | .combo-box:focus, |
| | | .combo-box .list-cell { |
| | | -fx-background-color: rgba(208, 208, 208, 1); |
| | | } |
| | | |
| | | .combo-box .list-view .list-cell { |
| | | -fx-background-color: rgba(255, 255, 255, 1); |
| | | } |
| | | |
| | | /* The TextField that shows the selected item in an editable ComboBox */ |
| | | .combo-box .text-input { |
| | | -fx-background-color: rgba(208, 208, 208, 1); |
| | | } |
| | | |
| | | .combo-box:disabled { |
| | | -fx-opacity: 0.8; |
| | | } |
| | | |
| | | |
| | | /* Style the arrow button area */ |
| | | .combo-box .arrow-button { |
| | | -fx-background-color: rgba(255, 255, 255, 1); |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | -fx-border-color: rgba(225, 225, 225, 1); |
| | | -fx-border-width: 1; |
| | | } |
| | | |
| | | .combo-box .arrow-button .arrow { |
| | | -fx-background-color: rgba(162, 162, 162, 1); |
| | | } |
| | | |
| | | /* Set the text color in the popup list for ComboBox to blue */ |
| | | .combo-box-popup .list-view .list-cell { |
| | | -fx-text-fill: rgba(98, 98, 100, 1); |
| | | } |
| | | |
| | | /* Set the text color in the popup list for ComboBox to blue */ |
| | | .combo-box-popup .list-view .list-cell:hover { |
| | | -fx-text-fill: rgba(98, 98, 100, 1); |
| | | -fx-background-color: rgba(214, 236, 219, 1); |
| | | } |
| New file |
| | |
| | | /* |
| | | * Empty Stylesheet file. |
| | | */ |
| | | |
| | | @font-face { |
| | | font-family: 'Roboto'; |
| | | src: url('../fonts/Roboto-Medium.ttf'); |
| | | } |
| | | |
| | | * { |
| | | -fx-font-family: 'Roboto'; |
| | | } |
| | | |
| | | .main_screen { |
| | | -fx-background-image: url('../images/Accuueil_Generator.jpg'); |
| | | -fx-background-position: center center; |
| | | -fx-background-repeat: stretch; |
| | | -fx-background-size: cover; |
| | | -fx-border-color: #C5CFCE; |
| | | } |
| | | |
| | | .dashboard { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Tableau_de_bord_1.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .dashboard:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Barre_outils_hover-03.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .receive { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/generate.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .receive:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/generate.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .update { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Modif-01-01x.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .update:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Modif-01-01.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .generate { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/fichiers_generesx.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .generate:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Barre_outils_hover-01.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .treatment { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/tache.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .treatment:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/tache_hover.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | } |
| | | |
| | | /* |
| | | * Title pane style |
| | | */ |
| | | .titled-pane > .title { |
| | | -fx-background-color: #C5D6E0; |
| | | -fx-border-color: #C5D6E0; |
| | | } |
| | | |
| | | .titled-pane > .title .text { |
| | | |
| | | } |
| | | |
| | | /* #2 */ |
| | | .titled-pane > .title > .text { |
| | | -fx-font-size: 14px; |
| | | } |
| | | |
| | | /* |
| | | * Menu-bar style |
| | | */ |
| | | /* |
| | | .menu-item { |
| | | -fx-border-color: #fff; |
| | | -fx-margin: 0; |
| | | } |
| | | |
| | | .menu .text, |
| | | .menu-item .text { |
| | | -fx-fill: #000; |
| | | -fx-fill: #000; |
| | | } |
| | | |
| | | .menu:hover .text, |
| | | .menu:showing .text, |
| | | .menu:focused .text, |
| | | .menu-item:hover .text, |
| | | .menu-item:showing .text, |
| | | .menu-item:focused .text { |
| | | -fx-fill: #fff; |
| | | -fx-fill: #fff; |
| | | -fx-font-weight: bold; |
| | | } |
| | | |
| | | |
| | | .menu:hover, |
| | | .menu:showing, |
| | | .menu:focused, |
| | | .menu-item:hover, |
| | | .menu-item:showing, |
| | | .menu-item:focused { |
| | | -fx-background-color: #BCD18A; |
| | | } |
| | | |
| | | .menu:clicked { |
| | | -fx-background-color: #BCD18A; |
| | | } |
| | | */ |
| | | /* |
| | | * MENU BUTTON |
| | | */ |
| | | |
| | | .menu-button > .arrow-button { |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .menu-button > .arrow-button > .arrow { |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .menu-button { |
| | | -fx-background-color: transparent; |
| | | -fx-background-radius: 7; |
| | | -fx-border-radius: 7; |
| | | -fx-border-width: 1; |
| | | -fx-border-color: transparent; |
| | | -fx-text-fill: white; |
| | | -fx-font-size: 11px; |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .menu-button:hover { |
| | | -fx-background-color: #ededee; |
| | | -fx-background-radius: 7; |
| | | -fx-border-radius: 7; |
| | | -fx-border-width: 1; |
| | | -fx-border-color: #F2F2F2; |
| | | -fx-text-fill: white; |
| | | -fx-font-weight: normal; |
| | | } |
| | | |
| | | /* LABEL */ |
| | | |
| | | .bottom-label { |
| | | -fx-text-fill: rgba(90, 90, 90, 1); |
| | | -fx-font-weight: bold; |
| | | -fx-font-size: 11px; |
| | | } |
| | | |
| | | /* TEXTFIELD */ |
| | | |
| | | .bottom-text-field { |
| | | -fx-background-color: #e0e4e3; |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | -fx-text-fill: rgba(0, 0, 0, 1); |
| | | -fx-border-color: #C5CFCE; |
| | | -fx-border-width: 1; |
| | | -fx-padding: 3; |
| | | -fx-font-size: 11px; |
| | | -fx-background-radius: 2; |
| | | -fx-border-radius: 2; |
| | | } |
| | | |
| | | .bottom-text-field:disabled { |
| | | -fx-opacity: 0.8; |
| | | } |
| New file |
| | |
| | | /* |
| | | Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | Click nbfs://nbhost/SystemFileSystem/Templates/Other/CascadeStyleSheet.css to edit this template |
| | | */ |
| | | /* |
| | | Created on : 15 nov. 2022, 11:59:29 |
| | | Author : STEPHANIE |
| | | */ |
| | | |
| | | .cover{ |
| | | -fx-background-image: url(../images/Accuueil_Generator.jpg); |
| | | -fx-background-position: center center; |
| | | -fx-background-repeat: stretch; |
| | | -fx-background-size: stretch; |
| | | } |
| | | .square-border { |
| | | -fx-background-radius:0%; |
| | | } |
| New file |
| | |
| | | /* |
| | | To change this license header, choose License Headers in Project Properties. |
| | | To change this template file, choose Tools | Templates |
| | | and open the template in the editor. |
| | | */ |
| | | /* |
| | | Created on : 3 mars 2022, 14:50:08 |
| | | Author : MGT_DEV3 |
| | | */ |
| | | |
| | | .title-bar { |
| | | -fx-background-color: rgba(235, 235, 235, 1); |
| | | } |
| | | |
| | | .title-bar-button { |
| | | -fx-background-color: transparent; |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| | | .title-bar-button:hover { |
| | | -fx-cursor: hand; |
| | | -fx-background-color: rgba(220, 221, 222, 1); |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| | | .title-bar-button-close { |
| | | -fx-cursor: hand; |
| | | -fx-background-color: transparent; |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| | | .title-bar-button-close:hover { |
| | | -fx-background-color: rgba(232, 17, 35, 1); |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| New file |
| | |
| | | title of the update version 1.0 |
| | | use this as description version 1.0 |
| | | bla bla bla |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import java.net.URL?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.BorderPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | <?import javafx.scene.text.Text?> |
| | | |
| | | <BorderPane style="-fx-border-color: rgb(184, 184, 184); -fx-border-width: 1;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatimfx.common.abstracts.AbstractEditDialogController"> |
| | | <top> |
| | | <HBox onMouseDragged="#mouseDraggedTitleBar" onMousePressed="#mousePressedTitleBar" styleClass="title-bar" BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | <HBox alignment="CENTER_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button mnemonicParsing="false" onMouseClicked="#minimize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/min-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onMouseClicked="#maximize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/max-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#close" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/close-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children></HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="2.0" left="2.0" right="2.0" top="2.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </top> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="200.0" styleClass="banner"> |
| | | <children> |
| | | <Text fx:id="title" fill="WHITE" strokeType="OUTSIDE" strokeWidth="0.0" text="TITRE DE LA FENETRE ICI"> |
| | | <font> |
| | | <Font name="Arial Bold" size="16.0" /> |
| | | </font> |
| | | </Text> |
| | | </children> |
| | | </HBox> |
| | | <BorderPane fx:id="formPanel"> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="47.0" right="47.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <VBox fx:id="formContainer" style="-fx-background-color: #F8F8F8; -fx-border-color: #E9E9E9; -fx-border-width: 1;" /> |
| | | </children> |
| | | </VBox> |
| | | </center></BorderPane> |
| | | <HBox fx:id="bottomContainer" alignment="TOP_RIGHT" prefHeight="50.0" spacing="5.0"> |
| | | <children> |
| | | <Button fx:id="cancelButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-border-color: #9d9fa2; -fx-background-radius: 0;" text="Annuler" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | <Button fx:id="editButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #31a19a; -fx-cursor: pointer; -fx-background-radius: 0;" text="Enregistrer" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | <padding> |
| | | <Insets left="47.0" right="47.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | <stylesheets> |
| | | <URL value="@../../../../styles/title-bar.css" /> |
| | | <URL value="@../../../../styles/main-style.css" /> |
| | | </stylesheets> |
| | | </BorderPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import java.net.URL?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.ScrollPane?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.BorderPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | <?import javafx.scene.text.Text?> |
| | | |
| | | <BorderPane prefHeight="571.0" prefWidth="657.0" style="-fx-border-color: rgb(184, 184, 184); -fx-border-width: 1;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatimfx.common.abstracts.AbstractSelfEditValidateDialogController"> |
| | | <top> |
| | | <HBox onMouseDragged="#mouseDraggedTitleBar" onMousePressed="#mousePressedTitleBar" styleClass="title-bar" BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | <HBox alignment="CENTER_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button mnemonicParsing="false" onAction="#min" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/min-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#max" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/max-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#close" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/close-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children></HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="2.0" left="2.0" right="2.0" top="2.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </top> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox alignment="CENTER" minHeight="-Infinity" minWidth="-Infinity" prefHeight="50.0" prefWidth="200.0" styleClass="banner"> |
| | | <children> |
| | | <Text fx:id="title" fill="WHITE" strokeType="OUTSIDE" strokeWidth="0.0" text="TITRE DE LA FENETRE ICI"> |
| | | <font> |
| | | <Font name="Arial Bold" size="16.0" /> |
| | | </font> |
| | | </Text> |
| | | </children> |
| | | </HBox> |
| | | <BorderPane fx:id="formPanel" VBox.vgrow="ALWAYS"> |
| | | <center> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" BorderPane.alignment="CENTER"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="47.0" right="47.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <ScrollPane fitToHeight="true" fitToWidth="true" prefHeight="381.0" prefWidth="310.0" VBox.vgrow="ALWAYS"> |
| | | <content> |
| | | <VBox fx:id="formContainer" style="-fx-background-color: #F8F8F8; -fx-border-color: #E9E9E9; -fx-border-width: 1;" /> |
| | | </content> |
| | | </ScrollPane> |
| | | </children> |
| | | </VBox> |
| | | </center></BorderPane> |
| | | <HBox fx:id="bottomContainer" alignment="TOP_RIGHT" prefHeight="50.0" spacing="5.0"> |
| | | <children> |
| | | <Button fx:id="cancelButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-border-color: #9d9fa2; -fx-background-radius: 0;" text="Annuler" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | <Button fx:id="editButton" mnemonicParsing="false" prefHeight="27.0" prefWidth="87.0" style="-fx-background-color: #31a19a; -fx-cursor: pointer; -fx-background-radius: 0;" text="Enregistrerr" textFill="WHITE"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | <padding> |
| | | <Insets left="47.0" right="47.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | <stylesheets> |
| | | <URL value="@../../../../styles/main-style.css" /> |
| | | <URL value="@../../../../styles/title-bar.css" /> |
| | | </stylesheets> |
| | | </BorderPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import java.net.URL?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.CheckBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TableView?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.BorderPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | <?import javafx.scene.text.Text?> |
| | | |
| | | <BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" onMouseDragged="#mouseDraggedTitleBar" onMousePressed="#mousePressedTitleBar" prefHeight="678.0" prefWidth="1120.0" style="-fx-border-color: rgb(184, 184, 184); -fx-border-width: 1;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatimfx.common.abstracts.AbstractMainDialogController"> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <HBox alignment="CENTER" prefHeight="65.0" prefWidth="1024.0" styleClass="banner"> |
| | | <children> |
| | | <Text fx:id="title" fill="WHITE" strokeType="OUTSIDE" strokeWidth="0.0" text="TITRE"> |
| | | <font> |
| | | <Font name="Arial Bold" size="16.0" /> |
| | | </font> |
| | | </Text> |
| | | </children> |
| | | </HBox> |
| | | <VBox spacing="5.0" style="-fx-background-color: #44507;" VBox.vgrow="ALWAYS"> |
| | | <children> |
| | | <TitledPane collapsible="false" prefHeight="61.0" prefWidth="1223.0" text="Recherche"> |
| | | <content> |
| | | <BorderPane fx:id="searchPane" prefHeight="43.0" prefWidth="1219.0" style="-fx-background-color: rgb(246, 247, 249);"> |
| | | <right> |
| | | <HBox spacing="5.0" BorderPane.alignment="CENTER_LEFT"> |
| | | <BorderPane.margin> |
| | | <Insets /> |
| | | </BorderPane.margin> |
| | | <children> |
| | | <Button fx:id="btnSearch" maxWidth="1.7976931348623157E308" mnemonicParsing="false" styleClass="search"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/Recherche.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnReset" maxWidth="1.7976931348623157E308" mnemonicParsing="false" styleClass="search"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/Reset.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <CheckBox fx:id="advancedCheckBox" alignment="CENTER" maxHeight="-Infinity" maxWidth="1.7976931348623157E308" mnemonicParsing="false" prefHeight="25.0" text="Options avancées" /> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </right> |
| | | <center> |
| | | <VBox BorderPane.alignment="CENTER"> |
| | | <children> |
| | | <VBox fx:id="normalSearchContainer" prefHeight="200.0" prefWidth="100.0"> |
| | | <padding> |
| | | <Insets right="50.0" /> |
| | | </padding> |
| | | </VBox> |
| | | <VBox fx:id="advancedSearchContainer" prefHeight="200.0" prefWidth="100.0"> |
| | | <padding> |
| | | <Insets right="50.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | </BorderPane> |
| | | </content> |
| | | </TitledPane> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="3.0" style="-fx-background-color: rgb(246, 247, 249);" VBox.vgrow="ALWAYS"> |
| | | <children> |
| | | <HBox fx:id="buttonContainer" alignment="CENTER_LEFT" spacing="2.0"> |
| | | <children> |
| | | <HBox fx:id="buttonContainer" alignment="BOTTOM_LEFT" spacing="2.0"> |
| | | <children> |
| | | <Button fx:id="btnAdd" mnemonicParsing="false" onAction="#onAddDialog" style="-fx-background-color: #31a19a; -fx-cursor: pointer; -fx-background-radius: 8 0 0 0; -fx-border-radius: 8 0 0 0;" textFill="#ebf0ee"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/add.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnEdit" mnemonicParsing="false" onAction="#onEditDialog" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/edit.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnPrint" mnemonicParsing="false" onAction="#onEditDialog" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/print.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button fx:id="btnDelete" mnemonicParsing="false" onAction="#removeElement" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/trash.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_RIGHT" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button fx:id="btnImport" mnemonicParsing="false" onAction="#removeElement" style="-fx-background-color: #9d9fa2; -fx-cursor: pointer; -fx-background-radius: 0;" textFill="#f2eded"> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | <graphic> |
| | | <ImageView fitHeight="15.0" fitWidth="15.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/trash.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <opaqueInsets> |
| | | <Insets /> |
| | | </opaqueInsets> |
| | | </HBox> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" VBox.vgrow="ALWAYS"> |
| | | <children> |
| | | <TableView fx:id="elementTable" VBox.vgrow="ALWAYS"> |
| | | <columnResizePolicy> |
| | | <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" /> |
| | | </columnResizePolicy> |
| | | </TableView> |
| | | <HBox alignment="CENTER_LEFT" spacing="30.0" style="-fx-background-color: rgb(206, 206, 206);"> |
| | | <children> |
| | | <HBox alignment="CENTER" spacing="15.0"> |
| | | <children> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <Button fx:id="btnNext" mnemonicParsing="false" style="-fx-background-color: transparent; -fx-padding: 1;"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/next.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Label text="suivant"> |
| | | <font> |
| | | <Font size="14.0" /> |
| | | </font> |
| | | </Label> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <Button fx:id="btnPrevious" mnemonicParsing="false" onAction="#previousPage" style="-fx-background-color: transparent; -fx-padding: 1;"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/previous.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Label text="precedent"> |
| | | <font> |
| | | <Font size="14.0" /> |
| | | </font> |
| | | </Label> |
| | | </children> |
| | | </HBox> |
| | | <Label fx:id="paginationNumberInfo" text="(0/0)"> |
| | | <font> |
| | | <Font size="14.0" /> |
| | | </font> |
| | | </Label> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> |
| | | </padding> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </VBox> |
| | | <HBox alignment="CENTER_RIGHT"> |
| | | <children> |
| | | <Button fx:id="btnClose" mnemonicParsing="false" prefHeight="27.0" prefWidth="90.0" style="-fx-background-color: rgb(202, 202, 202); -fx-cursor: pointer; -fx-border-color: #9d9fa2;" text="Quitter" textFill="#5d5d5d" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="30.0" left="30.0" right="30.0" top="30.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </children> |
| | | </VBox> |
| | | </center> |
| | | <top> |
| | | <HBox styleClass="title-bar" BorderPane.alignment="CENTER"> |
| | | <padding> |
| | | <Insets bottom="2.0" left="2.0" right="2.0" top="2.0" /> |
| | | </padding> |
| | | <children> |
| | | <HBox prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | <HBox alignment="CENTER_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS"> |
| | | <children> |
| | | <Button mnemonicParsing="false" onMouseClicked="#minimize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/min-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onMouseClicked="#maximize" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/max-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | <Button mnemonicParsing="false" onAction="#close" style="-fx-padding: 5 12 5 12;" styleClass="title-bar-button"> |
| | | <graphic> |
| | | <ImageView fitHeight="10.0" fitWidth="10.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/close-icon.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </HBox> |
| | | </top> |
| | | <stylesheets> |
| | | <URL value="@../../../../styles/main-style.css" /> |
| | | <URL value="@../../../../styles/title-bar.css" /> |
| | | </stylesheets> |
| | | </BorderPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.Cursor?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.Menu?> |
| | | <?import javafx.scene.control.MenuButton?> |
| | | <?import javafx.scene.control.MenuItem?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="533.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.MainController"> |
| | | <children> |
| | | <VBox fx:id="mainContainer" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css"> |
| | | <children> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <ImageView fitHeight="48.0" fitWidth="190.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/icone_ins.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </children> |
| | | <padding> |
| | | <Insets right="30.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox fx:id="myMenuBar"> |
| | | <children> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Fichier"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/Fichier.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" onAction="#quit" text="Quitter" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Paramètres"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/143-02.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <Menu mnemonicParsing="false" text="TypeFichier"> |
| | | <items> |
| | | <MenuItem fx:id="validateurMenuItem" mnemonicParsing="false" onAction="#openImportTypeFichierDialog" text="Importer" /> |
| | | <MenuItem fx:id="typeFichMenuItem" mnemonicParsing="false" onAction="#openTypeFichierDialog" text="Consulter" /> |
| | | </items> |
| | | </Menu> |
| | | <MenuItem fx:id="configMenuItem" mnemonicParsing="false" onAction="#openConfigDialog" text="Configuration des repertoires" /> |
| | | <MenuItem fx:id="validateurTypeFichMenuItem" mnemonicParsing="false" onAction="#openValidateurFichierDialog" text="Consulter les validateurs des typeFichier" /> |
| | | <MenuItem fx:id="fichierValidationMenuItem1" mnemonicParsing="false" onAction="#openFichierValidationDialog" text="Générer les fichiers de validation" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" disable="true" mnemonicParsing="false" text="Aide"> |
| | | <graphic> |
| | | <ImageView disable="true" fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/143-05.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" text="A propos" /> |
| | | </items> |
| | | </MenuButton> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox spacing="10.0" style="-fx-background-color: #fff; -fx-border-color: #dedfe0;"> |
| | | <padding> |
| | | <Insets bottom="5.0" left="15.0" right="5.0" top="5.0" /> |
| | | </padding> |
| | | <children> |
| | | <HBox prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Button fx:id="btnGenValidateur" mnemonicParsing="false" onAction="#openFichierValidationDialog" styleClass="receive"> |
| | | <cursor> |
| | | <Cursor fx:constant="HAND" /> |
| | | </cursor> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="TOP_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | </children> |
| | | </HBox> |
| | | <VBox prefHeight="437.0" prefWidth="928.0" style="-fx-background-color: transparent;" styleClass="main_screen" stylesheets="@../../../../styles/main_screen.css" VBox.vgrow="ALWAYS" /> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.Cursor?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.Menu?> |
| | | <?import javafx.scene.control.MenuButton?> |
| | | <?import javafx.scene.control.MenuItem?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | |
| | | <VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.MainController"> |
| | | <children> |
| | | <HBox style="-fx-background-color: transparent;" stylesheets="@../../../../styles/main_screen.css"> |
| | | <children> |
| | | <HBox alignment="CENTER"> |
| | | <children> |
| | | <ImageView fitHeight="48.0" fitWidth="190.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../images/icone_ins.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </children> |
| | | <padding> |
| | | <Insets right="30.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox fx:id="myMenuBar"> |
| | | <children> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Fichier"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../../../../../importation-validation-data/src/main/resources/images/Fichier.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" onAction="#quit" text="Quitter" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" mnemonicParsing="false" text="Paramètres"> |
| | | <graphic> |
| | | <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../../../../../importation-validation-data/src/main/resources/images/143-02.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <Menu mnemonicParsing="false" text="TypeFichier"> |
| | | <items> |
| | | <MenuItem fx:id="validateurMenuItem" mnemonicParsing="false" onAction="#openImportTypeFichierDialog" text="Importer" /> |
| | | <MenuItem fx:id="typeFichMenuItem" mnemonicParsing="false" onAction="#openTypeFichierDialog" text="Consulter" /> |
| | | </items> |
| | | </Menu> |
| | | <MenuItem fx:id="configMenuItem" mnemonicParsing="false" onAction="#openConfigDialog" text="Configuration des repertoires" /> |
| | | <MenuItem fx:id="validateurTypeFichMenuItem" mnemonicParsing="false" onAction="#openValidateurFichierDialog" text="Consulter les validateurs des typeFichier" /> |
| | | <MenuItem fx:id="fichierValidationMenuItem1" mnemonicParsing="false" onAction="#openFichierValidationDialog" text="Générer les fichiers de validation" /> |
| | | </items> |
| | | </MenuButton> |
| | | <MenuButton contentDisplay="TOP" disable="true" mnemonicParsing="false" text="Aide"> |
| | | <graphic> |
| | | <ImageView disable="true" fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true"> |
| | | <image> |
| | | <Image url="@../../../../../../../../importation-validation-data/src/main/resources/images/143-05.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </graphic> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" text="A propos" /> |
| | | </items> |
| | | </MenuButton> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </HBox> |
| | | <HBox spacing="10.0" style="-fx-background-color: #fff; -fx-border-color: #dedfe0;"> |
| | | <padding> |
| | | <Insets bottom="5.0" left="15.0" right="5.0" top="5.0" /> |
| | | </padding> |
| | | <children> |
| | | <HBox prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Button fx:id="btnGenValidateur" mnemonicParsing="false" onAction="#openFichierValidationDialog" styleClass="receive"> |
| | | <cursor> |
| | | <Cursor fx:constant="HAND" /> |
| | | </cursor> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="TOP_RIGHT" prefWidth="200.0" HBox.hgrow="ALWAYS" /> |
| | | </children> |
| | | </HBox> |
| | | <VBox prefHeight="437.0" prefWidth="928.0" style="-fx-background-color: transparent;" styleClass="cover" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </VBox> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.scene.control.Menu?> |
| | | <?import javafx.scene.control.MenuBar?> |
| | | <?import javafx.scene.control.MenuItem?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="928.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.MainController"> |
| | | <children> |
| | | <VBox fx:id="mainContainer" prefHeight="200.0" prefWidth="100.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <MenuBar> |
| | | <menus> |
| | | <Menu mnemonicParsing="false" text="Fichier"> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" onAction="#quit" text="Quitter" /> |
| | | </items> |
| | | </Menu> |
| | | <Menu mnemonicParsing="false" text="Paramètres"> |
| | | <items> |
| | | <Menu mnemonicParsing="false" text="TypeFichier"> |
| | | <items> |
| | | <MenuItem fx:id="typeFichMenuItem" mnemonicParsing="false" onAction="#openTypeFichierDialog" text="Consulter" /> |
| | | <MenuItem fx:id="validateurMenuItem" mnemonicParsing="false" onAction="#openImportTypeFichierDialog" text="Importer" /> |
| | | </items> |
| | | </Menu> |
| | | <MenuItem fx:id="configMenuItem" mnemonicParsing="false" onAction="#openConfigDialog" text="Configuration des repertoires" /> |
| | | <MenuItem fx:id="validateurTypeFichMenuItem" mnemonicParsing="false" onAction="#openValidateurFichierDialog" text="Consulter les validateurs des typeFichier" /> |
| | | <MenuItem fx:id="fichierValidationMenuItem1" mnemonicParsing="false" onAction="#openFichierValidationDialog" text="Générer les fichiers de validation" /> |
| | | </items> |
| | | </Menu> |
| | | <Menu mnemonicParsing="false" text="Aide"> |
| | | <items> |
| | | <MenuItem mnemonicParsing="false" text="Afficher l'aide" /> |
| | | <MenuItem mnemonicParsing="false" text="A propos de le l'application" /> |
| | | </items> |
| | | </Menu> |
| | | </menus> |
| | | </MenuBar> |
| | | <VBox prefHeight="437.0" prefWidth="928.0" styleClass="cover" stylesheets="@../../../../styles/style.css" VBox.vgrow="ALWAYS" /> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="30.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.TypeFichierAdvancedSearchFormController"> |
| | | <children> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox layoutX="10.0" layoutY="45.0" spacing="5.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="42.0" prefHeight="17.0" prefWidth="57.0" text="participant"> |
| | | <HBox.margin> |
| | | <Insets /> |
| | | </HBox.margin></Label> |
| | | <TextField fx:id="participant" prefHeight="25.0" prefWidth="80.0" styleClass="square-border" stylesheets="@../../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox spacing="5.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="57.0" text="Libelle" /> |
| | | <TextField fx:id="libelle" styleClass="square-border" stylesheets="@../../../../../styles/style.css" HBox.hgrow="ALWAYS" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | <padding> |
| | | <Insets top="10.0" /> |
| | | </padding> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="13.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.TypeFichierSearchFormController"> |
| | | <children> |
| | | <VBox layoutX="10.0" layoutY="10.0" prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox spacing="5.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="42.0" prefWidth="57.0" text="Code" /> |
| | | <TextField fx:id="code" prefWidth="80.0" styleClass="square-border" stylesheets="@../../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="30.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.ValidateurFichierAdvancedSearchFormController"> |
| | | <children> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefHeight="17.0" prefWidth="96.0" text="Nombre Position" /> |
| | | <TextField fx:id="nombrePosition" prefHeight="25.0" prefWidth="71.0" styleClass="square-border" stylesheets="@../../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import com.megatimfx.common.customcontrols.AbstractSelectionItem?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="13.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.controller.search.ValidateurFichierSearchFormController"> |
| | | <children> |
| | | <VBox layoutX="10.0" layoutY="10.0" prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" prefWidth="96.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="76.0" prefHeight="17.0" prefWidth="96.0" text="Type de fichier" /> |
| | | <AbstractSelectionItem fx:id="typeFichierAbstractSelectItem" minWidth="330.0" prefHeight="27.0" prefWidth="432.0" /> |
| | | </children> |
| | | <VBox.margin> |
| | | <Insets bottom="10.0" /> |
| | | </VBox.margin> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="87.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.ConfigEditFormController"> |
| | | <children> |
| | | <VBox prefHeight="400.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur les repertoires"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" layoutX="25.0" layoutY="115.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Repertoire de stockage des validateurs XML" /> |
| | | <TextField fx:id="outputDir" prefHeight="25.0" prefWidth="336.0" styleClass="square-border" stylesheets="@../../../../styles/style.css"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | <Button fx:id="outButton" mnemonicParsing="false" onMousePressed="#outButtonOnClicked" prefHeight="25.0" prefWidth="25.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" text="..."> |
| | | <HBox.margin> |
| | | <Insets right="10.0" /> |
| | | </HBox.margin> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import com.megatimfx.common.customcontrols.AbstractSelectionItem?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.CheckBox?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.PasswordField?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.image.Image?> |
| | | <?import javafx.scene.image.ImageView?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.StackPane?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="249.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.FichierValidationEditFormController"> |
| | | <children> |
| | | <VBox spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur le fichier de validation"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Type de fichier" /> |
| | | <AbstractSelectionItem fx:id="typeFichierAbstractSelectItem" minWidth="330.0" prefWidth="327.0"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin></AbstractSelectionItem> |
| | | </children> |
| | | </HBox> |
| | | <HBox layoutX="25.0" layoutY="87.0" prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="205.0" text="Protéger fichier de validation ?" /> |
| | | <CheckBox fx:id="isProtegeCheckBox" layoutX="235.0" layoutY="10.0" mnemonicParsing="false" text="Oui"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </CheckBox> |
| | | </children> |
| | | </HBox> |
| | | <HBox prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="TOP_RIGHT" prefWidth="205.0" text="Clé de cryptage" /> |
| | | <StackPane minWidth="328.0" prefHeight="150.0" prefWidth="200.0"> |
| | | <children> |
| | | <TextField fx:id="showKeyToEncrypt" prefWidth="328.0" style="-fx-background-radius: 0%;" /> |
| | | <PasswordField fx:id="keyToEncryptField" /> |
| | | <ImageView fx:id="imageView" fitHeight="15.0" fitWidth="15.0" onMousePressed="#eyeOnMousePressed" pickOnBounds="true" preserveRatio="true" StackPane.alignment="CENTER_RIGHT"> |
| | | <StackPane.margin> |
| | | <Insets right="5.0" /> |
| | | </StackPane.margin> |
| | | <image> |
| | | <Image url="@../../../../images/oeil.png" /> |
| | | </image> |
| | | </ImageView> |
| | | </children> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </StackPane> |
| | | </children> |
| | | </HBox> |
| | | <HBox layoutX="25.0" layoutY="57.0" prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="205.0" text="Confirmation de la clé" /> |
| | | <PasswordField fx:id="keyConfirmationField" minWidth="328.0"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </PasswordField> |
| | | </children> |
| | | </HBox> |
| | | <HBox layoutX="25.0" layoutY="117.0" prefHeight="100.0" prefWidth="200.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" prefWidth="205.0" text="Valider nom du fichier ?" /> |
| | | <CheckBox fx:id="validateFileNameCheckBox" layoutX="235.0" layoutY="10.0" mnemonicParsing="false" text="Oui"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </CheckBox> |
| | | </children> |
| | | </HBox> |
| | | <!-- <HBox alignment="CENTER_LEFT"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Repertoire de sortie" /> |
| | | <TextField fx:id="OutDirTextField" prefHeight="25.0" prefWidth="336.0"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | <Button fx:id="OutButton" mnemonicParsing="false" onMousePressed="#outButtonOnClicked" prefHeight="25.0" prefWidth="31.0" text="..."> |
| | | <HBox.margin> |
| | | <Insets right="10.0" /> |
| | | </HBox.margin> |
| | | </Button> |
| | | </children> |
| | | </HBox>--> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | <TitledPane fx:id="fileNameTitledPane" collapsible="false" text="Informations sur le nom du fichier à valider"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Format de la date" /> |
| | | <ComboBox fx:id="formatDate" prefWidth="327.0" style="-fx-background-radius: 0%;"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin></ComboBox> |
| | | </children> |
| | | </HBox> |
| | | <!-- <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Extension du fichier" /> |
| | | <ComboBox fx:id="extensionFichier" prefWidth="327.0" style="-fx-background-radius: 0%;"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </ComboBox> |
| | | </children> |
| | | </HBox>--> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Valeur maximale des tierces" /> |
| | | <TextField fx:id="MaxValueTierceTextField" prefHeight="25.0" prefWidth="124.0" style="-fx-background-radius: 0%;"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Button?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | <?import javafx.scene.text.Font?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="182.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.ImportTypeFichierEditFormController"> |
| | | <children> |
| | | <VBox layoutX="-6.0" layoutY="7.0" spacing="5.0" AnchorPane.bottomAnchor="-7.0" AnchorPane.leftAnchor="-6.0" AnchorPane.rightAnchor="6.0" AnchorPane.topAnchor="7.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur le fichier à importer"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <!-- <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Format du fichier" /> |
| | | <ComboBox fx:id="formatFichier" prefWidth="150.0" /> |
| | | </children> |
| | | </HBox>--> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Délimiteur de ligne" /> |
| | | <ComboBox fx:id="delimiteurLigne" prefHeight="25.0" prefWidth="328.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Délimiteur colonne" /> |
| | | <ComboBox fx:id="delimiteurColonne" prefHeight="25.0" prefWidth="328.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Fichier à importer" /> |
| | | <TextField fx:id="fileToImportTextField" prefHeight="25.0" prefWidth="336.0" styleClass="square-border" stylesheets="@../../../../styles/style.css"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | <Button fx:id="importButton" mnemonicParsing="false" onMousePressed="#importButtonOnClicked" prefHeight="25.0" prefWidth="31.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" text="..."> |
| | | <HBox.margin> |
| | | <Insets right="10.0" /> |
| | | </HBox.margin> |
| | | <font> |
| | | <Font name="System Bold" size="12.0" /> |
| | | </font> |
| | | </Button> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="394.0" prefWidth="586.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.StructureLigneEditFormController"> |
| | | <children> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations générales sur la structure de la ligne" VBox.vgrow="ALWAYS"> |
| | | <content> |
| | | <VBox fx:id="formFieldContainer" spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Position" /> |
| | | <ComboBox fx:id="positionComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Code" /> |
| | | <TextField fx:id="codeTextField" prefWidth="100.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Désignation" /> |
| | | <TextField fx:id="designationTextField" prefWidth="280.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Type de donnée" /> |
| | | <ComboBox fx:id="typeDonneeComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Taille" /> |
| | | <TextField fx:id="tailleTextField" prefWidth="100.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" layoutX="25.0" layoutY="145.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Taille partie décimale" /> |
| | | <TextField fx:id="taillePartieDecimalTextField" prefWidth="100.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="dateFormatContainer" alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Format" /> |
| | | <ComboBox fx:id="formatDateComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | <!--<TextField fx:id="formatDateTextField" prefWidth="100.0" />--> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="dateFormatContainer1" alignment="CENTER_LEFT" layoutX="25.0" layoutY="175.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefWidth="138.0" text="Séparateur de date" /> |
| | | <ComboBox fx:id="delimiteurDateComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="dateFormatContainer11" alignment="CENTER_LEFT" layoutX="25.0" layoutY="205.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="138.0" prefHeight="17.0" prefWidth="138.0" text="Séparateur de décimal" /> |
| | | <ComboBox fx:id="delimiteurDecimalComboBox" minWidth="180.0" prefWidth="180.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="182.0" prefWidth="648.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.TypeFichierEditFormController"> |
| | | <children> |
| | | <VBox layoutX="-6.0" layoutY="7.0" spacing="5.0" AnchorPane.bottomAnchor="-7.0" AnchorPane.leftAnchor="-6.0" AnchorPane.rightAnchor="6.0" AnchorPane.topAnchor="7.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations générales sur le type fichier"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <!-- <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Format du fichier" /> |
| | | <ComboBox fx:id="formatFichier" prefWidth="150.0" /> |
| | | </children> |
| | | </HBox>--> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Code TypeFichier" /> |
| | | <TextField fx:id="codeTextField" minWidth="328.0" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Libellé" /> |
| | | <TextField fx:id="libelleTextField" minWidth="328.0" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minWidth="205.0" text="Code Participant" /> |
| | | <TextField fx:id="codeParticipantTextField" maxWidth="328.0" minWidth="328.0" prefHeight="25.0" prefWidth="336.0" styleClass="square-border" stylesheets="@../../../../styles/style.css"> |
| | | <HBox.margin> |
| | | <Insets left="10.0" right="2.0" /> |
| | | </HBox.margin> |
| | | </TextField> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | |
| | | <?import com.megatimfx.common.customcontrols.AbstractNestedEntityTable?> |
| | | <?import com.megatimfx.common.customcontrols.AbstractSelectionItem?> |
| | | <?import javafx.geometry.Insets?> |
| | | <?import javafx.scene.control.CheckBox?> |
| | | <?import javafx.scene.control.ComboBox?> |
| | | <?import javafx.scene.control.Label?> |
| | | <?import javafx.scene.control.TextField?> |
| | | <?import javafx.scene.control.TitledPane?> |
| | | <?import javafx.scene.layout.AnchorPane?> |
| | | <?import javafx.scene.layout.HBox?> |
| | | <?import javafx.scene.layout.VBox?> |
| | | |
| | | <AnchorPane id="AnchorPane" prefHeight="543.0" prefWidth="650.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.fdxgenerator.forms.ValidateurFichierEditFormController"> |
| | | <children> |
| | | <VBox spacing="5.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0"> |
| | | <padding> |
| | | <Insets bottom="20.0" left="32.0" right="32.0" top="20.0" /> |
| | | </padding> |
| | | <children> |
| | | <TitledPane collapsible="false" text="Informations sur le validateur"> |
| | | <content> |
| | | <VBox spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" text="Type de fichier" /> |
| | | <AbstractSelectionItem fx:id="typeFichierAbstractSelectItem" minWidth="330.0" prefWidth="330.0" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-font-size: 12; -fx-text-fill: black;" text="Format du fichier de données" /> |
| | | <ComboBox fx:id="dataTypeComboBox" minHeight="25.0" minWidth="300.0" prefHeight="25.0" prefWidth="300.0" style="-fx-background-radius: 0%;" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="delimiteurLigneHBox" alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-font-size: 12; -fx-text-fill: black;" text="Délimiteur de ligne" /> |
| | | <ComboBox fx:id="delimiteurLigne" minHeight="25.0" minWidth="300.0" prefHeight="25.0" prefWidth="300.0" style="-fx-background-radius: 0%;" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox fx:id="delimiteurColonneHBox" alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-text-fill: black;" text="Délimiteur colonne" /> |
| | | <ComboBox fx:id="delimiteurColonne" minHeight="25.0" minWidth="300.0" prefHeight="25.0" prefWidth="300.0" style="-fx-background-radius: 0%;" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox alignment="CENTER_LEFT" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" text="Nombre de position par ligne" /> |
| | | <TextField fx:id="nombrePositionTextField" prefWidth="50.0" styleClass="square-border" stylesheets="@../../../../styles/style.css" /> |
| | | </children> |
| | | </HBox> |
| | | <HBox prefHeight="43.0" prefWidth="637.0" spacing="10.0"> |
| | | <children> |
| | | <Label alignment="CENTER_RIGHT" minHeight="25.0" minWidth="176.0" prefHeight="25.0" prefWidth="176.0" style="-fx-text-fill: black;" text="Fichier contient ligne d'entête ?" /> |
| | | <CheckBox fx:id="headerPresentCheckbox" minHeight="25.0" mnemonicParsing="false" prefHeight="25.0" text="Oui" /> |
| | | </children> |
| | | </HBox> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding> |
| | | </VBox> |
| | | </content> |
| | | </TitledPane> |
| | | <TitledPane animated="false" collapsible="false" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" text="Structure des lignes" VBox.vgrow="ALWAYS"> |
| | | <content> |
| | | <VBox prefHeight="200.0" prefWidth="100.0" spacing="5.0"> |
| | | <children> |
| | | <HBox alignment="CENTER_RIGHT"> |
| | | <children> |
| | | <CheckBox fx:id="saisieStructureLigneChecBox" mnemonicParsing="false" styleClass="square-border" stylesheets="@../../../../styles/style.css" text="Saisir la structure des ligne" /> |
| | | </children> |
| | | </HBox> |
| | | <AbstractNestedEntityTable fx:id="structureLigneAbstractTable" prefHeight="252.0" prefWidth="526.0" VBox.vgrow="ALWAYS" /> |
| | | </children> |
| | | <padding> |
| | | <Insets bottom="15.0" left="15.0" right="15.0" top="15.0" /> |
| | | </padding></VBox> |
| | | </content> |
| | | </TitledPane> |
| | | </children> |
| | | </VBox> |
| | | </children> |
| | | </AnchorPane> |
| New file |
| | |
| | | # Root logger option |
| | | log4j.rootLogger=INFO, file |
| | | |
| | | log4j.appender.file=org.apache.log4j.RollingFileAppender |
| | | log4j.appender.file.File=generateur.log |
| | | log4j.appender.file.MaxFileSize=10GB |
| | | log4j.appender.file.MaxBackupIndex=5 |
| | | log4j.appender.file.layout=org.apache.log4j.PatternLayout |
| | | log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n |
| | | |
| | | # Log everything. Good for troubleshooting |
| | | log4j.logger.org.hibernate=FATAL |
| New file |
| | |
| | | /* |
| | | * Empty Stylesheet file. |
| | | */ |
| | | |
| | | .banner { |
| | | -fx-background-image: url(../images/Motif.png); |
| | | -fx-background-position: center center; |
| | | -fx-background-repeat: stretch; |
| | | -fx-background-size: cover; |
| | | } |
| | | |
| | | .mainFxmlClass { |
| | | |
| | | } |
| | | |
| | | .table-view { |
| | | -fx-background-color: transparent; |
| | | -fx-border-color: rgb(209, 211, 212); |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .table-view .column-header, |
| | | .table-view .column-header-background .filler { |
| | | -fx-background-color: #44507B; |
| | | } |
| | | |
| | | .column-header { |
| | | |
| | | } |
| | | |
| | | .table-view .column-header-background{ |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .table-view .column-header { |
| | | -fx-border-color: rgb(209, 211, 212); |
| | | } |
| | | |
| | | .table-view .column-header .label{ |
| | | -fx-text-fill: white; |
| | | -fx-font-weight: bold; |
| | | -fx-alignment: CENTER; |
| | | -fx-padding: 5; |
| | | } |
| | | |
| | | .table-cell { |
| | | -fx-border-width: 0 1 0 1; |
| | | -fx-border-color: rgb(230, 231, 232); |
| | | -fx-padding: 5; |
| | | -fx-alignment: CENTER; |
| | | } |
| | | |
| | | .table-row-cell{ |
| | | -fx-background-color: #ffffff; |
| | | } |
| | | |
| | | .table-row-cell:odd { |
| | | -fx-background-color: rgb(239, 239, 240); |
| | | } |
| | | |
| | | .table-row-cell:selected { |
| | | -fx-background-color: rgba(214, 236, 219, 1); |
| | | -fx-background-insets: 0; |
| | | -fx-background-radius: 0; |
| | | } |
| | | |
| | | .table-row-cell:selected .text { |
| | | -fx-fill: #000; |
| | | } |
| | | |
| | | /* |
| | | * Style for TextField |
| | | */ |
| | | .text-field { |
| | | -fx-background-color: #F6F7F9; |
| | | -fx-border-color: #30AFDC; |
| | | -fx-border-radius: 3px; |
| | | -fx-background-radius: 3px; |
| | | } |
| | | |
| | | /* |
| | | Tab Pane style |
| | | */ |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab:top { |
| | | -fx-border-color: #a3a7a8; |
| | | -fx-border-radius: 5 5 0 0; |
| | | -fx-background-color: white; |
| | | -fx-pref-height: 40px; |
| | | -fx-background-insets: 0; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab:selected:top { |
| | | -fx-border-color: #a3a7a8 #a3a7a8 #a3a7a8 #a3a7a8; |
| | | -fx-border-width: 1 1 1 1; |
| | | -fx-border-radius: 5 5 0 0; |
| | | -fx-background-color: white; |
| | | -fx-pref-height: 40px; |
| | | -fx-background-insets: 0; |
| | | -fx-border-insets: 0; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab:selected > .tab-container > .tab-label { |
| | | -fx-alignment: CENTER; |
| | | -fx-text-fill: #323232; |
| | | -fx-font-weight: bold; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .headers-region > .tab > .tab-container > .tab-label { |
| | | -fx-alignment: CENTER; |
| | | -fx-text-fill: #323232; |
| | | -fx-font-weight: bold; |
| | | } |
| | | |
| | | .tab-pane > .tab-header-area > .tab-header-background { |
| | | -fx-background-color: white; |
| | | -fx-border-color: #a3a7a8; |
| | | -fx-border-width: 0 0 1 0; |
| | | -fx-background-insets: 0; |
| | | -fx-pref-height: 45px; |
| | | } |
| | | |
| | | /* |
| | | * Title pane style |
| | | */ |
| | | .titled-pane { |
| | | -fx-border-color: rgba(199, 200, 202, 1); |
| | | -fx-text-fill: rgba(255, 255, 255, 1); |
| | | } |
| | | |
| | | .titled-pane > .title { |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-background-color: rgba(68, 80, 123, 1); |
| | | } |
| | | |
| | | .titled-pane > .title .text { |
| | | |
| | | } |
| | | |
| | | /* #2 */ |
| | | .titled-pane > .title > .text { |
| | | -fx-font-size: 14px; |
| | | -fx-background-color: rgba(114, 114, 116, 1); |
| | | } |
| | | |
| | | /* |
| | | * Search buttons |
| | | */ |
| | | |
| | | .search { |
| | | -fx-background-color: rgba(220, 221, 223, 1); |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-text-fill: rgba(53, 52, 52, 1); |
| | | } |
| | | |
| | | .search:hover { |
| | | -fx-background-color: rgba(220, 221, 223, .8); |
| | | } |
| | | |
| | | .search:cancel { |
| | | -fx-text-fill: gray; |
| | | } |
| | | |
| | | /* CHECKBOX */ |
| | | .check-box { |
| | | /* default properties */ |
| | | selected-box-color: rgba(255, 255, 255, 1); |
| | | box-color: rgba(255, 255, 255, 1); |
| | | mark-color: white; |
| | | } |
| | | |
| | | .check-box .box { |
| | | /* background color for selected checkbox */ |
| | | -fx-border-width: 1px; |
| | | -fx-border-color: rgb(208, 208, 208); |
| | | } |
| | | |
| | | .check-box:selected > .box { |
| | | /* background color for selected checkbox */ |
| | | -fx-background-color: selected-box-color; |
| | | } |
| | | |
| | | .check-box > .box { |
| | | /* background color of unselected checkbox */ |
| | | -fx-background-color: box-color; |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | } |
| | | |
| | | /* TEXTFIELD */ |
| | | |
| | | .text-field { |
| | | -fx-background-color: rgba(208, 208, 208, 1); |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | -fx-text-fill: rgba(98, 98, 100, 1); |
| | | -fx-border-color: rgba(208, 208, 208, 1); |
| | | -fx-border-width: 1; |
| | | } |
| | | |
| | | .text-field:disabled { |
| | | -fx-opacity: 0.8; |
| | | } |
| | | |
| | | /* COMBOBOX */ |
| | | /* The ListCell that shows the selected item in a non-editable ComboBox */ |
| | | .combo-box, |
| | | .combo-box:focus, |
| | | .combo-box .list-cell { |
| | | -fx-background-color: rgba(208, 208, 208, 1); |
| | | } |
| | | |
| | | .combo-box .list-view .list-cell { |
| | | -fx-background-color: rgba(255, 255, 255, 1); |
| | | } |
| | | |
| | | /* The TextField that shows the selected item in an editable ComboBox */ |
| | | .combo-box .text-input { |
| | | -fx-background-color: rgba(208, 208, 208, 1); |
| | | } |
| | | |
| | | .combo-box:disabled { |
| | | -fx-opacity: 0.8; |
| | | } |
| | | |
| | | |
| | | /* Style the arrow button area */ |
| | | .combo-box .arrow-button { |
| | | -fx-background-color: rgba(255, 255, 255, 1); |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | -fx-border-color: rgba(225, 225, 225, 1); |
| | | -fx-border-width: 1; |
| | | } |
| | | |
| | | .combo-box .arrow-button .arrow { |
| | | -fx-background-color: rgba(162, 162, 162, 1); |
| | | } |
| | | |
| | | /* Set the text color in the popup list for ComboBox to blue */ |
| | | .combo-box-popup .list-view .list-cell { |
| | | -fx-text-fill: rgba(98, 98, 100, 1); |
| | | } |
| | | |
| | | /* Set the text color in the popup list for ComboBox to blue */ |
| | | .combo-box-popup .list-view .list-cell:hover { |
| | | -fx-text-fill: rgba(98, 98, 100, 1); |
| | | -fx-background-color: rgba(214, 236, 219, 1); |
| | | } |
| New file |
| | |
| | | /* |
| | | * Empty Stylesheet file. |
| | | */ |
| | | |
| | | @font-face { |
| | | font-family: 'Roboto'; |
| | | src: url('../fonts/Roboto-Medium.ttf'); |
| | | } |
| | | |
| | | * { |
| | | -fx-font-family: 'Roboto'; |
| | | } |
| | | |
| | | .main_screen { |
| | | -fx-background-image: url('../images/Accuueil_Generator.jpg'); |
| | | -fx-background-position: center center; |
| | | -fx-background-repeat: stretch; |
| | | -fx-background-size: cover; |
| | | -fx-border-color: #C5CFCE; |
| | | } |
| | | |
| | | .dashboard { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Tableau_de_bord_1.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .dashboard:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Barre_outils_hover-03.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .receive { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/generate.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .receive:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/generate.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .update { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Modif-01-01x.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .update:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Modif-01-01.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .generate { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/fichiers_generesx.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .generate:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/Barre_outils_hover-01.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .treatment { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/tache.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | |
| | | } |
| | | |
| | | .treatment:hover { |
| | | -fx-pref-width: 20px; |
| | | -fx-pref-height: 20px; |
| | | -fx-background-color: transparent; |
| | | -fx-background-image: url('../images/tache_hover.png'); |
| | | -fx-background-size: 20px; |
| | | -fx-background-position: 0, 0, 0, 0; |
| | | -fx-background-repeat: stretch; |
| | | } |
| | | |
| | | /* |
| | | * Title pane style |
| | | */ |
| | | .titled-pane > .title { |
| | | -fx-background-color: #C5D6E0; |
| | | -fx-border-color: #C5D6E0; |
| | | } |
| | | |
| | | .titled-pane > .title .text { |
| | | |
| | | } |
| | | |
| | | /* #2 */ |
| | | .titled-pane > .title > .text { |
| | | -fx-font-size: 14px; |
| | | } |
| | | |
| | | /* |
| | | * Menu-bar style |
| | | */ |
| | | /* |
| | | .menu-item { |
| | | -fx-border-color: #fff; |
| | | -fx-margin: 0; |
| | | } |
| | | |
| | | .menu .text, |
| | | .menu-item .text { |
| | | -fx-fill: #000; |
| | | -fx-fill: #000; |
| | | } |
| | | |
| | | .menu:hover .text, |
| | | .menu:showing .text, |
| | | .menu:focused .text, |
| | | .menu-item:hover .text, |
| | | .menu-item:showing .text, |
| | | .menu-item:focused .text { |
| | | -fx-fill: #fff; |
| | | -fx-fill: #fff; |
| | | -fx-font-weight: bold; |
| | | } |
| | | |
| | | |
| | | .menu:hover, |
| | | .menu:showing, |
| | | .menu:focused, |
| | | .menu-item:hover, |
| | | .menu-item:showing, |
| | | .menu-item:focused { |
| | | -fx-background-color: #BCD18A; |
| | | } |
| | | |
| | | .menu:clicked { |
| | | -fx-background-color: #BCD18A; |
| | | } |
| | | */ |
| | | /* |
| | | * MENU BUTTON |
| | | */ |
| | | |
| | | .menu-button > .arrow-button { |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .menu-button > .arrow-button > .arrow { |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .menu-button { |
| | | -fx-background-color: transparent; |
| | | -fx-background-radius: 7; |
| | | -fx-border-radius: 7; |
| | | -fx-border-width: 1; |
| | | -fx-border-color: transparent; |
| | | -fx-text-fill: white; |
| | | -fx-font-size: 11px; |
| | | -fx-padding: 0; |
| | | } |
| | | |
| | | .menu-button:hover { |
| | | -fx-background-color: #ededee; |
| | | -fx-background-radius: 7; |
| | | -fx-border-radius: 7; |
| | | -fx-border-width: 1; |
| | | -fx-border-color: #F2F2F2; |
| | | -fx-text-fill: white; |
| | | -fx-font-weight: normal; |
| | | } |
| | | |
| | | /* LABEL */ |
| | | |
| | | .bottom-label { |
| | | -fx-text-fill: rgba(90, 90, 90, 1); |
| | | -fx-font-weight: bold; |
| | | -fx-font-size: 11px; |
| | | } |
| | | |
| | | /* TEXTFIELD */ |
| | | |
| | | .bottom-text-field { |
| | | -fx-background-color: #e0e4e3; |
| | | -fx-border-radius: 0px; |
| | | -fx-background-radius: 0px; |
| | | -fx-text-fill: rgba(0, 0, 0, 1); |
| | | -fx-border-color: #C5CFCE; |
| | | -fx-border-width: 1; |
| | | -fx-padding: 3; |
| | | -fx-font-size: 11px; |
| | | -fx-background-radius: 2; |
| | | -fx-border-radius: 2; |
| | | } |
| | | |
| | | .bottom-text-field:disabled { |
| | | -fx-opacity: 0.8; |
| | | } |
| New file |
| | |
| | | /* |
| | | Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license |
| | | Click nbfs://nbhost/SystemFileSystem/Templates/Other/CascadeStyleSheet.css to edit this template |
| | | */ |
| | | /* |
| | | Created on : 15 nov. 2022, 11:59:29 |
| | | Author : STEPHANIE |
| | | */ |
| | | |
| | | .cover{ |
| | | -fx-background-image: url(../images/Accuueil_Generator.jpg); |
| | | -fx-background-position: center center; |
| | | -fx-background-repeat: stretch; |
| | | -fx-background-size: stretch; |
| | | } |
| | | .square-border { |
| | | -fx-background-radius:0%; |
| | | } |
| New file |
| | |
| | | /* |
| | | To change this license header, choose License Headers in Project Properties. |
| | | To change this template file, choose Tools | Templates |
| | | and open the template in the editor. |
| | | */ |
| | | /* |
| | | Created on : 3 mars 2022, 14:50:08 |
| | | Author : MGT_DEV3 |
| | | */ |
| | | |
| | | .title-bar { |
| | | -fx-background-color: rgba(235, 235, 235, 1); |
| | | } |
| | | |
| | | .title-bar-button { |
| | | -fx-background-color: transparent; |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| | | .title-bar-button:hover { |
| | | -fx-cursor: hand; |
| | | -fx-background-color: rgba(220, 221, 222, 1); |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| | | .title-bar-button-close { |
| | | -fx-cursor: hand; |
| | | -fx-background-color: transparent; |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| | | .title-bar-button-close:hover { |
| | | -fx-background-color: rgba(232, 17, 35, 1); |
| | | -fx-background-radius: 0; |
| | | -fx-border-radius: 0; |
| | | -fx-border-width: 0; |
| | | } |
| | | |
| New file |
| | |
| | | title of the update version 1.0 |
| | | use this as description version 1.0 |
| | | bla bla bla |
| New file |
| | |
| | | #Generated by Maven |
| | | #Thu Jun 18 17:23:39 WAT 2026 |
| | | version=1.0 |
| | | groupId=com.megatim.com.megatim.fdxgenerator |
| | | artifactId=fdx-generator |
| New file |
| | |
| | | com\megatim\fdxgenerator\model\StructureLigne.class |
| | | com\megatim\fdxgenerator\model\dao\ValidateurFichierDAO.class |
| | | com\megatim\fdxgenerator\annotations\KeyToDecryptConstraint.class |
| | | com\megatim\fdxgenerator\annotations\FormatDateConstraint.class |
| | | com\megatim\fdxgenerator\controller\search\ValidateurFichierSearchFormController$1.class |
| | | com\megatim\fdxgenerator\controller\search\TypeFichierSearchFormController.class |
| | | com\megatim\fdxgenerator\utilities\DataToImport.class |
| | | com\megatim\fdxgenerator\forms\ImportTypeFichierEditFormController.class |
| | | com\megatim\fdxgenerator\pojo\Delimiteur.class |
| | | com\megatim\fdxgenerator\controller\StructureLigneListDialogController.class |
| | | com\megatim\fdxgenerator\annotations\FormatDateValidator.class |
| | | com\megatim\fdxgenerator\annotations\TailleFormatDateValidator.class |
| | | com\megatim\fdxgenerator\annotations\TailleFormatDateConstraint.class |
| | | com\megatim\fdxgenerator\BriefLogFormatter.class |
| | | com\megatim\fdxgenerator\controller\MainController$1.class |
| | | com\megatim\fdxgenerator\forms\TypeFichierEditFormController.class |
| | | com\megatim\fdxgenerator\model\dao\StructureLigneDAO.class |
| | | com\megatim\fdxgenerator\controller\ImportTypeFichierEditDialogController.class |
| | | com\megatim\fdxgenerator\controller\ConfigEditDialogController.class |
| | | com\megatim\fdxgenerator\controller\TypeFichierListDialogController.class |
| | | com\megatim\fdxgenerator\controller\MainController.class |
| | | com\megatim\fdxgenerator\forms\FichierValidationEditFormController$1.class |
| | | com\megatim\fdxgenerator\controller\ValidateurFichierEditDialogController$1.class |
| | | com\megatim\fdxgenerator\model\dao\HibernateUtil.class |
| | | com\megatim\fdxgenerator\service\ConfigurationService.class |
| | | com\megatim\fdxgenerator\forms\StructureLigneEditFormController.class |
| | | com\megatim\fdxgenerator\App.class |
| | | com\megatim\fdxgenerator\annotations\FileNameValidator.class |
| | | com\megatim\fdxgenerator\controller\table\TypeFichierTable.class |
| | | com\megatim\fdxgenerator\controller\ValidateurFichierEditDialogController.class |
| | | com\megatim\fdxgenerator\controller\search\TypeFichierAdvancedSearchFormController.class |
| | | com\megatim\fdxgenerator\model\ImportFile.class |
| | | com\megatim\fdxgenerator\model\dao\TypeFichierDAO.class |
| | | com\megatim\fdxgenerator\utilities\AttributeFormatException.class |
| | | com\megatim\fdxgenerator\AppUpdate.class |
| | | com\megatim\fdxgenerator\controller\search\ValidateurFichierSearchFormController.class |
| | | com\megatim\fdxgenerator\controller\FichierValidationEditDialogController$2.class |
| | | com\megatim\fdxgenerator\service\ImportFileService.class |
| | | com\megatim\fdxgenerator\utilities\ImportData.class |
| | | com\megatim\fdxgenerator\controller\search\StructureLigneSearchFormController.class |
| | | com\megatim\fdxgenerator\model\dao\AbstractDAO$1.class |
| | | com\megatim\fdxgenerator\controller\search\StructureLigneAdvancedSearchFormController.class |
| | | com\megatim\fdxgenerator\annotations\ConfigConstraint.class |
| | | com\megatim\fdxgenerator\forms\ValidateurFichierEditFormController$1.class |
| | | com\megatim\fdxgenerator\forms\ValidateurFichierEditFormController.class |
| | | com\megatim\fdxgenerator\model\ValidateurFichier.class |
| | | com\megatim\fdxgenerator\model\TypeFichier.class |
| | | com\megatim\fdxgenerator\forms\FichierValidationEditFormController.class |
| | | com\megatim\fdxgenerator\controller\table\StructureLigneTable.class |
| | | com\megatim\fdxgenerator\enums\TypeDonnee.class |
| | | com\megatim\fdxgenerator\model\FichierValidation.class |
| | | com\megatim\fdxgenerator\service\TypeFichierService.class |
| | | com\megatim\fdxgenerator\utilities\PaginationElts.class |
| | | com\megatim\fdxgenerator\service\ValidateurFichierService.class |
| | | com\megatim\fdxgenerator\controller\StructureLigneEditDialogController.class |
| | | com\megatim\fdxgenerator\model\dao\AbstractDAO.class |
| | | com\megatim\fdxgenerator\forms\ConfigEditFormController.class |
| | | com\megatim\fdxgenerator\controller\search\ValidateurFichierAdvancedSearchFormController.class |
| | | com\megatim\fdxgenerator\model\Configuration.class |
| | | com\megatim\fdxgenerator\exceptions\ConfigException.class |
| | | com\megatim\fdxgenerator\controller\TypeFichierEditDialogController.class |
| | | com\megatim\fdxgenerator\controller\table\ValidateurFichierTable.class |
| | | com\megatim\fdxgenerator\enums\DataType.class |
| | | com\megatim\fdxgenerator\annotations\FileNameConstraint.class |
| | | com\megatim\fdxgenerator\controller\FichierValidationEditDialogController$1.class |
| | | com\megatim\fdxgenerator\annotations\KeyToDecryptValidator.class |
| | | com\megatim\fdxgenerator\annotations\ConfigValidator.class |
| | | com\megatim\fdxgenerator\service\StructureLigneService.class |
| | | com\megatim\fdxgenerator\controller\FichierValidationEditDialogController.class |
| | | com\megatim\fdxgenerator\controller\ValidateurFichierListDialogController.class |
| New file |
| | |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\FileNameValidator.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\TailleFormatDateValidator.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\service\ImportFileService.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\utilities\AttributeFormatException.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\ValidateurFichierListDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\ImportFile.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\forms\FichierValidationEditFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\App.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\forms\ConfigEditFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\FileNameConstraint.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\FichierValidationEditDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\enums\DataType.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\StructureLigne.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\KeyToDecryptValidator.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\search\TypeFichierSearchFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\BriefLogFormatter.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\search\StructureLigneSearchFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\Configuration.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\table\ValidateurFichierTable.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\FormatDateConstraint.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\pojo\Delimiteur.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\dao\HibernateUtil.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\ConfigEditDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\search\ValidateurFichierSearchFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\search\TypeFichierAdvancedSearchFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\TypeFichierListDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\dao\ValidateurFichierDAO.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\utilities\PaginationElts.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\table\TypeFichierTable.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\service\TypeFichierService.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\ConfigConstraint.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\dao\AbstractDAO.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\KeyToDecryptConstraint.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\utilities\ImportData.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\StructureLigneListDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\TypeFichier.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\utilities\DataToImport.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\service\ConfigurationService.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\AppUpdate.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\MainController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\dao\StructureLigneDAO.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\TailleFormatDateConstraint.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\search\ValidateurFichierAdvancedSearchFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\ConfigValidator.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\StructureLigneEditDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\service\ValidateurFichierService.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\forms\StructureLigneEditFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\ImportTypeFichierEditDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\annotations\FormatDateValidator.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\enums\TypeDonnee.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\table\StructureLigneTable.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\search\StructureLigneAdvancedSearchFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\exceptions\ConfigException.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\dao\TypeFichierDAO.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\service\StructureLigneService.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\forms\ValidateurFichierEditFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\ValidateurFichierEditDialogController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\forms\TypeFichierEditFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\FichierValidation.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\model\ValidateurFichier.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\forms\ImportTypeFichierEditFormController.java |
| | | C:\Users\ASUS\Documents\NetBeansProjects\share_sources\generation-validateur-typefichier\src\main\java\com\megatim\fdxgenerator\controller\TypeFichierEditDialogController.java |