From fbc7dbdc270695b383e7d6e9eeef06d3b2612067 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Tue, 10 Feb 2026 11:32:49 +0000
Subject: [PATCH] deal with Csv that should not be converted to txt

---
 generatetxt/target/classes/com/megatim/generatetxt/enums/DataType.class                                |    0 
 generatetxt/src/main/java/com/megatim/generatetxt/generate/ParseData.java                              |    9 ++++
 generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterValidator.class  |    0 
 generatetxt/target/classes/com/megatim/generatetxt/pojo/ResultFileParsing.class                        |    0 
 generatetxt/target/classes/com/megatim/generatetxt/jaxb/Assertion.class                                |    0 
 generatetxt/target/test-classes/.netbeans_automatic_build                                              |    0 
 generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterConstraint.class |    0 
 generatetxt/target/classes/com/megatim/generatetxt/pojo/Constantes.class                               |    0 
 generatetxt/target/classes/com/megatim/generatetxt/App.class                                           |    0 
 generatetxt/target/classes/com/megatim/generatetxt/generate/ParseData.class                            |    0 
 generatetxt/src/main/resources/predicatelogic-engine.xml                                               |   29 ++++++++++++++
 generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidate.class                           |    0 
 generatetxt/target/classes/com/megatim/generatetxt/model/TruncatedElement.class                        |    0 
 generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidateDescription.class                |    0 
 generatetxt/target/classes/com/megatim/generatetxt/utilities/Utilities.class                           |    0 
 generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils.class                         |    0 
 generatetxt/target/classes/com/megatim/generatetxt/jaxb/PredicateConfig.class                          |    0 
 generatetxt/target/classes/com/megatim/generatetxt/jaxb/Entity.class                                   |    0 
 generatetxt/target/classes/com/megatim/generatetxt/pojo/ParseResult.class                              |    0 
 generatetxt/target/classes/com/megatim/generatetxt/model/AlphaNumeriqueField.class                     |    0 
 generatetxt/target/classes/.netbeans_automatic_build                                                   |    0 
 generatetxt/target/classes/com/megatim/generatetxt/pojo/Delimiteur.class                               |    0 
 generatetxt/target/classes/com/megatim/generatetxt/jaxb/EntityList.class                               |    0 
 generatetxt/target/classes/com/megatim/generatetxt/jaxb/ParamValue.class                               |    0 
 generatetxt/target/classes/predicatelogic-engine.xml                                                   |   29 ++++++++++++++
 generatetxt/target/classes/com/megatim/generatetxt/model/TypeFichier.class                             |    0 
 generatetxt/pom.xml                                                                                    |    5 ++
 generatetxt/target/classes/com/megatim/generatetxt/jaxb/Validation.class                               |    0 
 generatetxt/target/classes/com/megatim/generatetxt/model/MetaAlphaNumeriqueField.class                 |    0 
 generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils$1.class                       |    0 
 30 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/generatetxt/pom.xml b/generatetxt/pom.xml
index f745e56..e8c7ad0 100644
--- a/generatetxt/pom.xml
+++ b/generatetxt/pom.xml
@@ -13,6 +13,11 @@
     </properties>
     <dependencies>
         <dependency>
+            <groupId>com.megatim</groupId>
+            <artifactId>validator-parser</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
             <groupId>org.apache.tika</groupId>
             <artifactId>tika-parser-text-module</artifactId>
             <version>2.9.0</version>
diff --git a/generatetxt/src/main/java/com/megatim/generatetxt/generate/ParseData.java b/generatetxt/src/main/java/com/megatim/generatetxt/generate/ParseData.java
index 3ebb45d..a36b72b 100644
--- a/generatetxt/src/main/java/com/megatim/generatetxt/generate/ParseData.java
+++ b/generatetxt/src/main/java/com/megatim/generatetxt/generate/ParseData.java
@@ -13,6 +13,8 @@
 import static com.megatim.generatetxt.utilities.Utilities.getCharset;
 import com.megatim.typefichier.validator.Validator;
 import com.megatim.typefichier.validator.model.ConfigStreamValidator;
+import com.megatim.validator.parser.ValidatorParser;
+import com.megatim.validator.parser.pojo.TableDefinition;
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
 import java.io.File;
