You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bd...@apache.org on 2026/07/15 15:47:07 UTC

(directory-scimple) 02/02: Fix SpotBugs synchronization warning

This is an automated email from the ASF dual-hosted git repository.

bdemers pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git

commit 3d9329ed8fe4fc220cc2f57a6223671b1db97b65
Author: Brian Demers <bd...@apache.org>
AuthorDate: Wed Jul 15 11:34:52 2026 -0400

    Fix SpotBugs synchronization warning
---
 .../directory/scim/core/repository/RepositoryRegistry.java | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/scim-core/src/main/java/org/apache/directory/scim/core/repository/RepositoryRegistry.java b/scim-core/src/main/java/org/apache/directory/scim/core/repository/RepositoryRegistry.java
index 211ce7e8..e5bc5fae 100644
--- a/scim-core/src/main/java/org/apache/directory/scim/core/repository/RepositoryRegistry.java
+++ b/scim-core/src/main/java/org/apache/directory/scim/core/repository/RepositoryRegistry.java
@@ -38,6 +38,8 @@ public class RepositoryRegistry {
 
   private Map<Class<? extends ScimResource>, Repository<? extends ScimResource>> repositoryMap = new HashMap<>();
 
+  private final Object repositoryLock = new Object();
+
   public RepositoryRegistry() {
     // CDI
   }
@@ -58,12 +60,14 @@ public class RepositoryRegistry {
       });
   }
 
-  public synchronized <T extends ScimResource> void registerRepository(Class<T> clazz, Repository<T> repository) throws InvalidRepositoryException {
-    List<Class<? extends ScimExtension>> extensionList = repository.getExtensionList();
+  public <T extends ScimResource> void registerRepository(Class<T> clazz, Repository<T> repository) throws InvalidRepositoryException {
+    synchronized (repositoryLock) {
+      List<Class<? extends ScimExtension>> extensionList = repository.getExtensionList();
 
-    log.debug("Calling addSchema on the base class: {}", clazz);
-    schemaRegistry.addSchema(clazz, extensionList);
-    repositoryMap.put(clazz, repository);
+      log.debug("Calling addSchema on the base class: {}", clazz);
+      schemaRegistry.addSchema(clazz, extensionList);
+      repositoryMap.put(clazz, repository);
+    }
   }
 
   @SuppressWarnings("unchecked")