From fab441c2afd4c65162539901b6d11d60fa67d664 Mon Sep 17 00:00:00 2001 From: hneemann Date: Fri, 22 Jun 2018 21:22:58 +0200 Subject: [PATCH] better error message if there are many duplicate files --- .../neemann/digital/draw/library/ElementLibrary.java | 10 +++++++++- src/main/resources/lang/lang_de.xml | 1 + src/main/resources/lang/lang_en.xml | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java b/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java index 0b7e16a1d..43ad43866 100644 --- a/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java +++ b/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java @@ -692,8 +692,10 @@ public class ElementLibrary implements Iterable } private static final class PopulateMapVisitor implements Visitor { + private static final int MAX_WARNING_ENTRIES = 15; private final HashMap map; private StringBuilder warningMessage; + private int warningEntries = 0; private PopulateMapVisitor(HashMap map) { this.map = map; @@ -716,13 +718,19 @@ public class ElementLibrary implements Iterable libraryNode.setUnique(false); // some of the duplicates point to the same file if (warningMessage == null) warningMessage = new StringBuilder(Lang.get("msg_duplicateLibraryFiles")); - warningMessage.append("\n\n").append(presentNode.getFile()).append("\n").append(libraryNode.getFile()); + if (warningEntries <= MAX_WARNING_ENTRIES) + warningMessage.append("\n\n").append(presentNode.getFile()).append("\n").append(libraryNode.getFile()); + warningEntries++; } } } } private StringBuilder getWarningMessage() { + if (warningEntries >= MAX_WARNING_ENTRIES) { + warningMessage.append("\n\n").append(Lang.get("msg_and_N_More", warningEntries - MAX_WARNING_ENTRIES)); + warningEntries = 0; + } return warningMessage; } } diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index 5d0be2b99..7e6b4da72 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -1440,6 +1440,7 @@ eine <a href="https://github.com/hneemann/[[name]]/issues/new?labels=enh Es gibt mehrere Dateien mit identischen Dateinamen, welche nicht eindeutig zugeordnet werden können! Betroffen sind: + und {0} weitere. Die Datei wurde noch nicht importiert. Die Datei {0} existiert schon! Soll die Datei überschrieben werden? Die Bearbeitung der Schaltung ist gesperrt. Sie können die Sperrung unter diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index 1787c60dd..96d0f17f5 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -1427,6 +1427,7 @@ There are several files with identical file names, which can not be uniquely assigned! Affected are: + and {0} more. The file has not yet been imported. The file {0} already exists! Do you want to overwrite the file? (To many entries!)