This is an automated email from the git hooks/post-receive script. New commit to branch feature/7536 in repository tutti. See http://git.codelutin.com/tutti.git commit b15c54bff64e3a77072f277d1f0361514e6c7f34 Author: Kevin Morin <morin@codelutin.com> Date: Fri Sep 18 14:22:08 2015 +0200 colonne SEX, interpréter None en ne créant pas de fils "Non sexe" (sauf si pour cette espèce il y a une autre catégorie dans la colonne SEX. Dans ce cas il faut créer le fils "Non sexe" qui sera frère de, par exemple, Male) --- .../fr/ifremer/tutti/service/bigfin/BigfinImportService.java | 6 ++++-- .../main/java/fr/ifremer/tutti/service/bigfin/signs/Sex.java | 10 +++++----- .../main/java/fr/ifremer/tutti/service/bigfin/signs/Sign.java | 8 ++++++-- .../main/java/fr/ifremer/tutti/service/bigfin/signs/Size.java | 6 +++--- .../fr/ifremer/tutti/service/bigfin/signs/VracHorsVrac.java | 4 ++-- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java index 256ca49..ee7e0bb 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/BigfinImportService.java @@ -346,6 +346,8 @@ public class BigfinImportService extends AbstractTuttiService { Category category = commonParameter.getCategories().get(depth++); + int parentSignChildrenNb = rowsByCaracteristic.keySet().size(); + for (Sign caracteristic : rowsByCaracteristic.keySet()) { Collection<BigfinDataRow> bigfinDataRows = rowsByCaracteristic.get(caracteristic); @@ -356,7 +358,7 @@ public class BigfinImportService extends AbstractTuttiService { // if it does not exists, create the batch if (batch == null) { - if (caracteristic.isNullEquivalent()) { + if (caracteristic.isNullEquivalent(parentSignChildrenNb)) { batch = parentBatch; } else { @@ -420,7 +422,7 @@ public class BigfinImportService extends AbstractTuttiService { // then ok // else error Set<Sign> signsSet = rowsByNewCaracteristic.keySet(); - if (signsSet.size() == 1 && signsSet.iterator().next().isNullEquivalent()) {// we can go deeper + if (signsSet.size() == 1 && signsSet.iterator().next().isNullEquivalent(parentSignChildrenNb)) {// we can go deeper category = commonParameter.getCategories().get(depth++); rowsByNewCaracteristic = Multimaps.index(bigfinDataRows, category.getCategoryValueGetter()); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sex.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sex.java index cce5ed1..a354d78 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sex.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sex.java @@ -54,8 +54,8 @@ public enum Sex implements Sign { } @Override - public boolean isNullEquivalent() { - return true; + public boolean isNullEquivalent(int parentSignChildrenNb) { + return parentSignChildrenNb == 1; } }, UNKNOWN("UNKNOWN") { @@ -70,7 +70,7 @@ public enum Sex implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return false; } }, @@ -86,7 +86,7 @@ public enum Sex implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return false; } }, @@ -102,7 +102,7 @@ public enum Sex implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return false; } }; diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sign.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sign.java index 26b7b8f..2628bc6 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sign.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Sign.java @@ -41,8 +41,12 @@ public interface Sign { public abstract Integer getQualitativeValueId(); - // if true, can use this value in the import file to replace a skipped category - public abstract boolean isNullEquivalent(); + /** + * @param parentSignChildrenNb the number of subbatches of the parent + * (eg 2 for a size batch with NONE sex subbatches and MALE subbatches) + * @return true to use this value in the import file to replace a skipped category + */ + public abstract boolean isNullEquivalent(int parentSignChildrenNb); public String getSign(); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Size.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Size.java index cfc87a6..0bb3592 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Size.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/Size.java @@ -55,7 +55,7 @@ public enum Size implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return true; } @@ -72,7 +72,7 @@ public enum Size implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return false; } }, @@ -88,7 +88,7 @@ public enum Size implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return false; } }; diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/VracHorsVrac.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/VracHorsVrac.java index 0e2ffb7..468460c 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/VracHorsVrac.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/bigfin/signs/VracHorsVrac.java @@ -54,7 +54,7 @@ public enum VracHorsVrac implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return false; } }, @@ -70,7 +70,7 @@ public enum VracHorsVrac implements Sign { } @Override - public boolean isNullEquivalent() { + public boolean isNullEquivalent(int parentSignChildrenNb) { return false; } }; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.