diff --git a/src/main/java/org/jabref/model/entry/BibEntry.java b/src/main/java/org/jabref/model/entry/BibEntry.java index 6351d9bde36..be2842e5f88 100644 --- a/src/main/java/org/jabref/model/entry/BibEntry.java +++ b/src/main/java/org/jabref/model/entry/BibEntry.java @@ -45,7 +45,7 @@ public class BibEntry implements Cloneable { public static final String OBSOLETE_TYPE_HEADER = "bibtextype"; public static final String KEY_FIELD = "bibtexkey"; public static final String DEFAULT_TYPE = "misc"; - protected static final String ID_FIELD = "id"; + protected static final String INTERNAL_ID_FIELD = "JabRef-internal-id"; private static final Logger LOGGER = LoggerFactory.getLogger(BibEntry.class); private static final Pattern REMOVE_TRAILING_WHITESPACE = Pattern.compile("\\s+$"); private final SharedBibEntryData sharedBibEntryData; @@ -161,7 +161,7 @@ public void setId(String id) { String oldId = this.id; - eventBus.post(new FieldChangedEvent(this, BibEntry.ID_FIELD, id, oldId)); + eventBus.post(new FieldChangedEvent(this, BibEntry.INTERNAL_ID_FIELD, id, oldId)); this.id = id; changed = true; } @@ -408,10 +408,6 @@ public Optional setField(String name, String value, EntryEventSourc return Optional.empty(); } - if (BibEntry.ID_FIELD.equals(fieldName)) { - throw new IllegalArgumentException("The field name '" + name + "' is reserved"); - } - changed = true; fields.put(fieldName, value.intern()); @@ -463,10 +459,6 @@ public Optional clearField(String name) { public Optional clearField(String name, EntryEventSource eventSource) { String fieldName = toLowerCase(name); - if (BibEntry.ID_FIELD.equals(fieldName)) { - throw new IllegalArgumentException("The field name '" + name + "' is reserved"); - } - Optional oldValue = getField(fieldName); if (!oldValue.isPresent()) { return Optional.empty(); diff --git a/src/test/java/org/jabref/model/entry/BibEntryTest.java b/src/test/java/org/jabref/model/entry/BibEntryTest.java index 5f7e95f52ac..58261a29bc1 100644 --- a/src/test/java/org/jabref/model/entry/BibEntryTest.java +++ b/src/test/java/org/jabref/model/entry/BibEntryTest.java @@ -12,7 +12,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; public class BibEntryTest { @@ -28,16 +27,6 @@ public void tearDown() { entry = null; } - @Test - public void notOverrideReservedFields() { - assertThrows(IllegalArgumentException.class, () -> entry.setField(BibEntry.ID_FIELD, "somevalue")); - } - - @Test - public void notClearReservedFields() { - assertThrows(IllegalArgumentException.class, () -> entry.clearField(BibEntry.ID_FIELD)); - } - @Test public void getFieldIsCaseInsensitive() throws Exception { entry.setField("TeSt", "value");