(no commit message)
authora.babadshanjan <a.babadshanjan@localhost>
Mon, 11 May 2009 14:20:21 +0000 (14:20 +0000)
committera.babadshanjan <a.babadshanjan@localhost>
Mon, 11 May 2009 14:20:21 +0000 (14:20 +0000)
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImpl.java

index b2749f5789392c184e8676d47a548c71b7e41f18..27ce8a1a2c6828cbdddfce3ca7fecaf0c63b30c6 100644 (file)
@@ -285,26 +285,26 @@ public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implem
        }\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
@@ -362,9 +362,6 @@ public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implem
                                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
@@ -372,6 +369,8 @@ public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implem
                                                toTaxon.setTaxonomicChildrenCount(toTaxon.getTaxonomicChildrenCount() - 1);     \r
                                        }\r
                                }\r
+                               relationFromThisTaxon.setToTaxon(null);\r
+                               relationFromThisTaxon.setFromTaxon(null);\r
                                getSession().delete(relationFromThisTaxon);\r
                        }\r
                        \r
@@ -379,17 +378,15 @@ public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implem
                                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
@@ -420,7 +417,6 @@ public class TaxonDaoHibernateImpl extends IdentifiableDaoBase<TaxonBase> implem
                        }\r
                        \r
                        taxon.nullifyTaxonomicParent();\r
-                       //nullifyTaxonomicParent(taxon);\r
 \r
                } else { //is Synonym\r
                        Synonym synonym = (Synonym)taxonBase;\r