109 info.setComponentTypes(
new HashMap<>());
110 LinkedHashMap<String, SpiInfoRepresentation> spiReps =
new LinkedHashMap<>();
113 Collections.sort(spis,
new Comparator<Spi>() {
115 public int compare(Spi s1, Spi s2) {
116 return s1.getName().compareTo(s2.getName());
120 for (Spi spi : spis) {
121 SpiInfoRepresentation spiRep =
new SpiInfoRepresentation();
122 spiRep.setInternal(spi.isInternal());
125 Collections.sort(providerIds);
127 Map<String, ProviderRepresentation> providers =
new HashMap<>();
129 if (providerIds != null) {
130 for (String name : providerIds) {
131 ProviderRepresentation provider =
new ProviderRepresentation();
133 provider.setOrder(pi.order());
134 if (ServerInfoAwareProviderFactory.class.isAssignableFrom(pi.getClass())) {
135 provider.setOperationalInfo(((ServerInfoAwareProviderFactory) pi).getOperationalInfo());
137 if (pi instanceof ConfiguredProvider) {
138 ComponentTypeRepresentation rep =
new ComponentTypeRepresentation();
139 rep.setId(pi.getId());
140 ConfiguredProvider configured = (ConfiguredProvider)pi;
141 rep.setHelpText(configured.getHelpText());
142 List<ProviderConfigProperty> configProperties = configured.getConfigProperties();
143 if (configProperties == null) configProperties = Collections.EMPTY_LIST;
144 rep.setProperties(ModelToRepresentation.toRepresentation(configProperties));
145 if (pi instanceof ComponentFactory) {
146 rep.setMetadata(((ComponentFactory)pi).getTypeMetadata());
148 List<ComponentTypeRepresentation> reps = info.getComponentTypes().get(spi.getProviderClass().getName());
150 reps =
new LinkedList<>();
151 info.getComponentTypes().put(spi.getProviderClass().getName(), reps);
155 providers.put(name, provider);
158 spiRep.setProviders(providers);
160 spiReps.put(spi.getName(), spiRep);
162 info.setProviders(spiReps);
KeycloakSessionFactory getKeycloakSessionFactory()
KeycloakSession session
Definition: ServerInfoAdminResource.java:81
< T extends Provider > Set< String > listProviderIds(Class< T > clazz)
< T extends Provider > ProviderFactory< T > getProviderFactory(Class< T > clazz)