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 2025/12/22 15:17:35 UTC

(directory-scimple) branch develop updated: Add convenice method to add schema without extensions

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


The following commit(s) were added to refs/heads/develop by this push:
     new 23308d77 Add convenice method to add schema without extensions
23308d77 is described below

commit 23308d77878b7eda5387b72fb104d8570ecbf7e2
Author: Brian Demers <br...@gmail.com>
AuthorDate: Fri Sep 12 10:11:47 2025 -0500

    Add convenice method to add schema without extensions
    
    `schemaRegistry.addSchema(<class>, null)` can now be `schemaRegistry.addSchema(<class>, null)`
---
 .../org/apache/directory/scim/core/schema/SchemaRegistry.java  | 10 +++++++---
 .../directory/scim/core/repository/PatchHandlerTest.java       |  2 +-
 .../apache/directory/scim/core/schema/SchemaRegistryTest.java  |  3 ++-
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/scim-core/src/main/java/org/apache/directory/scim/core/schema/SchemaRegistry.java b/scim-core/src/main/java/org/apache/directory/scim/core/schema/SchemaRegistry.java
index 1941b3a0..c5e659a3 100644
--- a/scim-core/src/main/java/org/apache/directory/scim/core/schema/SchemaRegistry.java
+++ b/scim-core/src/main/java/org/apache/directory/scim/core/schema/SchemaRegistry.java
@@ -71,11 +71,15 @@ public class SchemaRegistry implements Serializable {
     return schemaMap.get(schemaUrn);
   }
 
-  private void addSchema(Schema schema) {
+  private void addSchemaToRegistry(Schema schema) {
     log.debug("Adding schema " + schema.getId() + " into the registry");
     schemaMap.put(schema.getId(), schema);
   }
 
+  public <T extends ScimResource> void addSchema(Class<T> clazz) {
+    this.addSchema(clazz, List.of());
+  }
+
   public <T extends ScimResource> void addSchema(Class<T> clazz, List<Class<? extends ScimExtension>> extensionList) {
 
     ScimResourceType scimResourceType = clazz.getAnnotation(ScimResourceType.class);
@@ -88,7 +92,7 @@ public class SchemaRegistry implements Serializable {
     String schemaUrn = scimResourceType.schema();
     String endpoint = scimResourceType.endpoint();
 
-    addSchema(Schemas.schemaFor(clazz));
+    addSchemaToRegistry(Schemas.schemaFor(clazz));
     addScimResourceSchemaUrn(schemaUrn, clazz);
     addScimResourceEndPoint(endpoint, clazz);
     addResourceType(resourceType);
@@ -96,7 +100,7 @@ public class SchemaRegistry implements Serializable {
     if (extensionList != null) {
       for (Class<? extends ScimExtension> scimExtension : extensionList) {
         log.debug("Calling addSchema on an extension: " + scimExtension);
-        addSchema(Schemas.schemaForExtension(scimExtension));
+        addSchemaToRegistry(Schemas.schemaForExtension(scimExtension));
         log.debug("Registering a extension of type: " + scimExtension);
         addExtension(clazz, scimExtension);
       }
diff --git a/scim-core/src/test/java/org/apache/directory/scim/core/repository/PatchHandlerTest.java b/scim-core/src/test/java/org/apache/directory/scim/core/repository/PatchHandlerTest.java
index 07679543..ac9e384a 100644
--- a/scim-core/src/test/java/org/apache/directory/scim/core/repository/PatchHandlerTest.java
+++ b/scim-core/src/test/java/org/apache/directory/scim/core/repository/PatchHandlerTest.java
@@ -51,7 +51,7 @@ public class PatchHandlerTest {
   public PatchHandlerTest() {
     SchemaRegistry schemaRegistry = new SchemaRegistry();
     schemaRegistry.addSchema(ScimUser.class, List.of(EnterpriseExtension.class));
-    schemaRegistry.addSchema(ScimGroup.class, null);
+    schemaRegistry.addSchema(ScimGroup.class);
     this.patchHandler = new DefaultPatchHandler(schemaRegistry);
   }
 
diff --git a/scim-core/src/test/java/org/apache/directory/scim/core/schema/SchemaRegistryTest.java b/scim-core/src/test/java/org/apache/directory/scim/core/schema/SchemaRegistryTest.java
index 99e5d7b6..8eb2ba24 100644
--- a/scim-core/src/test/java/org/apache/directory/scim/core/schema/SchemaRegistryTest.java
+++ b/scim-core/src/test/java/org/apache/directory/scim/core/schema/SchemaRegistryTest.java
@@ -55,9 +55,10 @@ public class SchemaRegistryTest {
     groupType.setSchemaUrn(ScimGroup.SCHEMA_URI);
     groupType.setName(ScimGroup.RESOURCE_NAME);
     groupType.setDescription("Top level ScimGroup");
+    groupType.setSchemaExtensions(List.of());
 
     schemaRegistry.addSchema(ScimUser.class, List.of(ExampleObjectExtension.class));
-    schemaRegistry.addSchema(ScimGroup.class, null);
+    schemaRegistry.addSchema(ScimGroup.class);
 
     assertThat(schemaRegistry.getSchema(ScimUser.SCHEMA_URI)).isEqualTo(userSchema);
     assertThat(schemaRegistry.getAllSchemas()).containsOnly(userSchema, groupsSchema, extSchema);