ref #9359, ref #10072 adapt app-import to log4j2 and cleanup
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / io / berlinModel / out / BerlinModelNameRelationExport.java
index 74c561d97feab993ed160e0da61538aa42c639e4..5b51796943594087eb5db78fe221328e6443137f 100644 (file)
@@ -14,7 +14,8 @@ import java.util.HashSet;
 import java.util.List;\r
 import java.util.Set;\r
 \r
-import org.apache.log4j.Logger;\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
 import org.springframework.stereotype.Component;\r
 import org.springframework.transaction.TransactionStatus;\r
 \r
@@ -32,18 +33,18 @@ import eu.etaxonomy.cdm.model.common.RelationshipBase;
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationship;\r
 import eu.etaxonomy.cdm.model.name.NameRelationship;\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
 import eu.etaxonomy.cdm.model.reference.Reference;\r
 \r
-\r
 /**\r
  * @author a.mueller\r
- * @created 20.03.2008\r
- * @version 1.0\r
+ * @since 20.03.2008\r
  */\r
 @Component\r
 public class BerlinModelNameRelationExport extends BerlinModelExportBase<RelationshipBase> {\r
-       private static final Logger logger = Logger.getLogger(BerlinModelNameRelationExport.class);\r
+\r
+    private static final long serialVersionUID = 1L;\r
+    private static final Logger logger = LogManager.getLogger();\r
 \r
        private static int modCount = 100;\r
        private static final String dbTableName = "RelName";\r
@@ -55,9 +56,6 @@ public class BerlinModelNameRelationExport extends BerlinModelExportBase<Relatio
                super();\r
        }\r
 \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IImportConfigurator)\r
-        */\r
        @Override\r
        protected boolean doCheck(BerlinModelExportState state){\r
                boolean result = true;\r
@@ -76,7 +74,6 @@ public class BerlinModelNameRelationExport extends BerlinModelExportBase<Relatio
                mapping.addMapper(DbObjectMapper.NewInstance("fromName", "NameFk1"));\r
                mapping.addMapper(DbObjectMapper.NewInstance("toName", "NameFk2"));\r
 \r
-\r
                mapping.addMapper(MethodMapper.NewInstance("RelNameQualifierFk", this));\r
 \r
                mapping.addMapper(DbObjectMapper.NewInstance("citation", "RefFk"));\r
@@ -95,7 +92,9 @@ public class BerlinModelNameRelationExport extends BerlinModelExportBase<Relatio
 \r
                        TransactionStatus txStatus = startTransaction(true);\r
 \r
-                       List<RelationshipBase> list = getNameService().getAllRelationships(100000000, 0);\r
+                       @SuppressWarnings({ "unchecked", "rawtypes" })\r
+            List<RelationshipBase<?,?,?>> list = (List)getNameService().listNameRelationships(null, null, null, null, null);\r
+                       list.addAll(getNameService().listHybridRelationships(null, null, null, null, null));\r
 \r
                        CdmDbExportMapping<BerlinModelExportState, BerlinModelExportConfigurator, IExportTransformer> mapping = getMapping();\r
                        mapping.initialize(state);\r
@@ -144,12 +143,12 @@ public class BerlinModelNameRelationExport extends BerlinModelExportBase<Relatio
                        Set<NameRelationship> basionymNameRels = new HashSet<NameRelationship>();\r
                        for (HomotypicalGroup homoGroup : list){\r
                                doCount(count++, modCount, "homotypical groups");\r
-                               Set<TaxonNameBase> allNames = homoGroup.getTypifiedNames();\r
+                               Set<TaxonName> allNames = homoGroup.getTypifiedNames();\r
                                if (allNames.size() > 1){\r
-                                       Set<TaxonNameBase> readyNames = new HashSet<TaxonNameBase>();\r
-                                       Set<TaxonNameBase> unrelateds = homoGroup.getUnrelatedNames();\r
-                                       for (TaxonNameBase unrelated : unrelateds){\r
-                                               for (TaxonNameBase oneOfAllNames: allNames){\r
+                                       Set<TaxonName> readyNames = new HashSet<>();\r
+                                       Set<TaxonName> unrelateds = homoGroup.getUnrelatedNames();\r
+                                       for (TaxonName unrelated : unrelateds){\r
+                                               for (TaxonName oneOfAllNames: allNames){\r
                                                        if(!unrelated.equals(oneOfAllNames) && ! readyNames.contains(oneOfAllNames)){\r
                                                                success &= invokeIsHomotypic(state, mapping, unrelated, oneOfAllNames, null, null);\r
                                                        }\r
@@ -169,7 +168,7 @@ public class BerlinModelNameRelationExport extends BerlinModelExportBase<Relatio
                }\r
        }\r
 \r
-       private boolean invokeIsHomotypic(BerlinModelExportState state, CdmDbExportMapping<BerlinModelExportState, BerlinModelExportConfigurator, IExportTransformer> mapping, TaxonNameBase fromName, TaxonNameBase toName, Reference refId, String microCitation) throws SQLException{\r
+       private boolean invokeIsHomotypic(BerlinModelExportState state, CdmDbExportMapping<BerlinModelExportState, BerlinModelExportConfigurator, IExportTransformer> mapping, TaxonName fromName, TaxonName toName, Reference refId, String microCitation) throws SQLException{\r
                try{\r
                        logger.info(fromName.getTitleCache() + "->" + toName.getTitleCache());\r
                        String maxQuery = " SELECT max(relNameId) as max FROM relName ";\r
@@ -190,8 +189,8 @@ public class BerlinModelNameRelationExport extends BerlinModelExportBase<Relatio
                return true;\r
        }\r
 \r
-       private Set<TaxonNameBase> getAllRelatedNames(Set<NameRelationship> rels){\r
-               Set<TaxonNameBase> result = new HashSet<TaxonNameBase>();\r
+       private Set<TaxonName> getAllRelatedNames(Set<NameRelationship> rels){\r
+               Set<TaxonName> result = new HashSet<>();\r
                for (NameRelationship rel : rels){\r
                        result.add(rel.getFromName());\r
                        result.add(rel.getToName());\r