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

公開メンバ関数

List< GroupRepresentation > getRepList (PartialImportRepresentation partialImportRep)
 
String getName (GroupRepresentation group)
 
String getModelId (RealmModel realm, KeycloakSession session, GroupRepresentation groupRep)
 
boolean exists (RealmModel realm, KeycloakSession session, GroupRepresentation groupRep)
 
String existsMessage (RealmModel realm, GroupRepresentation groupRep)
 
ResourceType getResourceType ()
 
void remove (RealmModel realm, KeycloakSession session, GroupRepresentation groupRep)
 
void create (RealmModel realm, KeycloakSession session, GroupRepresentation groupRep)
 
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
 

非公開メンバ関数

GroupModel findGroupModel (RealmModel realm, GroupRepresentation groupRep)
 

詳解

Partial import handler for Groups.

著者
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.GroupsPartialImport.create ( RealmModel  realm,
KeycloakSession  session,
GroupRepresentation  groupRep 
)
inline
78  {
79  RepresentationToModel.importGroup(realm, null, groupRep);
80  }

◆ 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.GroupsPartialImport.exists ( RealmModel  realm,
KeycloakSession  session,
GroupRepresentation  groupRep 
)
inline
57  {
58  return findGroupModel(realm, groupRep) != null;
59  }
GroupModel findGroupModel(RealmModel realm, GroupRepresentation groupRep)
Definition: GroupsPartialImport.java:47

◆ 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.GroupsPartialImport.existsMessage ( RealmModel  realm,
GroupRepresentation  groupRep 
)
inline
62  {
63  return "Group '" + groupRep.getPath() + "' already exists";
64  }

◆ findGroupModel()

GroupModel org.keycloak.partialimport.GroupsPartialImport.findGroupModel ( RealmModel  realm,
GroupRepresentation  groupRep 
)
inlineprivate
47  {
48  return KeycloakModelUtils.findGroupByPath(realm, groupRep.getPath());
49  }

◆ getModelId() [1/2]

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

◆ getModelId() [2/2]

String org.keycloak.partialimport.GroupsPartialImport.getModelId ( RealmModel  realm,
KeycloakSession  session,
GroupRepresentation  groupRep 
)
inline
52  {
53  return findGroupModel(realm, groupRep).getId();
54  }
GroupModel findGroupModel(RealmModel realm, GroupRepresentation groupRep)
Definition: GroupsPartialImport.java:47

◆ getName() [1/2]

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

◆ getName() [2/2]

String org.keycloak.partialimport.GroupsPartialImport.getName ( GroupRepresentation  group)
inline
43  {
44  return group.getName();
45  }

◆ getRepList()

List<GroupRepresentation> org.keycloak.partialimport.GroupsPartialImport.getRepList ( PartialImportRepresentation  partialImportRep)
inline
38  {
39  return partialImportRep.getGroups();
40  }

◆ getResourceType()

ResourceType org.keycloak.partialimport.GroupsPartialImport.getResourceType ( )
inline
67  {
68  return ResourceType.GROUP;
69  }

◆ 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.GroupsPartialImport.remove ( RealmModel  realm,
KeycloakSession  session,
GroupRepresentation  groupRep 
)
inline
72  {
73  GroupModel group = realm.getGroupById(getModelId(realm, session, groupRep));
74  realm.removeGroup(group);
75  }
String getModelId(RealmModel realm, KeycloakSession session, GroupRepresentation groupRep)
Definition: GroupsPartialImport.java:52

◆ 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

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