keycloak-service
クラス | 公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
org.keycloak.partialimport.RealmRolesPartialImport クラス
org.keycloak.partialimport.RealmRolesPartialImport の継承関係図
Inheritance graph
org.keycloak.partialimport.RealmRolesPartialImport 連携図
Collaboration graph

クラス

class  RoleHelper
 

公開メンバ関数

Set< RoleRepresentation > getToOverwrite ()
 
Set< RoleRepresentation > getToSkip ()
 
List< RoleRepresentation > getRepList (PartialImportRepresentation partialImportRep)
 
String getName (RoleRepresentation roleRep)
 
String getModelId (RealmModel realm, KeycloakSession session, RoleRepresentation roleRep)
 
boolean exists (RealmModel realm, KeycloakSession session, RoleRepresentation roleRep)
 
String existsMessage (RealmModel realm, RoleRepresentation roleRep)
 
ResourceType getResourceType ()
 
void remove (RealmModel realm, KeycloakSession session, RoleRepresentation roleRep)
 
void create (RealmModel realm, KeycloakSession session, RoleRepresentation roleRep)
 
abstract String getName (T resourceRep)
 
abstract String getModelId (RealmModel realm, KeycloakSession session, T resourceRep)
 
abstract boolean exists (RealmModel realm, KeycloakSession session, T resourceRep)
 
abstract String existsMessage (RealmModel realm, T resourceRep)
 
abstract void remove (RealmModel realm, KeycloakSession session, T resourceRep)
 
abstract void create (RealmModel realm, KeycloakSession session, T resourceRep)
 
void prepare (PartialImportRepresentation partialImportRep, RealmModel realm, KeycloakSession session) throws ErrorResponseException
 
void removeOverwrites (RealmModel realm, KeycloakSession session)
 
PartialImportResults doImport (PartialImportRepresentation partialImportRep, RealmModel realm, KeycloakSession session) throws ErrorResponseException
 

限定公開メンバ関数

ErrorResponseException existsError (String message)
 
PartialImportResult overwritten (String modelId, T resourceRep)
 
PartialImportResult skipped (String modelId, T resourceRep)
 
PartialImportResult added (String modelId, T resourceRep)
 

限定公開変数類

final Set< T > toOverwrite
 
final Set< T > toSkip
 

詳解

PartialImport handler for Realm Roles.

著者
Stan Silvert ssilv.nosp@m.ert@.nosp@m.redha.nosp@m.t.co.nosp@m.m (C) 2016 Red Hat Inc.

関数詳解

◆ added()

PartialImportResult org.keycloak.partialimport.AbstractPartialImport< T >.added ( String  modelId,
resourceRep 
)
inlineprotectedinherited
81  {
82  return PartialImportResult.added(getResourceType(), getName(resourceRep), modelId, resourceRep);
83  }

◆ create() [1/2]

abstract void org.keycloak.partialimport.AbstractPartialImport< T >.create ( RealmModel  realm,
KeycloakSession  session,
resourceRep 
)
abstractinherited

◆ create() [2/2]

void org.keycloak.partialimport.RealmRolesPartialImport.create ( RealmModel  realm,
KeycloakSession  session,
RoleRepresentation  roleRep 
)
inline
93  {
94  realm.addRole(getName(roleRep));
95  }
String getName(RoleRepresentation roleRep)
Definition: RealmRolesPartialImport.java:51

◆ doImport()

