1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console;
20
21 import java.util.List;
22 import org.apache.syncope.client.console.commons.AccessPolicyConfProvider;
23 import org.apache.syncope.client.console.commons.AnyDirectoryPanelAdditionalActionLinksProvider;
24 import org.apache.syncope.client.console.commons.AnyDirectoryPanelAdditionalActionsProvider;
25 import org.apache.syncope.client.console.commons.AnyWizardBuilderAdditionalSteps;
26 import org.apache.syncope.client.console.commons.ExternalResourceProvider;
27 import org.apache.syncope.client.console.commons.IdRepoAccessPolicyConfProvider;
28 import org.apache.syncope.client.console.commons.IdRepoAnyDirectoryPanelAdditionalActionLinksProvider;
29 import org.apache.syncope.client.console.commons.IdRepoAnyDirectoryPanelAdditionalActionsProvider;
30 import org.apache.syncope.client.console.commons.IdRepoAnyWizardBuilderAdditionalSteps;
31 import org.apache.syncope.client.console.commons.IdRepoExternalResourceProvider;
32 import org.apache.syncope.client.console.commons.IdRepoImplementationInfoProvider;
33 import org.apache.syncope.client.console.commons.IdRepoPolicyTabProvider;
34 import org.apache.syncope.client.console.commons.IdRepoRealmPolicyProvider;
35 import org.apache.syncope.client.console.commons.IdRepoStatusProvider;
36 import org.apache.syncope.client.console.commons.IdRepoVirSchemaDetailsPanelProvider;
37 import org.apache.syncope.client.console.commons.ImplementationInfoProvider;
38 import org.apache.syncope.client.console.commons.PolicyTabProvider;
39 import org.apache.syncope.client.console.commons.PreviewUtils;
40 import org.apache.syncope.client.console.commons.RealmPolicyProvider;
41 import org.apache.syncope.client.console.commons.StatusProvider;
42 import org.apache.syncope.client.console.commons.VirSchemaDetailsPanelProvider;
43 import org.apache.syncope.client.console.init.ClassPathScanImplementationContributor;
44 import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
45 import org.apache.syncope.client.console.rest.AccessTokenRestClient;
46 import org.apache.syncope.client.console.rest.AnyObjectRestClient;
47 import org.apache.syncope.client.console.rest.AnyTypeClassRestClient;
48 import org.apache.syncope.client.console.rest.AnyTypeRestClient;
49 import org.apache.syncope.client.console.rest.ApplicationRestClient;
50 import org.apache.syncope.client.console.rest.AuditRestClient;
51 import org.apache.syncope.client.console.rest.CommandRestClient;
52 import org.apache.syncope.client.console.rest.DelegationRestClient;
53 import org.apache.syncope.client.console.rest.DynRealmRestClient;
54 import org.apache.syncope.client.console.rest.FIQLQueryRestClient;
55 import org.apache.syncope.client.console.rest.GroupRestClient;
56 import org.apache.syncope.client.console.rest.ImplementationRestClient;
57 import org.apache.syncope.client.console.rest.LoggerConf;
58 import org.apache.syncope.client.console.rest.NotificationRestClient;
59 import org.apache.syncope.client.console.rest.PolicyRestClient;
60 import org.apache.syncope.client.console.rest.RealmRestClient;
61 import org.apache.syncope.client.console.rest.RelationshipTypeRestClient;
62 import org.apache.syncope.client.console.rest.ReportRestClient;
63 import org.apache.syncope.client.console.rest.RoleRestClient;
64 import org.apache.syncope.client.console.rest.SchemaRestClient;
65 import org.apache.syncope.client.console.rest.SecurityQuestionRestClient;
66 import org.apache.syncope.client.console.rest.SyncopeRestClient;
67 import org.apache.syncope.client.console.rest.TaskRestClient;
68 import org.apache.syncope.client.console.rest.UserRestClient;
69 import org.apache.syncope.client.console.rest.UserSelfRestClient;
70 import org.apache.syncope.client.ui.commons.MIMETypesLoader;
71 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
72 import org.springframework.context.annotation.Bean;
73 import org.springframework.context.annotation.Configuration;
74
75 @Configuration(proxyBeanMethods = false)
76 public class IdRepoConsoleContext {
77
78 @ConditionalOnMissingBean
79 @Bean
80 public ClassPathScanImplementationLookup classPathScanImplementationLookup(
81 final ConsoleProperties props,
82 final List<ClassPathScanImplementationContributor> classPathScanImplementationContributors) {
83
84 ClassPathScanImplementationLookup lookup =
85 new ClassPathScanImplementationLookup(classPathScanImplementationContributors, props);
86 lookup.load();
87 return lookup;
88 }
89
90 @ConditionalOnMissingBean
91 @Bean
92 public MIMETypesLoader mimeTypesLoader() {
93 MIMETypesLoader mimeTypesLoader = new MIMETypesLoader();
94 mimeTypesLoader.load();
95 return mimeTypesLoader;
96 }
97
98 @ConditionalOnMissingBean
99 @Bean
100 public PreviewUtils previewUtils(final ClassPathScanImplementationLookup lookup) {
101 return new PreviewUtils(lookup);
102 }
103
104 @ConditionalOnMissingBean
105 @Bean
106 public ExternalResourceProvider resourceProvider() {
107 return new IdRepoExternalResourceProvider();
108 }
109
110 @ConditionalOnMissingBean
111 @Bean
112 public AnyDirectoryPanelAdditionalActionsProvider anyDirectoryPanelAdditionalActionsProvider() {
113 return new IdRepoAnyDirectoryPanelAdditionalActionsProvider();
114 }
115
116 @ConditionalOnMissingBean
117 @Bean
118 public AnyDirectoryPanelAdditionalActionLinksProvider anyDirectoryPanelAdditionalActionLinksProvider() {
119 return new IdRepoAnyDirectoryPanelAdditionalActionLinksProvider();
120 }
121
122 @ConditionalOnMissingBean
123 @Bean
124 public AnyWizardBuilderAdditionalSteps anyWizardBuilderAdditionalSteps() {
125 return new IdRepoAnyWizardBuilderAdditionalSteps();
126 }
127
128 @ConditionalOnMissingBean
129 @Bean
130 public StatusProvider statusProvider() {
131 return new IdRepoStatusProvider();
132 }
133
134 @ConditionalOnMissingBean
135 @Bean
136 public VirSchemaDetailsPanelProvider virSchemaDetailsPanelProvider() {
137 return new IdRepoVirSchemaDetailsPanelProvider();
138 }
139
140 @ConditionalOnMissingBean
141 @Bean
142 public ImplementationInfoProvider implementationInfoProvider(
143 final ClassPathScanImplementationLookup lookup,
144 final ImplementationRestClient implementationRestClient) {
145
146 return new IdRepoImplementationInfoProvider(lookup, implementationRestClient);
147 }
148
149 @ConditionalOnMissingBean
150 @Bean
151 public RealmPolicyProvider realmPolicyProvider(final PolicyRestClient policyRestClient) {
152 return new IdRepoRealmPolicyProvider(policyRestClient);
153 }
154
155 @Bean
156 public PolicyTabProvider idRepoPolicyTabProvider(final PolicyRestClient policyRestClient) {
157 return new IdRepoPolicyTabProvider(policyRestClient);
158 }
159
160 @ConditionalOnMissingBean
161 @Bean
162 public AccessPolicyConfProvider accessPolicyConfProvider() {
163 return new IdRepoAccessPolicyConfProvider();
164 }
165
166 @ConditionalOnMissingBean
167 @Bean
168 public AccessTokenRestClient accessTokenRestClient() {
169 return new AccessTokenRestClient();
170 }
171
172 @ConditionalOnMissingBean
173 @Bean
174 public AnyObjectRestClient anyObjectRestClient() {
175 return new AnyObjectRestClient();
176 }
177
178 @ConditionalOnMissingBean
179 @Bean
180 public AnyTypeClassRestClient anyTypeClassRestClient() {
181 return new AnyTypeClassRestClient();
182 }
183
184 @ConditionalOnMissingBean
185 @Bean
186 public AnyTypeRestClient anyTypeRestClient() {
187 return new AnyTypeRestClient();
188 }
189
190 @ConditionalOnMissingBean
191 @Bean
192 public ApplicationRestClient applicationRestClient() {
193 return new ApplicationRestClient();
194 }
195
196 @ConditionalOnMissingBean
197 @Bean
198 public AuditRestClient auditRestClient() {
199 return new AuditRestClient();
200 }
201
202 @ConditionalOnMissingBean
203 @Bean
204 public CommandRestClient commandRestClient() {
205 return new CommandRestClient();
206 }
207
208 @ConditionalOnMissingBean
209 @Bean
210 public DelegationRestClient delegationRestClient() {
211 return new DelegationRestClient();
212 }
213
214 @ConditionalOnMissingBean
215 @Bean
216 public DynRealmRestClient dynRealmRestClient() {
217 return new DynRealmRestClient();
218 }
219
220 @ConditionalOnMissingBean
221 @Bean
222 public FIQLQueryRestClient fiqlQueryRestClient() {
223 return new FIQLQueryRestClient();
224 }
225
226 @ConditionalOnMissingBean
227 @Bean
228 public GroupRestClient groupRestClient() {
229 return new GroupRestClient();
230 }
231
232 @ConditionalOnMissingBean
233 @Bean
234 public ImplementationRestClient implementationRestClient() {
235 return new ImplementationRestClient();
236 }
237
238 @ConditionalOnMissingBean
239 @Bean
240 public LoggerConf loggerConf() {
241 return new LoggerConf();
242 }
243
244 @ConditionalOnMissingBean
245 @Bean
246 public NotificationRestClient notificationRestClient() {
247 return new NotificationRestClient();
248 }
249
250 @ConditionalOnMissingBean
251 @Bean
252 public PolicyRestClient policyRestClient() {
253 return new PolicyRestClient();
254 }
255
256 @ConditionalOnMissingBean
257 @Bean
258 public RealmRestClient realmRestClient() {
259 return new RealmRestClient();
260 }
261
262 @ConditionalOnMissingBean
263 @Bean
264 public RelationshipTypeRestClient relationshipTypeRestClient() {
265 return new RelationshipTypeRestClient();
266 }
267
268 @ConditionalOnMissingBean
269 @Bean
270 public ReportRestClient reportRestClient() {
271 return new ReportRestClient();
272 }
273
274 @ConditionalOnMissingBean
275 @Bean
276 public RoleRestClient roleRestClient() {
277 return new RoleRestClient();
278 }
279
280 @ConditionalOnMissingBean
281 @Bean
282 public SchemaRestClient schemaRestClient() {
283 return new SchemaRestClient();
284 }
285
286 @ConditionalOnMissingBean
287 @Bean
288 public SecurityQuestionRestClient securityQuestionRestClient() {
289 return new SecurityQuestionRestClient();
290 }
291
292 @ConditionalOnMissingBean
293 @Bean
294 public SyncopeRestClient syncopeRestClient() {
295 return new SyncopeRestClient();
296 }
297
298 @ConditionalOnMissingBean
299 @Bean
300 public TaskRestClient taskRestClient() {
301 return new TaskRestClient();
302 }
303
304 @ConditionalOnMissingBean
305 @Bean
306 public UserRestClient userRestClient() {
307 return new UserRestClient();
308 }
309
310 @ConditionalOnMissingBean
311 @Bean
312 public UserSelfRestClient userSelfRestClient() {
313 return new UserSelfRestClient();
314 }
315 }