keycloak-service
公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
org.keycloak.partialimport.AbstractPartialImport< T > クラステンプレートabstract
org.keycloak.partialimport.AbstractPartialImport< T > の継承関係図
Inheritance graph
org.keycloak.partialimport.AbstractPartialImport< T > 連携図
Collaboration graph

公開メンバ関数

abstract List< T > getRepList (PartialImportRepresentation partialImportRep)
 
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 ResourceType getResourceType ()
 
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 = new HashSet<>()
 
final Set< T > toSkip = new HashSet<>()
 

詳解

Base PartialImport for most resource types.

著者
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 
)
inlineprotected
81  {
82  return PartialImportResult.added(getResourceType(), getName(resourceRep), modelId, resourceRep);
83  }
abstract String getName(T resourceRep)

◆ create()

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

◆ doImport()

PartialImportResults org.keycloak.partialimport.AbstractPartialImport< T >.doImport ( PartialImportRepresentation  partialImportRep,
RealmModel  realm,
KeycloakSession  session 
) throws ErrorResponseException
inline

org.keycloak.partialimport.PartialImport< T >を実装しています。

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
abstract String getName(T resourceRep)
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()

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

◆ existsError()

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

◆ existsMessage()

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

◆ getModelId()

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

◆ getName()

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

◆ getRepList()

abstract List<T> org.keycloak.partialimport.AbstractPartialImport< T >.getRepList ( PartialImportRepresentation  partialImportRep)
abstract

◆ getResourceType()

abstract ResourceType org.keycloak.partialimport.AbstractPartialImport< T >.getResourceType ( )
abstract

◆ overwritten()

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

◆ prepare()

void org.keycloak.partialimport.AbstractPartialImport< T >.prepare ( PartialImportRepresentation  partialImportRep,
RealmModel  realm,
KeycloakSession  session 
) throws ErrorResponseException
inline

org.keycloak.partialimport.PartialImport< T >を実装しています。

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

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

◆ removeOverwrites()

void org.keycloak.partialimport.AbstractPartialImport< T >.removeOverwrites ( RealmModel  realm,
KeycloakSession  session 
)
inline

org.keycloak.partialimport.PartialImport< T >を実装しています。

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 
)
inlineprotected
77  {
78  return PartialImportResult.skipped(getResourceType(), getName(resourceRep), modelId, resourceRep);
79  }
abstract String getName(T resourceRep)

メンバ詳解

◆ toOverwrite

final Set<T> org.keycloak.partialimport.AbstractPartialImport< T >.toOverwrite = new HashSet<>()
protected

◆ toSkip

final Set<T> org.keycloak.partialimport.AbstractPartialImport< T >.toSkip = new HashSet<>()
protected

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