This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository izi-eval. See http://git.codelutin.com/izi-eval.git commit 05955414443dd79c0c30aaa1bb3af3f7826b317c Author: Eric Chatellier <chatellier@codelutin.com> Date: Wed Jan 6 16:15:14 2016 +0100 fixes #7560: décalage des colonnes vides --- .../main/java/fr/inra/masc/io/parser/DexiModelParser.java | 3 ++- .../main/java/fr/inra/masc/io/writer/DexiXmlWriter.java | 15 +++++++++++++-- masc-api/src/test/resources/dxi/dexi-model4.0.dxi | 14 ++++++++------ 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/masc-api/src/main/java/fr/inra/masc/io/parser/DexiModelParser.java b/masc-api/src/main/java/fr/inra/masc/io/parser/DexiModelParser.java index 8b9e293..500d7d5 100644 --- a/masc-api/src/main/java/fr/inra/masc/io/parser/DexiModelParser.java +++ b/masc-api/src/main/java/fr/inra/masc/io/parser/DexiModelParser.java @@ -276,8 +276,9 @@ public class DexiModelParser extends XmlParser<MascModel> implements MascXmlCons } } - optionValueCnt++; } + + optionValueCnt++; // read next tag parser.nextTag(); diff --git a/masc-api/src/main/java/fr/inra/masc/io/writer/DexiXmlWriter.java b/masc-api/src/main/java/fr/inra/masc/io/writer/DexiXmlWriter.java index 3df8bd5..1cfa9af 100644 --- a/masc-api/src/main/java/fr/inra/masc/io/writer/DexiXmlWriter.java +++ b/masc-api/src/main/java/fr/inra/masc/io/writer/DexiXmlWriter.java @@ -25,7 +25,9 @@ package fr.inra.masc.io.writer; import java.io.IOException; +import java.util.ArrayList; import java.util.Collection; +import java.util.List; import java.util.Map; import org.apache.commons.collections4.CollectionUtils; @@ -231,6 +233,8 @@ public class DexiXmlWriter extends XmlWriter<MascModel> implements MascXmlConsta // options Collection<Option> options = model.getOption(); + List<String> optionsAsText = new ArrayList<>(); + boolean atLeastOneNotEmpty = false; for (Option option : options) { Collection<OptionValue> optionValuesForCriteria = MascUtil.getOptionValuesForCriteria(option, criteria, false); @@ -248,8 +252,15 @@ public class DexiXmlWriter extends XmlWriter<MascModel> implements MascXmlConsta valueAsTest += value; } } - if (!StringUtils.isEmpty(valueAsTest)) { - add(attributeXmlNode, OPTION, valueAsTest); + optionsAsText.add(valueAsTest); + if (!valueAsTest.isEmpty()) { + atLeastOneNotEmpty = true; + } + } + // if all option are empty, dexi does not put options + if (atLeastOneNotEmpty) { + for (String optionAsText : optionsAsText) { + add(attributeXmlNode, OPTION, optionAsText); } } diff --git a/masc-api/src/test/resources/dxi/dexi-model4.0.dxi b/masc-api/src/test/resources/dxi/dexi-model4.0.dxi index b5ebfec..1dd1fcb 100644 --- a/masc-api/src/test/resources/dxi/dexi-model4.0.dxi +++ b/masc-api/src/test/resources/dxi/dexi-model4.0.dxi @@ -46,9 +46,9 @@ </FUNCTION> <OPTION>3</OPTION> <OPTION>4</OPTION> - <OPTION>2</OPTION> - <OPTION>2</OPTION> - <OPTION>2</OPTION> + <OPTION/> + <OPTION/> + <OPTION/> <OPTION>4</OPTION> <OPTION>2</OPTION> <OPTION>2</OPTION> @@ -1217,8 +1217,10 @@ <OPTION>2</OPTION> <OPTION>0</OPTION> <OPTION>0</OPTION> + <OPTION/> <OPTION>0</OPTION> <OPTION>2</OPTION> + <OPTION/> </ATTRIBUTE> <ATTRIBUTE> <NAME>Integration paysagere</NAME> @@ -7494,9 +7496,9 @@ <OPTION>0</OPTION> <OPTION>0</OPTION> <OPTION>0</OPTION> - <OPTION>0</OPTION> - <OPTION>0</OPTION> - <OPTION>0</OPTION> + <OPTION/> + <OPTION/> + <OPTION/> <OPTION>1</OPTION> </ATTRIBUTE> </DEXi> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.