diff options
author | Arne H Juul <arnej@yahooinc.com> | 2021-12-08 19:22:51 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2021-12-08 20:01:31 +0000 |
commit | 1c665db23b258bd8c166c1e1f4d33d592c26c341 (patch) | |
tree | df2ad861c978130fb144a822b3bfca7692564cc0 | |
parent | bd84af53903cab455e3f806b5a93b6edacbef11e (diff) |
be a bit more paranoid
-rw-r--r-- | config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java b/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java index 118714ca2b1..8848759b415 100644 --- a/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java +++ b/config-model/src/main/java/com/yahoo/documentmodel/DataTypeRepo.java @@ -48,9 +48,14 @@ public class DataTypeRepo implements DataTypeCollection { { throw new IllegalStateException("Data type '" + type.getName() + "' is not registered."); } - typeByName.remove(type.getName()); + var oldByName = typeByName.remove(type.getName()); + var oldById = typeById.remove(type.getId()); + if (oldByName != oldById) { + throw new IllegalStateException("Data type '" + type.getName() + + "' inconsistent replace, by name: " + oldByName + + " but by id: " + oldById); + } typeByName.put(type.getName(), type); - typeById.remove(type.getId()); typeById.put(type.getId(), type); return this; } |