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