@@ -51,7 +53,12 @@
 public class ParseData {
 
     public File validateCsvFile(FileToValidateDescription fileDescription, boolean headerPresent, Set<AlphaNumeriqueField> alphaNumeriqueToBeTruncated, int nbreThreads) throws Exception {
-        File fileToValidate = parseCsvFile(fileDescription, headerPresent, alphaNumeriqueToBeTruncated);
+        File fileToValidate = fileDescription.getFile();
+        TableDefinition tableDefinition = ValidatorParser.retrieveFieldsFromValidator(new File(fileDescription.getValidatorPath()), fileDescription.getCodeTypeFichier());
+
+        if (tableDefinition.getHeaderPresent() == null || tableDefinition.getColumnDelimiter() == null || tableDefinition.getLineDelimiter() == null) {
+            fileToValidate = parseCsvFile(fileDescription, headerPresent, alphaNumeriqueToBeTruncated);
+        }
 
         byte[] targetArray = IOUtils.toByteArray(ParseData.class.getClassLoader().getResourceAsStream("predicatelogic-engine.xml"));
         ConfigStreamValidator configValidator = new ConfigStreamValidator(
diff --git a/generatetxt/src/main/resources/predicatelogic-engine.xml b/generatetxt/src/main/resources/predicatelogic-engine.xml
index 30ca6c2..d85b847 100644
--- a/generatetxt/src/main/resources/predicatelogic-engine.xml
+++ b/generatetxt/src/main/resources/predicatelogic-engine.xml
@@ -55,6 +55,16 @@
             <param name="separateurDecimal" type="String"/>
         </predicate>
         
+        <predicate name="ifTypeFichierCsv">
+            <invoke  method="ifTypeFichierCsv" class-name="com.megatim.typefichier.validator.predicat.PredicateImpl"/>
+            <param name="position" type="int"/>
+            <param name="typeDonnee" type="String"/>
+            <param name="ligne" type="java.util.Map"/>
+            <param name="formatDate" type="String"/>
+            <param name="separateurDate" type="String"/>
+            <param name="separateurDecimal" type="String"/>
+        </predicate>
+        
         <predicate name="ifTypeFichierFileName">
             <invoke  method="ifTypeFichierFileName" class-name="com.megatim.typefichier.validator.predicat.PredicateImpl"/>
             <param name="prefixe" type="String"/>
@@ -398,7 +408,7 @@
             <param name="formatDate" type="String"/>
             <param name="separateurDate" type="String"/>
             <param-value name="taillePartieDecimale" type="int" />
-            <param-value name="separateurDecimal" type="char"/>
+            <param-value name="separateurDecimal" type="String"/>
             <formula predicate-ref="ifTypeFichier">
                 <param name="index" assert-param-ref="index" />
                 <param name="taille" assert-param-ref="taille" />
@@ -411,6 +421,23 @@
                     
             </formula>
         </assert>
+        <assert name="ifTypeFichierCsv">
+            <param name="position" type="int"/>
+            <param name="typeDonnee" type="String"/>
+            <param name="ligne" type="java.util.Map"/>
+            <param name="formatDate" type="String"/>
+            <param name="separateurDate" type="String"/>
+            <param name="separateurDecimal" type="char"/>
+            <formula predicate-ref="ifTypeFichierCsv">
+                <param name="position" assert-param-ref="position" />
+                <param name="typeDonnee" assert-param-ref="typeDonnee" />
+                <param name="ligne" assert-param-ref="ligne" />
+                <param name="formatDate" assert-param-ref="formatDate" />
+                <param name="separateurDate" assert-param-ref="separateurDate" />
+                <param name="separateurDecimal" assert-param-ref="separateurDecimal" />
+                    
+            </formula>
+        </assert>
             
         <assert name="ifTypeFichierFileName">
             <param name="prefixe" type="String"/>
diff --git a/generatetxt/target/classes/.netbeans_automatic_build b/generatetxt/target/classes/.netbeans_automatic_build
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/generatetxt/target/classes/.netbeans_automatic_build
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/App.class b/generatetxt/target/classes/com/megatim/generatetxt/App.class
index 9ff704d..c2f5131 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/App.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/App.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterConstraint.class b/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterConstraint.class
index bebad22..249cb22 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterConstraint.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterConstraint.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterValidator.class b/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterValidator.class
index 3a353c6..184b1b2 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterValidator.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/constraints/FileToValidateDelimiterValidator.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/enums/DataType.class b/generatetxt/target/classes/com/megatim/generatetxt/enums/DataType.class
index 3c9bd19..d9b6a53 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/enums/DataType.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/enums/DataType.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/generate/ParseData.class b/generatetxt/target/classes/com/megatim/generatetxt/generate/ParseData.class
index c5323de..0e69423 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/generate/ParseData.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/generate/ParseData.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Assertion.class b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Assertion.class
index f522e9b..d5f9f58 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Assertion.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Assertion.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Entity.class b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Entity.class
index 8aecbaa..64e2199 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Entity.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Entity.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/EntityList.class b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/EntityList.class
index b5ad585..3f03d53 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/EntityList.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/EntityList.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/ParamValue.class b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/ParamValue.class
index 4d75cc6..d884bdd 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/ParamValue.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/ParamValue.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/PredicateConfig.class b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/PredicateConfig.class
index c4d4792..f23c7a9 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/PredicateConfig.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/PredicateConfig.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Validation.class b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Validation.class
index 296374f..cca5b76 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Validation.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/jaxb/Validation.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/model/AlphaNumeriqueField.class b/generatetxt/target/classes/com/megatim/generatetxt/model/AlphaNumeriqueField.class
index 8987270..83ae596 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/model/AlphaNumeriqueField.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/model/AlphaNumeriqueField.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/model/MetaAlphaNumeriqueField.class b/generatetxt/target/classes/com/megatim/generatetxt/model/MetaAlphaNumeriqueField.class
index f716d26..3dee883 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/model/MetaAlphaNumeriqueField.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/model/MetaAlphaNumeriqueField.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/model/TruncatedElement.class b/generatetxt/target/classes/com/megatim/generatetxt/model/TruncatedElement.class
index 2f504bb..6461330 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/model/TruncatedElement.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/model/TruncatedElement.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/model/TypeFichier.class b/generatetxt/target/classes/com/megatim/generatetxt/model/TypeFichier.class
index f996956..e8f1ff2 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/model/TypeFichier.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/model/TypeFichier.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/pojo/Constantes.class b/generatetxt/target/classes/com/megatim/generatetxt/pojo/Constantes.class
index 9f920d4..0d401ed 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/pojo/Constantes.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/pojo/Constantes.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/pojo/Delimiteur.class b/generatetxt/target/classes/com/megatim/generatetxt/pojo/Delimiteur.class
index 83aabef..ba1f98a 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/pojo/Delimiteur.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/pojo/Delimiteur.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidate.class b/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidate.class
index d5745d0..df81482 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidate.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidate.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidateDescription.class b/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidateDescription.class
index b3bd004..f50cbe5 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidateDescription.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/pojo/FileToValidateDescription.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/pojo/ParseResult.class b/generatetxt/target/classes/com/megatim/generatetxt/pojo/ParseResult.class
index d00a7aa..5337173 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/pojo/ParseResult.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/pojo/ParseResult.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/pojo/ResultFileParsing.class b/generatetxt/target/classes/com/megatim/generatetxt/pojo/ResultFileParsing.class
index 5cb4f8a..3dcac8f 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/pojo/ResultFileParsing.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/pojo/ResultFileParsing.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils$1.class b/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils$1.class
index 952ca67..1dd20c9 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils$1.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils$1.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils.class b/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils.class
index ce7e802..8708393 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/utilities/ParserUtils.class
Binary files differ
diff --git a/generatetxt/target/classes/com/megatim/generatetxt/utilities/Utilities.class b/generatetxt/target/classes/com/megatim/generatetxt/utilities/Utilities.class
index c73e762..3a6e405 100644
--- a/generatetxt/target/classes/com/megatim/generatetxt/utilities/Utilities.class
+++ b/generatetxt/target/classes/com/megatim/generatetxt/utilities/Utilities.class
Binary files differ
diff --git a/generatetxt/target/classes/predicatelogic-engine.xml b/generatetxt/target/classes/predicatelogic-engine.xml
index 30ca6c2..d85b847 100644
--- a/generatetxt/target/classes/predicatelogic-engine.xml
+++ b/generatetxt/target/classes/predicatelogic-engine.xml
@@ -55,6 +55,16 @@
             <param name="separateurDecimal" type="String"/>
         </predicate>
         
+        <predicate name="ifTypeFichierCsv">
+            <invoke  method="ifTypeFichierCsv" class-name="com.megatim.typefichier.validator.predicat.PredicateImpl"/>
+            <param name="position" type="int"/>
+            <param name="typeDonnee" type="String"/>
+            <param name="ligne" type="java.util.Map"/>
+            <param name="formatDate" type="String"/>
+            <param name="separateurDate" type="String"/>
+            <param name="separateurDecimal" type="String"/>
+        </predicate>
+        
         <predicate name="ifTypeFichierFileName">
             <invoke  method="ifTypeFichierFileName" class-name="com.megatim.typefichier.validator.predicat.PredicateImpl"/>
             <param name="prefixe" type="String"/>
@@ -398,7 +408,7 @@
             <param name="formatDate" type="String"/>
             <param name="separateurDate" type="String"/>
             <param-value name="taillePartieDecimale" type="int" />
-            <param-value name="separateurDecimal" type="char"/>
+            <param-value name="separateurDecimal" type="String"/>
             <formula predicate-ref="ifTypeFichier">
                 <param name="index" assert-param-ref="index" />
                 <param name="taille" assert-param-ref="taille" />
@@ -411,6 +421,23 @@
                     
             </formula>
         </assert>
+        <assert name="ifTypeFichierCsv">
+            <param name="position" type="int"/>
+            <param name="typeDonnee" type="String"/>
+            <param name="ligne" type="java.util.Map"/>
+            <param name="formatDate" type="String"/>
+            <param name="separateurDate" type="String"/>
+            <param name="separateurDecimal" type="char"/>
+            <formula predicate-ref="ifTypeFichierCsv">
+                <param name="position" assert-param-ref="position" />
+                <param name="typeDonnee" assert-param-ref="typeDonnee" />
+                <param name="ligne" assert-param-ref="ligne" />
+                <param name="formatDate" assert-param-ref="formatDate" />
+                <param name="separateurDate" assert-param-ref="separateurDate" />
+                <param name="separateurDecimal" assert-param-ref="separateurDecimal" />
+                    
+            </formula>
+        </assert>
             
         <assert name="ifTypeFichierFileName">
             <param name="prefixe" type="String"/>
diff --git a/generatetxt/target/test-classes/.netbeans_automatic_build b/generatetxt/target/test-classes/.netbeans_automatic_build
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/generatetxt/target/test-classes/.netbeans_automatic_build

--
Gitblit v1.10.0