}\r
\r
/** Sets the taxonomic parent to null. Does not handle taxonomic relationships. */\r
- private boolean nullifyTaxonomicParent(Taxon taxon) {\r
-\r
- try {\r
- Method nullifyTaxonomicParent = taxon.getClass().getMethod("nullifyTaxonomicParent");\r
- nullifyTaxonomicParent.invoke(taxon);\r
- } catch (NoSuchMethodException ex) {\r
- logger.error("NoSuchMethod: " + ex.getMessage());\r
- return false;\r
- } catch (IllegalArgumentException ex) {\r
- logger.error("IllegalArgumentException: " + ex.getMessage());\r
- return false;\r
- } catch (IllegalAccessException ex) {\r
- logger.error("IllegalAccessException: " + ex.getMessage());\r
- return false;\r
- } catch (InvocationTargetException ex) {\r
- logger.error("IllegalAccessException: " + ex.getMessage());\r
- return false;\r
- }\r
- return true;\r
- }\r
+// private boolean nullifyTaxonomicParent(Taxon taxon) {\r
+//\r
+// try {\r
+// Method nullifyTaxonomicParent = taxon.getClass().getMethod("nullifyTaxonomicParent");\r
+// nullifyTaxonomicParent.invoke(taxon);\r
+// } catch (NoSuchMethodException ex) {\r
+// logger.error("NoSuchMethod: " + ex.getMessage());\r
+// return false;\r
+// } catch (IllegalArgumentException ex) {\r
+// logger.error("IllegalArgumentException: " + ex.getMessage());\r
+// return false;\r
+// } catch (IllegalAccessException ex) {\r
+// logger.error("IllegalAccessException: " + ex.getMessage());\r
+// return false;\r
+// } catch (InvocationTargetException ex) {\r
+// logger.error("IllegalAccessException: " + ex.getMessage());\r
+// return false;\r
+// }\r
+// return true;\r
+// }\r
\r
@Override\r
public UUID delete(TaxonBase taxonBase) throws DataAccessException{\r
TaxonRelationship relationFromThisTaxon = iterator.next();\r
iterator.remove();\r
\r
- relationFromThisTaxon.setToTaxon(null);\r
- relationFromThisTaxon.setFromTaxon(null);\r
-\r
// decrease children count of taxonomic parent by one\r
if (relationFromThisTaxon.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {\r
Taxon toTaxon = relationFromThisTaxon.getToTaxon(); // parent\r
toTaxon.setTaxonomicChildrenCount(toTaxon.getTaxonomicChildrenCount() - 1); \r
}\r
}\r
+ relationFromThisTaxon.setToTaxon(null);\r
+ relationFromThisTaxon.setFromTaxon(null);\r
getSession().delete(relationFromThisTaxon);\r
}\r
\r
TaxonRelationship relationToThisTaxon = iterator.next();\r
iterator.remove();\r
\r
- relationToThisTaxon.setFromTaxon(null);\r
- relationToThisTaxon.setToTaxon(null);\r
-\r
// set parent cache of child to null\r
if (relationToThisTaxon.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {\r
Taxon fromTaxon = relationToThisTaxon.getFromTaxon(); // child\r
if (fromTaxon != null) {\r
fromTaxon.nullifyTaxonomicParent();\r
- //nullifyTaxonomicParent(fromTaxon);\r
}\r
}\r
+ relationToThisTaxon.setFromTaxon(null);\r
+ relationToThisTaxon.setToTaxon(null);\r
getSession().delete(relationToThisTaxon);\r
}\r
\r
}\r
\r
taxon.nullifyTaxonomicParent();\r
- //nullifyTaxonomicParent(taxon);\r
\r
} else { //is Synonym\r
Synonym synonym = (Synonym)taxonBase;\r