Package org.keycloak.partialimport
Class AbstractPartialImport<T>
java.lang.Object
org.keycloak.partialimport.AbstractPartialImport<T>
- All Implemented Interfaces:
PartialImport<T>
- Direct Known Subclasses:
ClientsPartialImport,GroupsPartialImport,IdentityProviderMappersPartialImport,IdentityProvidersPartialImport,RealmRolesPartialImport,UsersPartialImport
Base PartialImport for most resource types.
- Author:
- Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.keycloak.partialimport.PartialImportResultabstract voidcreate(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session, T resourceRep) org.keycloak.partialimport.PartialImportResultsdoImport(org.keycloak.representations.idm.PartialImportRepresentation partialImportRep, org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session) Create (or re-create) all the imported resources.abstract booleanexists(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session, T resourceRep) protected ErrorResponseExceptionexistsError(String message) abstract StringexistsMessage(org.keycloak.models.RealmModel realm, T resourceRep) abstract StringgetModelId(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session, T resourceRep) abstract StringgetRepList(org.keycloak.representations.idm.PartialImportRepresentation partialImportRep) abstract org.keycloak.partialimport.ResourceTypeprotected org.keycloak.partialimport.PartialImportResultoverwritten(String modelId, T resourceRep) voidprepare(org.keycloak.representations.idm.PartialImportRepresentation partialImportRep, org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session) Find which resources will need to be skipped or overwritten.abstract voidremove(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session, T resourceRep) voidremoveOverwrites(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session) Delete resources that will be overwritten.protected org.keycloak.partialimport.PartialImportResult
-
Field Details
-
toOverwrite
-
toSkip
-
-
Constructor Details
-
AbstractPartialImport
public AbstractPartialImport()
-
-
Method Details
-
getRepList
-
getName
-
getModelId
-
exists
public abstract boolean exists(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session, T resourceRep) -
existsMessage
-
getResourceType
public abstract org.keycloak.partialimport.ResourceType getResourceType() -
remove
public abstract void remove(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session, T resourceRep) -
create
public abstract void create(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session, T resourceRep) -
prepare
public void prepare(org.keycloak.representations.idm.PartialImportRepresentation partialImportRep, org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session) Description copied from interface:PartialImportFind which resources will need to be skipped or overwritten. Also, do a preliminary check for errors.- Specified by:
preparein interfacePartialImport<T>- Parameters:
partialImportRep- Everything in the PartialImport request.realm- Realm to be imported into.session- The KeycloakSession.
-
existsError
-
overwritten
-
skipped
-
added
-
removeOverwrites
public void removeOverwrites(org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session) Description copied from interface:PartialImportDelete resources that will be overwritten. This is done separately so that it can be called for all resource types before calling all the doImports. It was found that doing delete/add per resource causes errors because of cascading deletes.- Specified by:
removeOverwritesin interfacePartialImport<T>- Parameters:
realm- Realm to be imported into.session- The KeycloakSession
-
doImport
public org.keycloak.partialimport.PartialImportResults doImport(org.keycloak.representations.idm.PartialImportRepresentation partialImportRep, org.keycloak.models.RealmModel realm, org.keycloak.models.KeycloakSession session) Description copied from interface:PartialImportCreate (or re-create) all the imported resources.- Specified by:
doImportin interfacePartialImport<T>- Parameters:
partialImportRep- Everything in the PartialImport request.realm- Realm to be imported into.session- The KeycloakSession.- Returns:
- The final results of the PartialImport request.
-