From d9c82be95e8aca734301e0ed0569c35b90f41772 Mon Sep 17 00:00:00 2001 From: Andreas Kohlbecker Date: Tue, 5 Apr 2016 08:13:50 +0200 Subject: [PATCH] #5679 catching and ignoring LIEs during the attempt to clean up NULL items in sets --- .../cdm/model/description/PolytomousKeyNode.java | 13 +++++++++---- .../eu/etaxonomy/cdm/model/taxon/TaxonNode.java | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/PolytomousKeyNode.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/PolytomousKeyNode.java index 851c2739a8..18819a6eb4 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/PolytomousKeyNode.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/PolytomousKeyNode.java @@ -33,6 +33,7 @@ import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.apache.log4j.Logger; +import org.hibernate.LazyInitializationException; import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; import org.hibernate.annotations.IndexColumn; @@ -513,11 +514,15 @@ public class PolytomousKeyNode extends VersionableEntity implements IMultiLangua private void removeNullValueFromChildren(){ - if (children.contains(null)){ - while(children.contains(null)){ - children.remove(null); + try { + if (children.contains(null)){ + while(children.contains(null)){ + children.remove(null); + } } - } + } catch (LazyInitializationException e) { + logger.info("Cannot clean up uninitialized children without a session, skipping."); + } } /** * Removes the feature node placed at the given (index + 1) position from diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/taxon/TaxonNode.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/taxon/TaxonNode.java index 3a9e594ecd..f7209eaa82 100755 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/taxon/TaxonNode.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/taxon/TaxonNode.java @@ -33,6 +33,7 @@ import javax.xml.bind.annotation.XmlSchemaType; import javax.xml.bind.annotation.XmlType; import org.apache.log4j.Logger; +import org.hibernate.LazyInitializationException; import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; import org.hibernate.annotations.Index; @@ -859,12 +860,16 @@ public class TaxonNode extends AnnotatableEntity implements ITaxonTreeNode, ITre } private void removeNullValueFromChildren(){ - if (childNodes.contains(null)){ - while(childNodes.contains(null)){ - childNodes.remove(null); + try { + if (childNodes.contains(null)){ + while(childNodes.contains(null)){ + childNodes.remove(null); + } } + this.updateSortIndex(0); + } catch (LazyInitializationException e) { + logger.info("Cannot clean up uninitialized children without a session, skipping."); } - this.updateSortIndex(0); } -- 2.34.1