Class InterfolioProvisioningTargetNativeSync
java.lang.Object
edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningTargetNativeSync
edu.internet2.middleware.grouper.app.interfolio.InterfolioProvisioningTargetNativeSync
Interfolio-specific
GrouperProvisioningTargetNativeSync: captures the target users read off
Interfolio into the generic grouper_prov_user reporting tables, from the raw users/search JSON.
This is an entity-only provisioner, so only users are captured (no groups, no memberships). Capture
is hooked at the API-commands read seam (GrouperInterfolioApiCommands.searchUsers(java.lang.String, java.lang.String, int, int)) where the
full user JSON node is in scope. The target_user_id is the Interfolio pid (the provisioner key); the
default captured attributes are first_name, last_name, and email (the fields users/search returns).
Operators can capture any other users/search JSON field via nativeAttributesEntities with a name and
optional JSON-Pointer path.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildNativeUserFromJson(com.fasterxml.jackson.databind.JsonNode userNode) Build a native user bean from the raw Interfolio users/search JSON.voidcaptureUserJson(com.fasterxml.jackson.databind.JsonNode userNode) Build + record an Interfolio user from its raw JSON.static voidcaptureUserJsonFromCurrentProvisioner(com.fasterxml.jackson.databind.JsonNode userNode) Capture an Interfolio user (from its raw JSON) against the current provisioner's sync.protected List<GrouperProvisioningNativeAttributeConfig>Per-protocol sensible-default attribute list for entities (users) when the operator hasn't configurednativeAttributesEntities.protected List<GrouperProvisioningNativeAttributeConfig>Per-protocol sensible-default attribute list for groups.Methods inherited from class edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningTargetNativeSync
clearSyncBackGroupForDelete, clearSyncBackGroupForRead, clearSyncBackUserForDelete, clearSyncBackUserForRead, configuredNativeAttributeConfigsEntities, configuredNativeAttributeConfigsGroups, effectiveNativeAttributeConfigsEntities, effectiveNativeAttributeConfigsGroups, getGrouperProvisioner, grouperToNativeNameExceptionsEntities, grouperToNativeNameExceptionsGroups, markSyncBackGroupForDelete, markSyncBackGroupForRead, markSyncBackUserForDelete, markSyncBackUserForRead, recordTargetNativeGroup, recordTargetNativeGroupWrite, recordTargetNativeMembershipDelete, recordTargetNativeMembershipInsert, recordTargetNativeMembershipReplace, recordTargetNativeMemberships, recordTargetNativeUser, recordTargetNativeUserWrite, removeTargetNativeGroup, removeTargetNativeUser, setGrouperProvisioner
-
Constructor Details
-
InterfolioProvisioningTargetNativeSync
public InterfolioProvisioningTargetNativeSync()
-
-
Method Details
-
getDefaultNativeAttributeConfigsEntities
Description copied from class:GrouperProvisioningTargetNativeSyncPer-protocol sensible-default attribute list for entities (users) when the operator hasn't configurednativeAttributesEntities. Override in protocol subclasses to return a curated list (e.g. SCIM core schema fields). Default is empty — for LDAP this means "no extra capture beyond what the regular target query returned," which is the historical behavior.- Overrides:
getDefaultNativeAttributeConfigsEntitiesin classGrouperProvisioningTargetNativeSync
-
getDefaultNativeAttributeConfigsGroups
Description copied from class:GrouperProvisioningTargetNativeSyncPer-protocol sensible-default attribute list for groups. SeeGrouperProvisioningTargetNativeSync.getDefaultNativeAttributeConfigsEntities().- Overrides:
getDefaultNativeAttributeConfigsGroupsin classGrouperProvisioningTargetNativeSync
-
buildNativeUserFromJson
public GrouperProvisioningTargetNativeUser buildNativeUserFromJson(com.fasterxml.jackson.databind.JsonNode userNode) Build a native user bean from the raw Interfolio users/search JSON. target_user_id is read from /pid; the attributes are populated by JSON Pointer for each configured attribute. Returns null when the JSON is missing or has no pid.- Parameters:
userNode- the raw user JSON- Returns:
- the native user bean, or null
-
captureUserJson
public void captureUserJson(com.fasterxml.jackson.databind.JsonNode userNode) Build + record an Interfolio user from its raw JSON. No-op when sync-back is off or id-less. -
captureUserJsonFromCurrentProvisioner
public static void captureUserJsonFromCurrentProvisioner(com.fasterxml.jackson.databind.JsonNode userNode) Capture an Interfolio user (from its raw JSON) against the current provisioner's sync. No-op if there is no current provisioner or the active provisioner is not an Interfolio one. Called from the commands read seam for every user read off the target.- Parameters:
userNode- the raw user JSON
-