ref #5655, #10083: fix cdmLight namerelationship handling
authorKatja Luther <k.luther@bgbm.org>
Tue, 23 Aug 2022 13:01:44 +0000 (15:01 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 23 Aug 2022 13:02:29 +0000 (15:02 +0200)
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/cdmLight/CdmLightClassificationExport.java

index 51432c87951668474db1373c1e1eacfe501252a3..9bcaab4d62caa13e7f93ab5cf7e6fa27390038dc 100755 (executable)
@@ -1514,11 +1514,11 @@ public class CdmLightClassificationExport
             if (!state.getNameStore().containsKey(name2.getId())) {
                 handleName(state, name2, null);
             }
-
+            csvLine = new String[table.getSize()];
             csvLine[table.getIndex(CdmLightExportTable.NAME_REL_TYPE)] = type.getLabel();
             csvLine[table.getIndex(CdmLightExportTable.NAME1_FK)] = getId(state, name);
             csvLine[table.getIndex(CdmLightExportTable.NAME2_FK)] = getId(state, name2);
-            state.getProcessor().put(table, name, csvLine);
+            state.getProcessor().put(table, rel.getUuid().toString(), csvLine);
         }
 
         rels = name.getRelationsToThisName();
@@ -1929,6 +1929,21 @@ public class CdmLightClassificationExport
                             otherRelationships.add(rel);
                         }
                     }
+                    if (state.getConfig().isShowInverseNameRelationsInHomotypicGroup()) {
+                       if (rel.getToName().equals(name)){
+                            // alle Homonyme und inverse blocking names
+//                               if (rel.getType().equals(NameRelationshipType.LATER_HOMONYM())
+//                                       || rel.getType().equals(NameRelationshipType.TREATED_AS_LATER_HOMONYM())
+//                                       || (rel.getType().equals(NameRelationshipType.BLOCKING_NAME_FOR()))
+//                                       || (rel.getType().equals(NameRelationshipType.UNSPECIFIC_NON()))
+//                                       || (rel.getType().equals(NameRelationshipType.AVOIDS_HOMONYM_OF()))
+//                                       ){
+//                                   nonNames.add(rel);
+//                               }else if (!rel.getType().isBasionymRelation()){
+                                   otherRelationships.add(rel);
+//                               }
+                           }
+                    }
                 }
 
                 String nonRelNames = "";
@@ -1976,10 +1991,15 @@ public class CdmLightClassificationExport
                             relNames += label + relatedName.getTitleCache();
                         }
                     }
-//                    else {
-//                        label = rel.getType().getInverseLabel() + " ";
-//                        relatedName = rel.getFromName();
-//                    }
+                    else {
+                        label = rel.getType().getInverseLabel() + " ";
+                        relatedName = rel.getFromName();
+                        if (state.getConfig().isAddHTML()){
+                            relNames += label + createNameWithItalics(relatedName.getTaggedName())+ " ";
+                        }else{
+                            relNames += label + relatedName.getTitleCache();
+                        }
+                    }
                 }
                 relNames.trim();
                 if (otherRelationships.size() > 0){