PartialImportResults org.keycloak.partialimport.AbstractPartialImport< T >.doImport ( PartialImportRepresentation  partialImportRep,
RealmModel  realm,
KeycloakSession  session 
) throws ErrorResponseException
inlineinherited
93  {
94  PartialImportResults results = new PartialImportResults();
95  List<T> repList = getRepList(partialImportRep);
96  if ((repList == null) || repList.isEmpty()) return results;
97 
98  for (T resourceRep : toOverwrite) {
99  try {
100  create(realm, session, resourceRep);
101  } catch (Exception e) {
102  ServicesLogger.LOGGER.overwriteError(e, getName(resourceRep));
103  throw new ErrorResponseException(ErrorResponse.error(e.getMessage(), Response.Status.INTERNAL_SERVER_ERROR));
104  }
105 
106  String modelId = getModelId(realm, session, resourceRep);
107  results.addResult(overwritten(modelId, resourceRep));
108  }
109 
110  for (T resourceRep : toSkip) {
111  String modelId = getModelId(realm, session, resourceRep);
112  results.addResult(skipped(modelId, resourceRep));
113  }
114 
115  for (T resourceRep : repList) {
116  if (toOverwrite.contains(resourceRep)) continue;
117  if (toSkip.contains(resourceRep)) continue;
118 
119  try {
120  create(realm, session, resourceRep);
121  String modelId = getModelId(realm, session, resourceRep);
122  results.addResult(added(modelId, resourceRep));
123  } catch (Exception e) {
124  ServicesLogger.LOGGER.creationError(e, getName(resourceRep));
125  throw new ErrorResponseException(ErrorResponse.error(e.getMessage(), Response.Status.INTERNAL_SERVER_ERROR));
126  }
127  }
128 
129  return results;
130  }
final Set< T > toSkip
Definition: AbstractPartialImport.java:39
PartialImportResult skipped(String modelId, T resourceRep)
Definition: AbstractPartialImport.java:77
abstract String getModelId(RealmModel realm, KeycloakSession session, T resourceRep)
PartialImportResult overwritten(String modelId, T resourceRep)
Definition: AbstractPartialImport.java:73
abstract void create(RealmModel realm, KeycloakSession session, T resourceRep)
PartialImportResult added(String modelId, T resourceRep)
Definition: AbstractPartialImport.java:81
abstract List< T > getRepList(PartialImportRepresentation partialImportRep)
final Set< T > toOverwrite
Definition: AbstractPartialImport.java:38

◆ exists() [1/2]

abstract boolean org.keycloak.partialimport.AbstractPartialImport< T >.exists ( RealmModel  realm,
KeycloakSession  session,
resourceRep 
)
abstractinherited

◆ exists() [2/2]

boolean org.keycloak.partialimport.RealmRolesPartialImport.exists ( RealmModel  realm,
KeycloakSession  session,
RoleRepresentation  roleRep 
)
inline
67  {
68  for (RoleModel role : realm.getRoles()) {
69  if (getName(roleRep).equals(role.getName())) return true;
70  }
71 
72  return false;
73  }
String getName(RoleRepresentation roleRep)
Definition: RealmRolesPartialImport.java:51

◆ existsError()

ErrorResponseException org.keycloak.partialimport.AbstractPartialImport< T >.existsError ( String  message)
inlineprotectedinherited
68  {
69  Response error = ErrorResponse.exists(message);
70  return new ErrorResponseException(error);
71  }

◆ existsMessage() [1/2]

abstract String org.keycloak.partialimport.AbstractPartialImport< T >.existsMessage ( RealmModel  realm,
resourceRep 
)
abstractinherited

◆ existsMessage() [2/2]

String org.keycloak.partialimport.RealmRolesPartialImport.existsMessage ( RealmModel  realm,
RoleRepresentation  roleRep 
)
inline
76  {
77  return "Realm role '" + getName(roleRep) + "' already exists.";
78  }
String getName(RoleRepresentation roleRep)
Definition: RealmRolesPartialImport.java:51

◆ getModelId() [1/2]

abstract String org.keycloak.partialimport.AbstractPartialImport< T >.getModelId ( RealmModel  realm,
KeycloakSession  session,
resourceRep 
)
abstractinherited

◆ getModelId() [2/2]

String org.keycloak.partialimport.RealmRolesPartialImport.getModelId ( RealmModel  realm,
KeycloakSession  session,
RoleRepresentation  roleRep 
)
inline
58  {
59  for (RoleModel role : realm.getRoles()) {
60  if (getName(roleRep).equals(role.getName())) return role.getId();
61  }
62 
63  return null;
64  }
String getName(RoleRepresentation roleRep)
Definition: RealmRolesPartialImport.java:51

◆ getName() [1/2]

abstract String org.keycloak.partialimport.AbstractPartialImport< T >.getName ( resourceRep)
abstractinherited

◆ getName() [2/2]

String org.keycloak.partialimport.RealmRolesPartialImport.getName ( RoleRepresentation  roleRep)
inline
51  {
52  if (roleRep.getName() == null)
53  throw new IllegalStateException("Realm role to import does not have a name");
54  return roleRep.getName();
55  }

◆ getRepList()

