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);