diff --git a/nitrite/src/main/java/org/dizitart/no2/Nitrite.java b/nitrite/src/main/java/org/dizitart/no2/Nitrite.java index a5be7679a..119e166e1 100644 --- a/nitrite/src/main/java/org/dizitart/no2/Nitrite.java +++ b/nitrite/src/main/java/org/dizitart/no2/Nitrite.java @@ -312,9 +312,11 @@ default boolean hasRepository(Class type) { */ default boolean hasRepository(Class type, String key) { checkOpened(); + Map> keyed = listKeyedRepositories(); + Set entities = keyed.get(key); + if (entities == null) return false; String entityName = ObjectUtils.getEntityName(type); - return listKeyedRepositories().containsKey(key) - && listKeyedRepositories().get(key).contains(entityName); + return entities.contains(entityName); } /** @@ -343,8 +345,10 @@ default boolean hasRepository(EntityDecorator entityDecorator) { */ default boolean hasRepository(EntityDecorator entityDecorator, String key) { checkOpened(); - return listKeyedRepositories().containsKey(key) - && listKeyedRepositories().get(key).contains(entityDecorator.getEntityName()); + Map> keyed = listKeyedRepositories(); + Set entities = keyed.get(key); + if (entities == null) return false; + return entities.contains(entityDecorator.getEntityName()); } /** @@ -355,11 +359,12 @@ default boolean hasRepository(EntityDecorator entityDecorator, String key * reserved names */ default void validateCollectionName(String name) { - notNull(name, "name cannot be null"); - notEmpty(name, "name cannot be empty"); + notNull(name, "name cannot be null"); + String normalized = name.trim(); + notEmpty(normalized, "name cannot be empty"); for (String reservedName : RESERVED_NAMES) { - if (name.contains(reservedName)) { + if (normalized.contains(reservedName)) { throw new ValidationException("Name cannot contain " + reservedName); } }