List<RoleRepresentation> org.keycloak.partialimport.RealmRolesPartialImport.getRepList ( PartialImportRepresentation  partialImportRep)
inline
45  {
46  if (partialImportRep.getRoles() == null) return null;
47  return partialImportRep.getRoles().getRealm();
48  }

◆ getResourceType()

ResourceType org.keycloak.partialimport.RealmRolesPartialImport.getResourceType ( )
inline
81  {
82  return ResourceType.REALM_ROLE;
83  }

◆ getToOverwrite()

Set<RoleRepresentation> org.keycloak.partialimport.RealmRolesPartialImport.getToOverwrite ( )
inline
36  {
37  return this.toOverwrite;
38  }
final Set< T > toOverwrite
Definition: AbstractPartialImport.java:38

◆ getToSkip()

Set<RoleRepresentation> org.keycloak.partialimport.RealmRolesPartialImport.getToSkip ( )
inline
40  {
41  return this.toSkip;
42  }
final Set< T > toSkip
Definition: AbstractPartialImport.java:39

◆ overwritten()

PartialImportResult org.keycloak.partialimport.AbstractPartialImport< T >.overwritten ( String  modelId,
resourceRep 
)
inlineprotectedinherited
73  {
74  return PartialImportResult.overwritten(getResourceType(), getName(resourceRep), modelId, resourceRep);
75  }

◆ prepare()

void org.keycloak.partialimport.AbstractPartialImport< T >.prepare ( PartialImportRepresentation  partialImportRep,
RealmModel  realm,
KeycloakSession  session 
) throws ErrorResponseException
inlineinherited
53  {
54  List<T> repList = getRepList(partialImportRep);
55  if ((repList == null) || repList.isEmpty()) return;
56 
57  for (T resourceRep : getRepList(partialImportRep)) {
58  if (exists(realm, session, resourceRep)) {
59  switch (partialImportRep.getPolicy()) {
60  case SKIP: toSkip.add(resourceRep); break;
61  case OVERWRITE: toOverwrite.add(resourceRep); break;
62  default: throw existsError(existsMessage(realm, resourceRep));
63  }
64  }
65  }
66  }
final Set< T > toSkip
Definition: AbstractPartialImport.java:39
abstract String existsMessage(RealmModel realm, T resourceRep)
ErrorResponseException existsError(String message)
Definition: AbstractPartialImport.java:68
abstract List< T > getRepList(PartialImportRepresentation partialImportRep)
final Set< T > toOverwrite
Definition: AbstractPartialImport.java:38
abstract boolean exists(RealmModel realm, KeycloakSession session, T resourceRep)

◆ remove() [1/2]

abstract void org.keycloak.partialimport.AbstractPartialImport< T >.remove ( RealmModel  realm,
KeycloakSession  session,
resourceRep 
)
abstractinherited

◆ remove() [2/2]

void org.keycloak.partialimport.RealmRolesPartialImport.remove ( RealmModel  realm,
KeycloakSession  session,
RoleRepresentation  roleRep 
)
inline
86  {
87  RoleModel role = realm.getRole(getName(roleRep));
88  RoleHelper helper = new RoleHelper(realm);
89  helper.deleteRole(role);
90  }
String getName(RoleRepresentation roleRep)
Definition: RealmRolesPartialImport.java:51

◆ removeOverwrites()

void org.keycloak.partialimport.AbstractPartialImport< T >.removeOverwrites ( RealmModel  realm,
KeycloakSession  session 
)
inlineinherited
86  {
87  for (T resourceRep : toOverwrite) {
88  remove(realm, session, resourceRep);
89  }
90  }
final Set< T > toOverwrite
Definition: AbstractPartialImport.java:38

◆ skipped()

PartialImportResult org.keycloak.partialimport.AbstractPartialImport< T >.skipped ( String  modelId,
resourceRep 
)
inlineprotectedinherited
77  {
78  return PartialImportResult.skipped(getResourceType(), getName(resourceRep), modelId, resourceRep);
79  }

メンバ詳解

◆ toOverwrite

final Set<T> org.keycloak.partialimport.AbstractPartialImport< T >.toOverwrite
protectedinherited

◆ toSkip

final Set<T> org.keycloak.partialimport.AbstractPartialImport< T >.toSkip
protectedinherited

このクラス詳解は次のファイルから抽出されました: