keycloak-aplcache
Changes
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterDeploymentContext.java 2(+1 -1)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProvider.java 4(+2 -2)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProviderUtils.java 12(+6 -6)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientIdAndSecretCredentialsProvider.java 4(+2 -2)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/JWTClientCredentialsProvider.java 5(+5 -0)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/BearerTokenPolicyEnforcer.java 1(+0 -1)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/KeycloakAdapterPolicyEnforcer.java 2(+0 -2)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PolicyEnforcer.java 3(+0 -3)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java 2(+1 -1)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java 1(+0 -1)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/AbstractKeycloakLoginModule.java 39(+18 -21)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/DirectAccessGrantsLoginModule.java 29(+14 -15)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/NodesRegistrationManagement.java 8(+4 -4)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java 5(+2 -3)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/RefreshableKeycloakSecurityContext.java 1(+0 -1)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/AdapterRSATokenVerifier.java 4(+2 -2)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/HardcodedPublicKeyLocator.java 4(+2 -2)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/JWKPublicKeyLocator.java 8(+4 -4)
adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/PublicKeyLocator.java 4(+2 -2)
adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/KeycloakDeploymentBuilderTest.java 2(+1 -1)
adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/RefreshableKeycloakSecurityContextTest.java 4(+2 -2)
adapters/oidc/as7-eap6/as7-adapter/src/main/java/org/keycloak/adapters/jbossweb/KeycloakAuthenticatorValve.java 4(+0 -4)
adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java 6(+3 -3)
adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakSubsystemAdd.java 1(+0 -1)
adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/RealmWriteAttributeHandler.java 2(+0 -2)
adapters/oidc/installed/src/main/java/org/keycloak/adapters/installed/KeycloakInstalled.java 5(+2 -3)
adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsBearerTokenFilterImpl.java 5(+2 -3)
adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/OsgiJaxrsBearerTokenFilterImpl.java 15(+7 -8)
adapters/oidc/jetty/jetty8.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java 2(+1 -1)
adapters/oidc/jetty/jetty9.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java 2(+1 -1)
adapters/oidc/jetty/jetty9.2/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java 2(+1 -1)
adapters/oidc/jetty/jetty9.3/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java 3(+1 -2)
adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/AbstractKeycloakJettyAuthenticator.java 13(+5 -8)
adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyCookieTokenStore.java 2(+1 -1)
adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyRequestAuthenticator.java 2(+1 -1)
adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettySessionTokenStore.java 2(+1 -1)
adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PathBasedKeycloakConfigResolver.java 10(+5 -5)
adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PaxWebIntegrationService.java 10(+5 -5)
adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/ServletReregistrationService.java 17(+8 -9)
adapters/oidc/servlet-filter/src/main/java/org/keycloak/adapters/servlet/KeycloakOIDCFilter.java 7(+3 -4)
adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/KeycloakDeploymentDelegateOAuthClient.java 4(+2 -2)
adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClient.java 2(+1 -1)
adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClientBuilder.java 1(+1 -0)
adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBean.java 10(+4 -6)
adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticator.java 4(+2 -2)
adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactory.java 1(+0 -1)
adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilter.java 4(+2 -2)
adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakPreAuthActionsFilter.java 2(+1 -1)
adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/token/KeycloakAuthenticationToken.java 2(+1 -1)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBeanTest.java 6(+2 -4)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/HttpHeaderInspectingApiRequestMatcherTest.java 3(+2 -1)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationEntryPointTest.java 3(+2 -1)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationProviderTest.java 9(+6 -3)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakLogoutHandlerTest.java 7(+6 -1)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticatorTest.java 12(+9 -3)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactoryTest.java 7(+5 -2)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletRequestTest.java 4(+3 -1)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletResponseTest.java 9(+7 -2)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilterTest.java 12(+10 -2)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakCsrfRequestMatcherTest.java 3(+2 -1)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityAdapterTokenStoreFactoryTest.java 5(+3 -2)
adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityTokenStoreTest.java 4(+3 -1)
adapters/oidc/tomcat/tomcat6/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java 2(+0 -2)
adapters/oidc/tomcat/tomcat7/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java 2(+0 -2)
adapters/oidc/tomcat/tomcat8/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java 5(+0 -5)
adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java 10(+5 -5)
adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaCookieTokenStore.java 8(+4 -4)
adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java 3(+1 -2)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowKeycloakAuthMech.java 6(+3 -3)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java 3(+1 -2)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletKeycloakAuthMech.java 2(+1 -1)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletRequestAuthenticator.java 2(+1 -1)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletSessionTokenStore.java 6(+3 -3)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowCookieTokenStore.java 2(+1 -1)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowNodesRegistrationManagementWrapper.java 4(+2 -2)
adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowRequestAuthenticator.java 2(+1 -1)
adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java 6(+3 -3)
adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakExtension.java 1(+0 -1)
adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakSubsystemAdd.java 3(+1 -2)
adapters/oidc/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/wildfly/WildflyRequestAuthenticator.java 2(+1 -1)
adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java 6(+3 -3)
adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakSubsystemAdd.java 3(+1 -2)
adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/KeycloakSamlExtension.java 1(+0 -1)
adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/xml/FormattingXMLStreamWriter.java 7(+3 -4)
adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/DeploymentBuilder.java 2(+1 -1)
adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/SPXmlParser.java 19(+9 -10)
adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/SamlInvocationContext.java 4(+0 -4)
adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java 2(+1 -1)
adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java 3(+1 -2)
adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java 2(+1 -1)
adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java 3(+1 -2)
adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java 2(+1 -1)
adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java 2(+1 -1)
adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java 3(+1 -2)
adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java 3(+1 -2)
adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/AbstractSamlAuthenticator.java 20(+10 -10)
adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/JettySamlSessionStore.java 7(+3 -4)
adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/FilterSamlSessionStore.java 7(+3 -4)
adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/SamlFilter.java 35(+17 -18)
adapters/saml/tomcat/tomcat8/src/main/java/org/keycloak/adapters/saml/tomcat/SamlAuthenticatorValve.java 1(+0 -1)
adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/AbstractSamlAuthenticatorValve.java 4(+2 -2)
adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlEndpoint.java 1(+0 -1)
adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/AbstractSamlAuthMech.java 17(+8 -9)
adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlAuthMech.java 6(+3 -3)
adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlSessionStore.java 4(+2 -2)
adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlAuthenticator.java 7(+3 -4)
adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlEndpoint.java 1(+0 -1)
adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlAuthMech.java 2(+1 -1)
adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlSessionStore.java 2(+1 -1)
adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSamlExtension.java 1(+0 -1)
adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSubsystemParser.java 2(+0 -2)
adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/SecureDeploymentDefinition.java 9(+3 -6)
adapters/spi/tomcat-adapter-spi/src/main/java/org/keycloak/adapters/tomcat/CatalinaUserSessionManagementWrapper.java 4(+2 -2)
adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ChangeSessionId.java 2(+0 -2)
adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ServletHttpFacade.java 2(+0 -2)
adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/SessionManagementBridge.java 2(+0 -2)
authz/client/src/main/java/org/keycloak/authorization/client/AuthorizationDeniedException.java 2(+0 -2)
authz/client/src/main/java/org/keycloak/authorization/client/representation/PermissionRequest.java 2(+0 -2)
authz/client/src/main/java/org/keycloak/authorization/client/resource/AuthorizationResource.java 2(+0 -2)
authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java 1(+0 -1)
authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/time/TimePolicyProvider.java 2(+0 -2)
core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java 1(+0 -1)
examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java 2(+0 -2)
examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java 3(+0 -3)
examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java 1(+0 -1)
examples/demo-template/admin-access-app/src/main/java/org/keycloak/example/AdminClient.java 4(+2 -2)
examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java 1(+0 -1)
examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineAccessPortalServlet.java 31(+15 -16)
examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineExampleUris.java 2(+1 -1)
examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/RefreshTokenDAO.java 4(+2 -2)
examples/demo-template/service-account/src/main/java/org/keycloak/example/ProductServiceAccountServlet.java 32(+15 -17)
examples/demo-template/third-party/src/main/java/org/keycloak/example/oauth/ProductDatabaseClient.java 2(+1 -1)
examples/fuse/product-app-fuse/src/main/java/org/keycloak/example/ProductPortalServlet.java 27(+13 -14)
examples/multi-tenant/src/main/java/org/keycloak/example/multitenant/control/PathBasedKeycloakConfigResolver.java 8(+4 -4)
examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionCredentialProvider.java 1(+0 -1)
examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionRequiredAction.java 1(+0 -1)
examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/jpa/ExampleJpaEntityProvider.java 4(+2 -2)
examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/CompanyResource.java 11(+5 -6)
examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/ExampleRestResource.java 9(+4 -5)
examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/ExampleService.java 4(+2 -2)
examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/impl/ExampleServiceImpl.java 11(+5 -6)
examples/providers/event-listener-sysout/src/main/java/org/keycloak/examples/providers/events/SysoutEventListenerProvider.java 4(+2 -2)
examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemAdminEventQuery.java 10(+5 -5)
examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemEventStoreProvider.java 6(+3 -3)
examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ClasspathPropertiesFederationProvider.java 1(+0 -1)
examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/FilePropertiesFederationProvider.java 1(+0 -1)
examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ReadonlyUserModelProxy.java 2(+0 -2)
examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/WritableUserModelProxy.java 2(+0 -2)
examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProviderFactory.java 5(+0 -5)
examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/UserAdapter.java 1(+0 -1)
federation/kerberos/src/main/java/org/keycloak/federation/kerberos/CommonKerberosConfig.java 6(+3 -3)
federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosServerSubjectAuthenticator.java 9(+4 -5)
federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosUsernamePasswordAuthenticator.java 14(+5 -9)
federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/SPNEGOAuthenticator.java 24(+11 -13)
federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java 19(+8 -11)
federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java 8(+4 -4)
federation/kerberos/src/main/java/org/keycloak/federation/kerberos/ReadOnlyKerberosUserModelDelegate.java 2(+0 -2)
federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/BetweenCondition.java 4(+2 -2)
federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/EqualCondition.java 4(+2 -2)
federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/GreaterThanCondition.java 5(+2 -3)
federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LDAPQuery.java 17(+8 -9)
federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LessThanCondition.java 5(+2 -3)
federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPIdentityStore.java 41(+20 -21)
federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPOperationManager.java 33(+16 -17)
federation/ldap/src/main/java/org/keycloak/federation/ldap/kerberos/LDAPProviderKerberosConfig.java 2(+1 -1)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/AbstractLDAPFederationMapper.java 11(+5 -6)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapper.java 6(+3 -3)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapperFactory.java 10(+5 -5)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapper.java 4(+2 -2)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapperFactory.java 10(+5 -5)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapper.java 6(+3 -3)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapperBridge.java 7(+3 -4)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPMappersComparator.java 8(+4 -4)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/CommonLDAPGroupMapperConfig.java 6(+3 -3)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java 18(+9 -9)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapperFactory.java 14(+7 -7)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupMapperConfig.java 6(+3 -3)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/MembershipType.java 14(+7 -7)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java 12(+6 -6)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapperFactory.java 15(+7 -8)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleMapperConfig.java 4(+2 -2)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/UserRolesRetrieveStrategy.java 10(+5 -5)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapper.java 14(+6 -8)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapperFactory.java 10(+5 -5)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapper.java 20(+10 -10)
federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapperFactory.java 10(+5 -5)
federation/ldap/src/main/java/org/keycloak/federation/ldap/ReadonlyLDAPUserModelDelegate.java 1(+0 -1)
federation/ldap/src/main/java/org/keycloak/federation/ldap/WritableLDAPUserModelDelegate.java 2(+0 -2)
federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/GroupTreeResolverTest.java 6(+3 -3)
federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/LDAPMappersComparatorTest.java 12(+6 -6)
federation/sssd/src/main/java/org/keycloak/federation/sssd/ReadonlySSSDUserModelDelegate.java 2(+0 -2)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientAttributeCertificateResource.java 9(+5 -4)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientInitialAccessResource.java 11(+7 -4)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientRegistrationTrustedHostResource.java 5(+2 -3)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplateResource.java 9(+0 -9)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplatesResource.java 1(+0 -1)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ComponentResource.java 3(+0 -3)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ProtocolMappersResource.java 5(+2 -3)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java 10(+9 -1)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopeResource.java 1(+0 -1)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopesResource.java 1(+0 -1)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProviderResource.java 13(+6 -7)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProvidersResource.java 7(+3 -4)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java 2(+1 -1)
integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java 9(+8 -1)
integration/client-registration/src/main/java/org/keycloak/client/registration/ClientRegistration.java 2(+1 -1)
integration/client-registration/src/main/java/org/keycloak/client/registration/HttpUtil.java 6(+5 -1)
integration/client-registration-cli/src/main/java/org/keycloak/client/registration/cli/commands/SetupCommand.java 4(+0 -4)
misc/logo/bg.svg 1(+0 -1)
misc/logo/bg_gray.svg 1(+0 -1)
misc/logo/keycloak_icon_128px.svg 2(+1 -1)
misc/logo/keycloak_icon_16px.svg 2(+1 -1)
misc/logo/keycloak_icon_256px.svg 2(+1 -1)
misc/logo/keycloak_icon_32px.svg 2(+1 -1)
misc/logo/keycloak_icon_48px.svg 2(+1 -1)
misc/logo/keycloak_icon_512px.svg 2(+1 -1)
misc/logo/keycloak_icon_64px.svg 2(+1 -1)
misc/logo/keycloak_logo_100px.svg 2(+1 -1)
misc/logo/keycloak_logo_200px.svg 2(+1 -1)
misc/logo/keycloak_logo_450px.svg 2(+1 -1)
misc/logo/keycloak_logo_600px.svg 2(+1 -1)
misc/logo/logo.svg 1(+0 -1)
model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProvider.java 7(+3 -4)
model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProviderFactory.java 21(+10 -11)
model/infinispan/src/main/java/org/keycloak/models/authorization/infinispan/InfinispanStoreProviderFactory.java 1(+0 -1)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientTemplateAdapter.java 1(+0 -1)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClient.java 3(+0 -3)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClientTemplate.java 3(+0 -3)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedFederatedIdentityLinks.java 6(+3 -3)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedGroup.java 1(+0 -1)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRealm.java 2(+1 -1)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRole.java 1(+0 -1)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUser.java 8(+1 -7)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUserConsent.java 6(+3 -3)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientQuery.java 2(+0 -2)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientTemplateQuery.java 2(+0 -2)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/GroupQuery.java 2(+0 -2)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleListQuery.java 3(+0 -3)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleQuery.java 2(+0 -2)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanCacheRealmProviderFactory.java 12(+12 -0)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanUserCacheProviderFactory.java 11(+11 -0)
model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java 15(+14 -1)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProvider.java 2(+1 -1)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProviderFactory.java 10(+7 -3)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanUserSessionInitializer.java 16(+8 -8)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InitializerState.java 6(+3 -3)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/OfflineUserSessionLoader.java 4(+2 -2)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionInitializerWorker.java 7(+3 -4)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionLoader.java 4(+2 -2)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/ClientSessionsOfUserSessionMapper.java 6(+3 -3)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/UserLoginFailureMapper.java 1(+0 -1)
model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/ClientRegistrationTrustedHostPredicate.java 6(+3 -3)
model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyLockingTest.java 6(+0 -6)
model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyVersioningTest.java 2(+0 -2)
model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/InitializerStateTest.java 4(+2 -2)
model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/OutdatedTopologyExceptionReproducerTest.java 12(+5 -7)
model/jpa/src/main/java/org/keycloak/connections/jpa/DefaultJpaConnectionProviderFactory.java 43(+18 -25)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/DefaultLiquibaseConnectionProvider.java 23(+11 -12)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/LiquibaseConnectionProvider.java 4(+2 -2)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/CustomKeycloakTask.java 10(+5 -5)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_Beta1.java 11(+6 -5)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_CR1.java 6(+3 -3)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_4_0_Final.java 6(+3 -3)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_9_0_Final.java 6(+3 -3)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomInsertLockRecordGenerator.java 7(+3 -4)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomLockService.java 4(+2 -2)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProvider.java 6(+3 -3)
model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProviderFactory.java 4(+2 -2)
model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentProtocolMapperEntity.java 3(+1 -2)
model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java 15(+7 -8)
model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProviderFactory.java 4(+2 -2)
model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialAttributeEntity.java 2(+0 -2)
model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserGroupMembershipEntity.java 2(+0 -2)
model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRequiredActionEntity.java 5(+0 -5)
model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRoleMappingEntity.java 2(+0 -2)
model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceServerEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java 59(+29 -30)
model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBListToSetMapper.java 6(+3 -3)
model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBObjectMapper.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/connections/mongo/lock/MongoDBLockProviderFactory.java 4(+2 -2)
model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_Beta1.java 6(+3 -3)
model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_4_0.java 6(+3 -3)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientTemplateAdapter.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java 9(+3 -6)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserSessionPersisterProvider.java 14(+7 -7)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/AbstractIdentifiableEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/AuthenticationExecutionEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/AuthenticationFlowEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/AuthenticatorConfigEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/ClientIdentityProviderMappingEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/ClientTemplateEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/CredentialEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/FederatedIdentityEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/IdentityProviderEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/IdentityProviderMapperEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java 1(+0 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientTemplateEntity.java 1(+0 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoGroupEntity.java 1(+0 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java 1(+0 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java 1(+0 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserSessionEntity.java 1(+0 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/PersistentClientSessionEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/PersistentUserSessionEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/ProtocolMapperEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/RequiredActionProviderEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/RequiredCredentialEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/UserConsentEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/UserFederationMapperEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/UserFederationProviderEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProvider.java 594(+594 -0)
model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProviderFactory.java 57(+57 -0)
model/mongo/src/main/resources/META-INF/services/org.keycloak.storage.federated.UserFederatedStorageProviderFactory 1(+1 -0)
saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/request/SAML2Request.java 14(+7 -7)
saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/response/SAML2Response.java 42(+21 -21)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntitiesDescriptorParser.java 4(+2 -2)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntityDescriptorParser.java 18(+9 -9)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11AssertionParser.java 14(+7 -7)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11RequestParser.java 8(+4 -4)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11ResponseParser.java 10(+5 -5)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11SubjectParser.java 8(+4 -4)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResolveParser.java 2(+1 -1)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResponseParser.java 10(+5 -5)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAssertionParser.java 14(+7 -7)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAttributeQueryParser.java 2(+1 -1)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAuthNRequestParser.java 10(+5 -5)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLConditionsParser.java 6(+3 -3)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLRequestAbstractParser.java 6(+3 -3)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLResponseParser.java 10(+5 -5)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloRequestParser.java 4(+2 -2)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloResponseParser.java 4(+2 -2)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLStatusResponseTypeParser.java 8(+4 -4)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSubjectParser.java 12(+6 -6)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAML11ParserUtil.java 22(+11 -11)
saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAMLParserUtil.java 29(+14 -15)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11AssertionWriter.java 12(+6 -6)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11RequestWriter.java 8(+4 -4)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11ResponseWriter.java 10(+5 -5)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/factories/JBossSAMLAuthnResponseFactory.java 18(+9 -9)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IDPInfoHolder.java 2(+1 -1)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IssuerInfoHolder.java 2(+1 -1)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/AssertionUtil.java 28(+14 -14)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SAMLMetadataUtil.java 6(+3 -3)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StaxWriterUtil.java 12(+6 -6)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLAssertionWriter.java 6(+3 -3)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLMetadataWriter.java 8(+4 -4)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLRequestWriter.java 8(+4 -4)
saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLResponseWriter.java 8(+4 -4)
saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingSignatureUtil.java 4(+2 -2)
server-spi/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java 6(+3 -3)
server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java 1(+0 -1)
server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java 1(+0 -1)
server-spi/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java 1(+0 -1)
server-spi/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java 6(+3 -3)
server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java 2(+0 -2)
services/src/main/java/org/keycloak/authentication/authenticators/broker/AbstractIdpAuthenticator.java 4(+2 -2)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticator.java 6(+3 -3)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticatorFactory.java 4(+2 -2)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticator.java 9(+4 -5)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticatorFactory.java 6(+3 -3)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticator.java 13(+6 -7)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticatorFactory.java 4(+2 -2)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticator.java 9(+4 -5)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticatorFactory.java 8(+4 -4)
services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpUsernamePasswordForm.java 8(+4 -4)
services/src/main/java/org/keycloak/authentication/authenticators/broker/util/ExistingUserInfo.java 4(+2 -2)
services/src/main/java/org/keycloak/authentication/authenticators/broker/util/SerializedBrokeredIdentityContext.java 12(+6 -6)
services/src/main/java/org/keycloak/authentication/authenticators/browser/AbstractUsernameFormAuthenticator.java 2(+1 -1)
services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java 4(+3 -1)
services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticatorFactory.java 13(+11 -2)
services/src/main/java/org/keycloak/authentication/authenticators/browser/CookieAuthenticator.java 5(+0 -5)
services/src/main/java/org/keycloak/authentication/authenticators/browser/OTPFormAuthenticator.java 4(+1 -3)
services/src/main/java/org/keycloak/authentication/authenticators/browser/SpnegoAuthenticator.java 2(+1 -1)
services/src/main/java/org/keycloak/authentication/authenticators/client/ClientAuthUtil.java 4(+2 -2)
services/src/main/java/org/keycloak/authentication/authenticators/client/ClientIdAndSecretAuthenticator.java 26(+12 -14)
services/src/main/java/org/keycloak/authentication/authenticators/client/JWTClientAuthenticator.java 29(+12 -17)
services/src/main/java/org/keycloak/authentication/authenticators/directgrant/AbstractDirectGrantAuthenticator.java 3(+0 -3)
services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateOTP.java 2(+1 -1)
services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidatePassword.java 2(+1 -1)
services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateUsername.java 2(+1 -1)
services/src/main/java/org/keycloak/authentication/requiredactions/util/UserUpdateProfileContext.java 6(+3 -3)
services/src/main/java/org/keycloak/authorization/authorization/AuthorizationTokenService.java 1(+0 -1)
services/src/main/java/org/keycloak/authorization/entitlement/representation/EntitlementRequest.java 1(+0 -1)
services/src/main/java/org/keycloak/authorization/protection/permission/AbstractPermissionService.java 1(+0 -1)
services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractJsonUserAttributeMapper.java 6(+3 -3)
services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProvider.java 14(+10 -4)
services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProviderFactory.java 2(+1 -1)
services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProvider.java 45(+22 -23)
services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProviderFactory.java 2(+1 -1)
services/src/main/java/org/keycloak/forms/account/freemarker/model/AccountFederatedIdentityBean.java 1(+0 -1)
services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProvider.java 26(+13 -13)
services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProviderFactory.java 2(+1 -1)
services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthorizationEndpointRequestParserProcessor.java 8(+3 -5)
services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointQueryStringParser.java 3(+1 -2)
services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestObjectParser.java 10(+5 -5)
services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestParser.java 8(+4 -4)
services/src/main/java/org/keycloak/protocol/saml/installation/KeycloakSamlSubsystemInstallation.java 2(+0 -2)
services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLAttributeStatementMapper.java 2(+1 -1)
services/src/main/java/org/keycloak/protocol/saml/mappers/UserAttributeStatementMapper.java 2(+1 -1)
services/src/main/java/org/keycloak/protocol/saml/mappers/UserPropertyAttributeStatementMapper.java 2(+1 -1)
services/src/main/java/org/keycloak/protocol/saml/profile/ecp/authenticator/HttpBasicAuthenticator.java 6(+5 -1)
services/src/main/java/org/keycloak/services/clientregistration/AbstractClientRegistrationProvider.java 6(+5 -1)
services/src/main/java/org/keycloak/services/clientregistration/ClientRegistrationHostUtils.java 8(+4 -4)
services/src/main/java/org/keycloak/services/clientregistration/DefaultClientRegistrationProvider.java 9(+8 -1)
services/src/main/java/org/keycloak/services/clientregistration/oidc/OIDCClientRegistrationProvider.java 2(+1 -1)
services/src/main/java/org/keycloak/services/resources/admin/ClientAttributeCertificateResource.java 3(+1 -2)
services/src/main/java/org/keycloak/services/resources/admin/ClientInitialAccessResource.java 14(+12 -2)
services/src/main/java/org/keycloak/services/resources/admin/ClientRegistrationTrustedHostResource.java 25(+11 -14)
services/src/main/java/org/keycloak/services/resources/admin/ClientRoleMappingsResource.java 1(+0 -1)
services/src/main/java/org/keycloak/services/resources/admin/IdentityProvidersResource.java 3(+1 -2)
services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java 50(+25 -25)
services/src/main/java/org/keycloak/services/resources/admin/ProtocolMappersResource.java 15(+13 -2)
services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedClientResource.java 1(+0 -1)
services/src/main/java/org/keycloak/services/resources/admin/UserFederationProviderResource.java 45(+22 -23)
services/src/main/java/org/keycloak/services/resources/admin/UserFederationProvidersResource.java 1(+0 -1)
services/src/main/java/org/keycloak/services/scheduled/ClusterAwareScheduledTaskRunner.java 4(+2 -2)
services/src/main/java/org/keycloak/social/stackoverflow/StackoverflowIdentityProvider.java 12(+6 -6)
services/src/test/java/org/keycloak/test/broker/oidc/mappers/AbstractJsonUserAttributeMapperTest.java 4(+2 -2)
testsuite/integration/pom.xml 1(+1 -0)
testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java 12(+10 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java 11(+5 -6)
testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenantResolver.java 5(+3 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AbstractPhotozAdminTest.java 2(+0 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AttributeTest.java 4(+3 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/KeycloakAuthorizationServerRule.java 1(+0 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourceManagementTest.java 4(+3 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourcePermissionManagementTest.java 4(+3 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ScopeManagementTest.java 4(+3 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractFirstBrokerLoginTest.java 16(+7 -9)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderModelTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java 3(+0 -3)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java 29(+14 -15)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderRegistrationTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/ImportIdentityProviderTest.java 10(+5 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCBrokerUserPropertyTest.java 5(+4 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCFirstBrokerLoginTest.java 4(+2 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java 5(+2 -3)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeycloakServerBrokerWithConsentTest.java 4(+2 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProvider.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProviderFactory.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLBrokerUserPropertyTest.java 5(+4 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java 8(+4 -4)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java 8(+4 -4)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/AbstractKerberosTest.java 13(+6 -7)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosCredDelegServlet.java 15(+7 -8)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java 9(+4 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java 11(+5 -6)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KeycloakSPNegoSchemeFactory.java 7(+3 -4)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/FederationProvidersIntegrationTest.java 2(+0 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapper2WaySyncTest.java 4(+2 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperSyncTest.java 10(+5 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperTest.java 8(+4 -4)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPMultipleAttributesTest.java 17(+8 -9)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPRoleMappingsTest.java 6(+3 -3)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPSyncTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/FederationTestUtils.java 20(+10 -10)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPExampleServlet.java 12(+5 -7)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPTestConfiguration.java 10(+5 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserMapStorage.java 2(+0 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserStorageTest.java 57(+49 -8)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncDummyUserFederationProviderFactory.java 11(+5 -6)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncFederationTest.java 8(+4 -4)
testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/SamlAdapterTest.java 2(+0 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/model/ConcurrentTransactionsTest.java 9(+4 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserFederationModelTest.java 14(+7 -7)
testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java 10(+5 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java 12(+6 -6)
testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java 16(+8 -8)
testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java 19(+14 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountApplicationsPage.java 13(+6 -7)
testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountFederatedIdentityPage.java 4(+2 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java 2(+0 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/samlfilter/SamlKeycloakRule.java 3(+0 -3)
testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/PersistSessionsCommand.java 6(+3 -3)
testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/SyncDummyFederationProviderCommand.java 7(+3 -4)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/authorization/TestPolicyProviderFactory.java 2(+0 -2)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/jpa/ExampleJpaEntityProvider.java 4(+2 -2)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/CompanyResource.java 11(+5 -6)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/ExampleRestResource.java 8(+4 -4)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/ExampleService.java 4(+2 -2)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/impl/ExampleServiceImpl.java 9(+4 -5)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyConfigurableUserFederationProviderFactory.java 6(+3 -3)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationMapper.java 8(+4 -4)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProvider.java 1(+0 -1)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProviderFactory.java 8(+5 -3)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughAuthenticator.java 2(+1 -1)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughClientAuthenticator.java 14(+7 -7)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/resource/TestingExportImportResource.java 7(+3 -4)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestApplicationResourceProvider.java 2(+0 -2)
testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestingResourceProvider.java 60(+26 -34)
testsuite/integration-arquillian/test-apps/hello-world-authz-service/src/main/webapp/index.jsp 2(+1 -1)
testsuite/integration-arquillian/test-apps/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml 4(+2 -2)
testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java 2(+0 -2)
testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java 3(+0 -3)
testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java 1(+0 -1)
testsuite/integration-arquillian/test-apps/servlets/src/main/java/org/keycloak/testsuite/adapter/servlet/SendUsernameServlet.java 6(+5 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AbstractShowTokensPage.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AppServerContextRoot.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDb.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDbErrorPage.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortal.java 6(+2 -4)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AbstractFuseExample.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AdminInterface.java 3(+0 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/KerberosPortal.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenant.java 7(+4 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenantExample.java 7(+4 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/OfflineToken.java 7(+0 -7)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/PhotozClientAuthzTestApp.java 3(+0 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortal.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SecurePortal.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SessionPortal.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/TokenMinTTLPage.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/admin/Users.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContainer.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContext.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContext.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/UseServletFilter.java 6(+5 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java 1(+1 -0)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java 12(+6 -6)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainerInfo.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/MultipleContainersExtension.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java 15(+8 -7)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java 9(+5 -4)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentArchiveProcessor.java 13(+11 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentTargetModifier.java 4(+3 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/h2/H2TestEnricher.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java 7(+5 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/Migration.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/MigrationTestExecutionDecider.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/AdminClientProvider.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/SuiteContextProvider.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/TestContextProvider.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/ChangePassword.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/Sessions.java 7(+4 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServer.java 4(+1 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServerContextRoot.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Authenticate.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java 2(+0 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java 10(+6 -4)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/PageWithLoginUrl.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Registration.java 8(+4 -4)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateAccount.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdatePassword.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestApplicationResource.java 2(+0 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestExampleCompanyResource.java 5(+2 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestingResource.java 5(+2 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsole.java 10(+6 -4)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleCreate.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java 7(+3 -4)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealmsRoot.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Breadcrumb.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java 3(+1 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Dropdown.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/InputList.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java 7(+4 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java 4(+3 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/PickList.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/drone/Different.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractPage.java 10(+5 -5)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java 5(+2 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java 2(+0 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/IOUtil.java 9(+8 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPRule.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPTestConfiguration.java 17(+7 -10)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/MessageHandlerFactoryImpl.java 6(+5 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/OAuthClient.java 3(+1 -2)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/SecondBrowser.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java 18(+10 -8)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/URLUtils.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/UserInfoClientUtil.java 11(+5 -6)
testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java 15(+9 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java 45(+21 -24)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountTest.java 23(+11 -12)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractAccountManagementTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractCustomAccountManagementTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowCookieTest.java 9(+5 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java 29(+15 -14)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/ProfileTest.java 34(+17 -17)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/TrustStoreEmailTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java 13(+6 -7)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionMultipleActionsTest.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionTotpSetupTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileTest.java 4(+3 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/TermsAndConditionsTest.java 16(+9 -7)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java 14(+12 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EnforcerConfigTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosAdapterTest.java 20(+9 -11)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosLdapAdapterTest.java 9(+4 -5)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosStandaloneAdapterTest.java 11(+4 -7)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/KeycloakSPNegoSchemeFactory.java 7(+3 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractDemoServletsAdapterTest.java 19(+16 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSAMLServletsAdapterTest.java 25(+23 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSessionServletAdapterTest.java 22(+8 -14)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java 15(+8 -7)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ApiUtil.java 7(+3 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AbstractAuthenticationTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AuthenticatorConfigTest.java 15(+6 -9)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/InitialFlowsTest.java 2(+0 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RegistrationFlowTest.java 10(+4 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RequiredActionsTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ShiftExecutionTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractClientTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractProtocolMapperTest.java 14(+7 -7)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientProtocolMapperTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateProtocolMapperTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateTest.java 19(+9 -10)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/CredentialsTest.java 5(+2 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/InstallationTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/SessionTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientRegTrustedHostTest.java 7(+3 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java 26(+16 -10)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConcurrencyTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventAuthDetailsTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java 7(+4 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/EventConfigTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java 7(+4 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/AbstractGroupTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/GroupTest.java 2(+0 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/partialimport/PartialImportTest.java 35(+16 -19)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/realm/RealmTest.java 14(+10 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/RoleByIdResourceTest.java 6(+5 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationMapperTest.java 21(+10 -11)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationTest.java 17(+8 -9)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTotpTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java 16(+8 -8)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java 10(+9 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlBrokerTest.java 8(+7 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlSignedBrokerTest.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/AdapterInstallationConfigTest.java 4(+3 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRedirectTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRegistrationTest.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCClientRegistrationTest.java 6(+5 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCPairwiseClientRegistrationTest.java 11(+5 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/RegistrationAccessTokenTest.java 6(+5 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/SAMLClientRegistrationTest.java 5(+2 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractClusterTest.java 14(+8 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractInvalidationClusterTest.java 8(+5 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/ClientInvalidationClusterTest.java 8(+5 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/GroupInvalidationClusterTest.java 18(+10 -8)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RealmInvalidationClusterTest.java 8(+5 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RoleInvalidationClusterTest.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/SessionFailoverClusterTest.java 12(+7 -5)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/UserInvalidationClusterTest.java 8(+5 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeRoleTest.java 16(+8 -8)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/domainextension/CustomExtensionTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AbstractEventsTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AdminEventStoreProviderTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/EventStoreProviderTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/AbstractExportImportTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java 11(+5 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java 18(+9 -9)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/LegacyImportTest.java 12(+6 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/BruteForceTest.java 17(+7 -10)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginHotpTest.java 16(+7 -9)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTest.java 3(+1 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTotpTest.java 12(+6 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LogoutTest.java 10(+6 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/RegisterTest.java 4(+3 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java 37(+23 -14)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/EmailTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/LoginPageTest.java 1(+1 -0)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationUtil.java 6(+4 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthPostMethodTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java 18(+15 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/LoginStatusIframeEndpointTest.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/OfflineTokenTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java 2(+0 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/TokenIntrospectionTest.java 5(+4 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/AbstractOIDCResponseTypeTest.java 10(+4 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCBasicResponseTypeCodeTest.java 7(+3 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTokenTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeTokenTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTokenTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCAdvancedRequestParamsTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCWellKnownProviderTest.java 17(+8 -9)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/TestRealmKeycloakTest.java 7(+3 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/user/AbstractUserTest.java 10(+6 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AdminEventPaths.java 7(+3 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AssertAdminEvents.java 20(+8 -12)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AttributesAssert.java 1(+1 -0)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java 2(+0 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/CredentialBuilder.java 5(+0 -5)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/FederatedIdentityBuilder.java 1(+0 -1)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailAssert.java 11(+7 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailServer.java 14(+8 -6)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmRepUtil.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RoleBuilder.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RolesBuilder.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/SslMailServer.java 29(+20 -9)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/TestEventsLogger.java 5(+3 -2)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/URLAssert.java 10(+6 -4)
testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserFederationProviderBuilder.java 4(+2 -2)
testsuite/integration-arquillian/tests/base/src/test/resources/admin-test/saml-idp-metadata.xml 4(+2 -2)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosLdapAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosStandaloneAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLFilterAdapterTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EAPServletAuthzAdapterTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCAdapterTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosLdapAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosStandaloneAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6SAMLFilterAdapterTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6CorsExampleAdapterTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java 24(+13 -11)
testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java 38(+20 -18)
testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientPerformanceTest.java 4(+3 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java 8(+5 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java 5(+3 -2)
testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java 12(+7 -5)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/authorization/WildflyServletAuthzAdapterTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosLdapAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosStandaloneAdapterTest.java 4(+1 -3)
testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLFilterAdapterTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/clean-start/src/test/java/org/keycloak/testsuite/clean/start/CleanStartTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java 1(+1 -0)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/bindings/BindingsForm.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/otppolicy/OTPPolicyForm.java 2(+0 -2)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java 3(+0 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Client.java 4(+2 -2)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java 7(+3 -4)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java 5(+3 -2)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsForm.java 1(+1 -0)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/ClientMappers.java 2(+1 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/ClientRoles.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/CreateClientRole.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java 6(+3 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java 4(+2 -2)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java 5(+2 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java 3(+0 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/idp/IdentityProviderSettings.java 11(+6 -5)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/CreateRealm.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/EmailSettings.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java 3(+0 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java 9(+5 -4)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java 16(+8 -8)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/Roles.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java 8(+5 -3)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/User.java 2(+1 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java 6(+4 -2)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserCredentials.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappings.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappingsForm.java 4(+2 -2)
testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/Users.java 8(+3 -5)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/AbstractConsoleTest.java 11(+6 -5)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/actions/TermsAndConditionsTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/BindingsTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/FlowsTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java 22(+11 -11)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientAuthorizationServicesAvailableTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java 17(+9 -8)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java 13(+7 -6)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java 15(+8 -7)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java 10(+6 -4)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java 18(+8 -10)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java 2(+1 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/KerberosUserFederationTest.java 4(+2 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java 14(+6 -8)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/idp/IdentityProviderTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java 1(+1 -0)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/LoginSettingsTest.java 24(+12 -12)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/SecurityDefensesTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/TokensTest.java 8(+4 -4)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/AbstractRolesTest.java 1(+0 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/DefaultRolesTest.java 5(+3 -2)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/RealmRolesTest.java 10(+5 -5)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/sessions/SessionsTest.java 1(+1 -0)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/themes/TermsAndConditionsThemeTest.java 3(+2 -1)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/AbstractUserTest.java 1(+1 -0)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UserAttributesTest.java 6(+3 -3)
testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UsersTest.java 6(+4 -2)
testsuite/integration-arquillian/tests/other/console_no_users/src/test/java/org/keycloak/testsuite/console/pages/WelcomePageTest.java 14(+7 -7)
testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java 34(+16 -18)
testsuite/integration-arquillian/test-utils/src/main/java/org/keycloak/testsuite/util/junit/AggregateResultsReporter.java 3(+0 -3)
themes/src/main/resources/theme/keycloak/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg 2(+1 -1)
themes/src/main/resources/theme/keycloak/common/resources/lib/zocial/zocial-regular-webfont.svg 2(+1 -1)
util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemoryDirectoryServiceFactory.java 7(+4 -3)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/JsonConfigConverter.java 10(+5 -5)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakAdapterConfigService.java 3(+2 -1)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakExtension.java 2(+1 -1)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakProviderDeploymentProcessor.java 10(+0 -10)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakServerDeploymentProcessor.java 5(+3 -2)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemDefinition.java 4(+2 -2)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemParser.java 24(+10 -14)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemRemoveHandler.java 2(+1 -1)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemWriteAttributeHandler.java 4(+2 -2)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/MigrateJsonOperation.java 11(+6 -5)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ProviderResourceAddHandler.java 3(+2 -1)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ServerUtil.java 26(+13 -13)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/SpiResourceAddHandler.java 3(+2 -1)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceAddHandler.java 3(+2 -1)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceDefinition.java 9(+5 -4)
wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/logging/KeycloakLogger.java 4(+0 -4)
Details
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterDeploymentContext.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterDeploymentContext.java
index 925a0db..63ea79e 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterDeploymentContext.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterDeploymentContext.java
@@ -26,9 +26,9 @@ import org.keycloak.adapters.rotation.PublicKeyLocator;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.common.enums.RelativeUrlsUsed;
import org.keycloak.common.enums.SslRequired;
+import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.enums.TokenStore;
import org.keycloak.representations.adapters.config.AdapterConfig;
-import org.keycloak.common.util.KeycloakUriBuilder;
import java.io.IOException;
import java.net.URI;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterUtils.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterUtils.java
index 935a9fc..a6dfa06 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterUtils.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/AdapterUtils.java
@@ -19,9 +19,7 @@ package org.keycloak.adapters;
import org.jboss.logging.Logger;
import org.keycloak.KeycloakPrincipal;
-import org.keycloak.KeycloakSecurityContext;
import org.keycloak.representations.AccessToken;
-import org.keycloak.common.util.UriUtils;
import java.util.Collections;
import java.util.Set;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProvider.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProvider.java
index 2483bdf..c84af87 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProvider.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProvider.java
@@ -17,10 +17,10 @@
package org.keycloak.adapters.authentication;
-import java.util.Map;
-
import org.keycloak.adapters.KeycloakDeployment;
+import java.util.Map;
+
/**
* The simple SPI for authenticating clients/applications . It's used by adapter during all OIDC backchannel requests to Keycloak server
* (codeToToken exchange, refresh token or backchannel logout) . You can also use it in your application during direct access grants or service account request
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProviderUtils.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProviderUtils.java
index 4152338..4df727d 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProviderUtils.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientCredentialsProviderUtils.java
@@ -17,6 +17,12 @@
package org.keycloak.adapters.authentication;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.message.BasicNameValuePair;
+import org.jboss.logging.Logger;
+import org.keycloak.adapters.KeycloakDeployment;
+
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -24,12 +30,6 @@ import java.util.Map;
import java.util.ServiceConfigurationError;
import java.util.ServiceLoader;
-import org.apache.http.NameValuePair;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.message.BasicNameValuePair;
-import org.jboss.logging.Logger;
-import org.keycloak.adapters.KeycloakDeployment;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientIdAndSecretCredentialsProvider.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientIdAndSecretCredentialsProvider.java
index 6c8a075..d1c9cf9 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientIdAndSecretCredentialsProvider.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/ClientIdAndSecretCredentialsProvider.java
@@ -17,14 +17,14 @@
package org.keycloak.adapters.authentication;
-import java.util.Map;
-
import org.jboss.logging.Logger;
import org.keycloak.OAuth2Constants;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.util.BasicAuthHelper;
+import java.util.Map;
+
/**
* Traditional OAuth2 authentication of clients based on client_id and client_secret
*
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/JWTClientCredentialsProvider.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/JWTClientCredentialsProvider.java
index 4e109ce..8d07c00 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/JWTClientCredentialsProvider.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authentication/JWTClientCredentialsProvider.java
@@ -30,6 +30,11 @@ import org.keycloak.jose.jws.JWSBuilder;
import org.keycloak.representations.JsonWebToken;
import org.keycloak.common.util.KeystoreUtil;
import org.keycloak.common.util.Time;
+import org.keycloak.jose.jws.JWSBuilder;
+import org.keycloak.representations.JsonWebToken;
+
+import java.security.PrivateKey;
+import java.util.Map;
/**
* Client authentication based on JWT signed by client private key .
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/BearerTokenPolicyEnforcer.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/BearerTokenPolicyEnforcer.java
index efa2b2b..91e23cf 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/BearerTokenPolicyEnforcer.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/BearerTokenPolicyEnforcer.java
@@ -26,7 +26,6 @@ import org.keycloak.authorization.client.resource.PermissionResource;
import org.keycloak.authorization.client.resource.ProtectionResource;
import org.keycloak.representations.adapters.config.PolicyEnforcerConfig.PathConfig;
-import java.util.List;
import java.util.Set;
/**
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/KeycloakAdapterPolicyEnforcer.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/KeycloakAdapterPolicyEnforcer.java
index 1c900b8..518c054 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/KeycloakAdapterPolicyEnforcer.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/KeycloakAdapterPolicyEnforcer.java
@@ -18,7 +18,6 @@
package org.keycloak.adapters.authorization;
import org.jboss.logging.Logger;
-import org.keycloak.RSATokenVerifier;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OIDCHttpFacade;
import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
@@ -34,7 +33,6 @@ import org.keycloak.authorization.client.representation.PermissionResponse;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.adapters.config.PolicyEnforcerConfig.PathConfig;
import org.keycloak.representations.idm.authorization.Permission;
-import org.keycloak.util.JsonSerialization;
import java.util.ArrayList;
import java.util.HashSet;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PolicyEnforcer.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PolicyEnforcer.java
index 88ef9ce..ff694bf 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PolicyEnforcer.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PolicyEnforcer.java
@@ -33,12 +33,9 @@ import org.keycloak.representations.adapters.config.PolicyEnforcerConfig.PathCon
import org.keycloak.representations.idm.authorization.Permission;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
/**
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java
index 6560796..176b1d2 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java
@@ -31,10 +31,10 @@ import org.keycloak.adapters.authentication.ClientCredentialsProviderUtils;
import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.common.util.Base64;
+import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.KeycloakUriBuilder;
import java.util.List;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java
index 70b90b1..5eed432 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java
@@ -18,7 +18,6 @@
package org.keycloak.adapters;
import org.jboss.logging.Logger;
-import org.keycloak.RSATokenVerifier;
import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
import org.keycloak.adapters.spi.AuthChallenge;
import org.keycloak.adapters.spi.AuthOutcome;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/CookieTokenStore.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/CookieTokenStore.java
index 2093645..7d67dd6 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/CookieTokenStore.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/CookieTokenStore.java
@@ -17,20 +17,17 @@
package org.keycloak.adapters;
-import java.io.IOException;
-
import org.jboss.logging.Logger;
import org.keycloak.KeycloakPrincipal;
-import org.keycloak.RSATokenVerifier;
import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.IDToken;
-import org.keycloak.common.util.KeycloakUriBuilder;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/HttpAdapterUtils.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/HttpAdapterUtils.java
index e01f7dc..3e0f36d 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/HttpAdapterUtils.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/HttpAdapterUtils.java
@@ -17,15 +17,15 @@
package org.keycloak.adapters;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpRequestBase;
import org.keycloak.util.JsonSerialization;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/AbstractKeycloakLoginModule.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/AbstractKeycloakLoginModule.java
index 75086e7..8d93fe9 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/AbstractKeycloakLoginModule.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/AbstractKeycloakLoginModule.java
@@ -17,28 +17,8 @@
package org.keycloak.adapters.jaas;
-import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.security.Principal;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import javax.security.auth.Subject;
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.NameCallback;
-import javax.security.auth.callback.PasswordCallback;
-import javax.security.auth.callback.UnsupportedCallbackException;
-import javax.security.auth.login.LoginException;
-import javax.security.auth.spi.LoginModule;
-
import org.jboss.logging.Logger;
import org.keycloak.KeycloakPrincipal;
-import org.keycloak.RSATokenVerifier;
-import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.AdapterUtils;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
@@ -46,8 +26,25 @@ import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
import org.keycloak.common.VerificationException;
import org.keycloak.common.util.FindFile;
-import org.keycloak.representations.AccessToken;
import org.keycloak.common.util.reflections.Reflections;
+import org.keycloak.representations.AccessToken;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.security.auth.login.LoginException;
+import javax.security.auth.spi.LoginModule;
+import java.io.InputStream;
+import java.lang.reflect.Constructor;
+import java.security.Principal;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/DirectAccessGrantsLoginModule.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/DirectAccessGrantsLoginModule.java
index 78d98e7..fffd39b 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/DirectAccessGrantsLoginModule.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/jaas/DirectAccessGrantsLoginModule.java
@@ -17,19 +17,6 @@
package org.keycloak.adapters.jaas;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.security.auth.Subject;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.login.LoginException;
-
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
@@ -39,13 +26,25 @@ import org.apache.http.client.methods.HttpPost;
import org.apache.http.message.BasicNameValuePair;
import org.jboss.logging.Logger;
import org.keycloak.OAuth2Constants;
-import org.keycloak.common.VerificationException;
import org.keycloak.adapters.authentication.ClientCredentialsProviderUtils;
+import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.KeycloakUriBuilder;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.login.LoginException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
/**
* Login module based on Resource Owner password credentials grant from OAuth2 specs. It's supposed to be used in environments. which
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/KeycloakDeployment.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/KeycloakDeployment.java
index 30c40c3..1071b71 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/KeycloakDeployment.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/KeycloakDeployment.java
@@ -22,12 +22,12 @@ import org.jboss.logging.Logger;
import org.keycloak.adapters.authentication.ClientCredentialsProvider;
import org.keycloak.adapters.authorization.PolicyEnforcer;
import org.keycloak.adapters.rotation.PublicKeyLocator;
-import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.common.enums.RelativeUrlsUsed;
import org.keycloak.common.enums.SslRequired;
+import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.enums.TokenStore;
import org.keycloak.representations.adapters.config.AdapterConfig;
-import org.keycloak.common.util.KeycloakUriBuilder;
import java.net.URI;
import java.util.HashMap;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/NodesRegistrationManagement.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/NodesRegistrationManagement.java
index 1002d39..673901c 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/NodesRegistrationManagement.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/NodesRegistrationManagement.java
@@ -17,6 +17,10 @@
package org.keycloak.adapters;
+import org.jboss.logging.Logger;
+import org.keycloak.common.util.HostUtils;
+import org.keycloak.common.util.Time;
+
import java.io.IOException;
import java.util.Collection;
import java.util.Map;
@@ -24,10 +28,6 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
-import org.jboss.logging.Logger;
-import org.keycloak.common.util.HostUtils;
-import org.keycloak.common.util.Time;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java
index 02637c0..109361f 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java
@@ -19,13 +19,14 @@ package org.keycloak.adapters;
import org.jboss.logging.Logger;
import org.keycloak.OAuth2Constants;
-import org.keycloak.RSATokenVerifier;
import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.spi.AuthChallenge;
import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.enums.TokenStore;
import org.keycloak.jose.jws.JWSInput;
@@ -33,8 +34,6 @@ import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.representations.IDToken;
-import org.keycloak.common.util.KeycloakUriBuilder;
-import org.keycloak.common.util.UriUtils;
import org.keycloak.util.TokenUtil;
import java.io.IOException;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/PreAuthActionsHandler.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/PreAuthActionsHandler.java
index 6a625b4..25c899e 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/PreAuthActionsHandler.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/PreAuthActionsHandler.java
@@ -25,6 +25,7 @@ import org.keycloak.adapters.authentication.JWTClientCredentialsProvider;
import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.spi.UserSessionManagement;
+import org.keycloak.common.util.StreamUtil;
import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.jose.jwk.JWK;
import org.keycloak.jose.jwk.JWKBuilder;
@@ -32,13 +33,16 @@ import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.VersionRepresentation;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.jose.jws.JWSInput;
+import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.jose.jws.crypto.RSAProvider;
+import org.keycloak.representations.VersionRepresentation;
import org.keycloak.representations.adapters.action.AdminAction;
import org.keycloak.representations.adapters.action.LogoutAction;
import org.keycloak.representations.adapters.action.PushNotBeforeAction;
import org.keycloak.representations.adapters.action.TestAvailabilityAction;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.StreamUtil;
+
+import java.security.PublicKey;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/RefreshableKeycloakSecurityContext.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/RefreshableKeycloakSecurityContext.java
index 75f0cb8..39a3f1e 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/RefreshableKeycloakSecurityContext.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/RefreshableKeycloakSecurityContext.java
@@ -20,7 +20,6 @@ package org.keycloak.adapters;
import org.jboss.logging.Logger;
import org.keycloak.AuthorizationContext;
import org.keycloak.KeycloakSecurityContext;
-import org.keycloak.RSATokenVerifier;
import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
import org.keycloak.common.VerificationException;
import org.keycloak.common.util.Time;
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/AdapterRSATokenVerifier.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/AdapterRSATokenVerifier.java
index c69ee38..236844e 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/AdapterRSATokenVerifier.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/AdapterRSATokenVerifier.java
@@ -17,8 +17,6 @@
package org.keycloak.adapters.rotation;
-import java.security.PublicKey;
-
import org.jboss.logging.Logger;
import org.keycloak.RSATokenVerifier;
import org.keycloak.adapters.KeycloakDeployment;
@@ -26,6 +24,8 @@ import org.keycloak.common.VerificationException;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.representations.AccessToken;
+import java.security.PublicKey;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/HardcodedPublicKeyLocator.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/HardcodedPublicKeyLocator.java
index 40fb71a..469dd26 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/HardcodedPublicKeyLocator.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/HardcodedPublicKeyLocator.java
@@ -17,11 +17,11 @@
package org.keycloak.adapters.rotation;
-import java.security.PublicKey;
-
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.jose.jws.JWSInput;
+import java.security.PublicKey;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/JWKPublicKeyLocator.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/JWKPublicKeyLocator.java
index 1af4055..502d0c0 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/JWKPublicKeyLocator.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/JWKPublicKeyLocator.java
@@ -17,10 +17,6 @@
package org.keycloak.adapters.rotation;
-import java.security.PublicKey;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
import org.apache.http.client.methods.HttpGet;
import org.jboss.logging.Logger;
import org.keycloak.adapters.HttpAdapterUtils;
@@ -32,6 +28,10 @@ import org.keycloak.jose.jwk.JWK;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.util.JWKSUtils;
+import java.security.PublicKey;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
/**
* When needed, publicKeys are downloaded by sending request to realm's jwks_url
*
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/PublicKeyLocator.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/PublicKeyLocator.java
index bda80dc..62cef81 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/PublicKeyLocator.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/rotation/PublicKeyLocator.java
@@ -17,11 +17,11 @@
package org.keycloak.adapters.rotation;
-import java.security.PublicKey;
-
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.jose.jws.JWSInput;
+import java.security.PublicKey;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/ServerRequest.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/ServerRequest.java
index 8996777..7ec546c 100755
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/ServerRequest.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/ServerRequest.java
@@ -26,12 +26,12 @@ import org.apache.http.client.methods.HttpPost;
import org.apache.http.message.BasicNameValuePair;
import org.keycloak.OAuth2Constants;
import org.keycloak.adapters.authentication.ClientCredentialsProviderUtils;
-import org.keycloak.constants.AdapterConstants;
-import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.common.util.HostUtils;
-import org.keycloak.util.JsonSerialization;
import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.common.util.StreamUtil;
+import org.keycloak.constants.AdapterConstants;
+import org.keycloak.representations.AccessTokenResponse;
+import org.keycloak.util.JsonSerialization;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/KeycloakDeploymentBuilderTest.java b/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/KeycloakDeploymentBuilderTest.java
index d1ce748..77eb475 100644
--- a/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/KeycloakDeploymentBuilderTest.java
+++ b/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/KeycloakDeploymentBuilderTest.java
@@ -25,8 +25,8 @@ import org.keycloak.adapters.rotation.HardcodedPublicKeyLocator;
import org.keycloak.adapters.rotation.JWKPublicKeyLocator;
import org.keycloak.common.enums.RelativeUrlsUsed;
import org.keycloak.common.enums.SslRequired;
-import org.keycloak.enums.TokenStore;
import org.keycloak.common.util.PemUtils;
+import org.keycloak.enums.TokenStore;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/RefreshableKeycloakSecurityContextTest.java b/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/RefreshableKeycloakSecurityContextTest.java
index 2310b21..390680a 100644
--- a/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/RefreshableKeycloakSecurityContextTest.java
+++ b/adapters/oidc/adapter-core/src/test/java/org/keycloak/adapters/RefreshableKeycloakSecurityContextTest.java
@@ -1,9 +1,9 @@
package org.keycloak.adapters;
-import static org.junit.Assert.*;
-
import org.junit.Test;
import org.keycloak.representations.oidc.TokenMetadataRepresentation;
+
+import static org.junit.Assert.assertFalse;
/**
* @author github.com/tubbynl
*
diff --git a/adapters/oidc/as7-eap6/as7-adapter/src/main/java/org/keycloak/adapters/jbossweb/KeycloakAuthenticatorValve.java b/adapters/oidc/as7-eap6/as7-adapter/src/main/java/org/keycloak/adapters/jbossweb/KeycloakAuthenticatorValve.java
index 46b7e64..72088b3 100755
--- a/adapters/oidc/as7-eap6/as7-adapter/src/main/java/org/keycloak/adapters/jbossweb/KeycloakAuthenticatorValve.java
+++ b/adapters/oidc/as7-eap6/as7-adapter/src/main/java/org/keycloak/adapters/jbossweb/KeycloakAuthenticatorValve.java
@@ -22,15 +22,11 @@ import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.deploy.LoginConfig;
-import org.apache.catalina.realm.GenericPrincipal;
import org.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve;
import org.keycloak.adapters.tomcat.GenericPrincipalFactory;
-import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.security.Principal;
-import java.util.List;
/**
* Keycloak authentication valve
diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java
index 0b690c3..34c5a6b 100755
--- a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java
+++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java
@@ -17,17 +17,17 @@
package org.keycloak.subsystem.as7;
+import org.jboss.as.server.deployment.DeploymentUnit;
+import org.jboss.as.web.deployment.WarMetaData;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.Property;
import org.jboss.logging.Logger;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
import java.util.HashMap;
import java.util.Map;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
-import org.jboss.as.server.deployment.DeploymentUnit;
-import org.jboss.as.web.deployment.WarMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
/**
* This service keeps track of the entire Keycloak management model so as to provide
diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakSubsystemAdd.java b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakSubsystemAdd.java
index 9f995b3..f4cb6c4 100755
--- a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakSubsystemAdd.java
+++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakSubsystemAdd.java
@@ -25,7 +25,6 @@ import org.jboss.as.server.AbstractDeploymentChainStep;
import org.jboss.as.server.DeploymentProcessorTarget;
import org.jboss.as.server.deployment.Phase;
import org.jboss.dmr.ModelNode;
-
import org.jboss.msc.service.ServiceController;
import java.util.List;
diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/RealmWriteAttributeHandler.java b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/RealmWriteAttributeHandler.java
index f4cdca3..3a4ec04 100755
--- a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/RealmWriteAttributeHandler.java
+++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/RealmWriteAttributeHandler.java
@@ -23,8 +23,6 @@ import org.jboss.as.controller.OperationContext;
import org.jboss.as.controller.OperationFailedException;
import org.jboss.dmr.ModelNode;
-import java.util.List;
-
/**
* Update an attribute on a realm.
*
diff --git a/adapters/oidc/installed/src/main/java/org/keycloak/adapters/installed/KeycloakInstalled.java b/adapters/oidc/installed/src/main/java/org/keycloak/adapters/installed/KeycloakInstalled.java
index c52a44a..9834fe2 100644
--- a/adapters/oidc/installed/src/main/java/org/keycloak/adapters/installed/KeycloakInstalled.java
+++ b/adapters/oidc/installed/src/main/java/org/keycloak/adapters/installed/KeycloakInstalled.java
@@ -19,12 +19,11 @@ package org.keycloak.adapters.installed;
import org.keycloak.OAuth2Constants;
import org.keycloak.OAuthErrorException;
-import org.keycloak.RSATokenVerifier;
-import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
-import org.keycloak.common.VerificationException;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.ServerRequest;
+import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
+import org.keycloak.common.VerificationException;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.AccessToken;
diff --git a/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsBearerTokenFilterImpl.java b/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsBearerTokenFilterImpl.java
index b3d1035..bec9875 100755
--- a/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsBearerTokenFilterImpl.java
+++ b/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsBearerTokenFilterImpl.java
@@ -20,8 +20,6 @@ package org.keycloak.jaxrs;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.AdapterUtils;
-import org.keycloak.adapters.spi.AuthChallenge;
-import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.AuthenticatedActionsHandler;
import org.keycloak.adapters.BasicAuthRequestAuthenticator;
import org.keycloak.adapters.BearerTokenRequestAuthenticator;
@@ -31,6 +29,8 @@ import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.NodesRegistrationManagement;
import org.keycloak.adapters.PreAuthActionsHandler;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.keycloak.adapters.spi.AuthChallenge;
+import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.spi.UserSessionManagement;
import org.keycloak.common.constants.GenericConstants;
@@ -40,7 +40,6 @@ import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.PreMatching;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.SecurityContext;
-
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
diff --git a/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsHttpFacade.java b/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsHttpFacade.java
index 5c9c263..82ecc0b 100755
--- a/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsHttpFacade.java
+++ b/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/JaxrsHttpFacade.java
@@ -17,22 +17,21 @@
package org.keycloak.jaxrs;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.List;
-import java.util.Map;
-
-import javax.security.cert.X509Certificate;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.SecurityContext;
-
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.OIDCHttpFacade;
import org.keycloak.adapters.spi.AuthenticationError;
import org.keycloak.adapters.spi.LogoutError;
import org.keycloak.common.util.HostUtils;
+import javax.security.cert.X509Certificate;
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.SecurityContext;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/OsgiJaxrsBearerTokenFilterImpl.java b/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/OsgiJaxrsBearerTokenFilterImpl.java
index 16c7c42..b19fc7a 100644
--- a/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/OsgiJaxrsBearerTokenFilterImpl.java
+++ b/adapters/oidc/jaxrs-oauth-client/src/main/java/org/keycloak/jaxrs/OsgiJaxrsBearerTokenFilterImpl.java
@@ -17,18 +17,17 @@
package org.keycloak.jaxrs;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.logging.Logger;
+import org.keycloak.adapters.KeycloakConfigResolver;
+import org.keycloak.common.constants.GenericConstants;
+import org.osgi.framework.BundleContext;
import javax.annotation.Priority;
import javax.ws.rs.Priorities;
import javax.ws.rs.container.PreMatching;
-
-import org.keycloak.adapters.KeycloakConfigResolver;
-import org.keycloak.common.constants.GenericConstants;
-import org.osgi.framework.BundleContext;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.logging.Logger;
/**
* Variant of JaxrsBearerTokenFilter, which can be used to properly use resources from current osgi bundle
diff --git a/adapters/oidc/jetty/jetty8.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java b/adapters/oidc/jetty/jetty8.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
index d4804bb..58d3fcb 100755
--- a/adapters/oidc/jetty/jetty8.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
+++ b/adapters/oidc/jetty/jetty8.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
@@ -20,8 +20,8 @@ package org.keycloak.adapters.jetty;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/oidc/jetty/jetty9.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java b/adapters/oidc/jetty/jetty9.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
index 2abf4b0..87fcd30 100755
--- a/adapters/oidc/jetty/jetty9.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
+++ b/adapters/oidc/jetty/jetty9.1/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
@@ -21,8 +21,8 @@ import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/oidc/jetty/jetty9.2/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java b/adapters/oidc/jetty/jetty9.2/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
index d70b329..35e6683 100755
--- a/adapters/oidc/jetty/jetty9.2/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
+++ b/adapters/oidc/jetty/jetty9.2/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
@@ -21,8 +21,8 @@ import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/oidc/jetty/jetty9.3/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java b/adapters/oidc/jetty/jetty9.3/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
index f5f6ef8..642bdf5 100644
--- a/adapters/oidc/jetty/jetty9.3/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
+++ b/adapters/oidc/jetty/jetty9.3/src/main/java/org/keycloak/adapters/jetty/JettyAdapterSessionStore.java
@@ -17,12 +17,11 @@
package org.keycloak.adapters.jetty;
-import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/AbstractKeycloakJettyAuthenticator.java b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/AbstractKeycloakJettyAuthenticator.java
index d732714..ee41c0d 100755
--- a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/AbstractKeycloakJettyAuthenticator.java
+++ b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/AbstractKeycloakJettyAuthenticator.java
@@ -27,28 +27,26 @@ import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.security.authentication.LoginAuthenticator;
import org.eclipse.jetty.server.Authentication;
import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.server.UserIdentity;
import org.eclipse.jetty.server.handler.ContextHandler;
-import org.eclipse.jetty.util.URIUtil;
import org.jboss.logging.Logger;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.AdapterUtils;
-import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
-import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
-import org.keycloak.adapters.spi.AuthChallenge;
-import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.AuthenticatedActionsHandler;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.NodesRegistrationManagement;
import org.keycloak.adapters.PreAuthActionsHandler;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
+import org.keycloak.adapters.spi.AuthChallenge;
+import org.keycloak.adapters.spi.AuthOutcome;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.enums.TokenStore;
import org.keycloak.representations.adapters.config.AdapterConfig;
@@ -61,7 +59,6 @@ import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
-import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;
diff --git a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyCookieTokenStore.java b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyCookieTokenStore.java
index 01c17d1..2aa973d 100755
--- a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyCookieTokenStore.java
+++ b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyCookieTokenStore.java
@@ -23,11 +23,11 @@ import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.CookieTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.HttpFacade;
/**
* Handle storage of token info in cookie. Per-request object.
diff --git a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyRequestAuthenticator.java b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyRequestAuthenticator.java
index 782a305..38a2480 100755
--- a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyRequestAuthenticator.java
+++ b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettyRequestAuthenticator.java
@@ -23,12 +23,12 @@ import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.AdapterUtils;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OAuthRequestAuthenticator;
import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.HttpFacade;
import javax.servlet.http.HttpSession;
import java.security.Principal;
diff --git a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettySessionTokenStore.java b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettySessionTokenStore.java
index 676187b..aada9c6 100755
--- a/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettySessionTokenStore.java
+++ b/adapters/oidc/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/core/JettySessionTokenStore.java
@@ -21,13 +21,13 @@ import org.eclipse.jetty.server.Request;
import org.jboss.logging.Logger;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.AdapterUtils;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import javax.servlet.http.HttpSession;
diff --git a/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PathBasedKeycloakConfigResolver.java b/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PathBasedKeycloakConfigResolver.java
index 93d5cb6..77e19df 100644
--- a/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PathBasedKeycloakConfigResolver.java
+++ b/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PathBasedKeycloakConfigResolver.java
@@ -16,6 +16,11 @@
*/
package org.keycloak.adapters.osgi;
+import org.keycloak.adapters.KeycloakConfigResolver;
+import org.keycloak.adapters.KeycloakDeployment;
+import org.keycloak.adapters.KeycloakDeploymentBuilder;
+import org.keycloak.adapters.OIDCHttpFacade;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -23,11 +28,6 @@ import java.io.InputStream;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import org.keycloak.adapters.KeycloakConfigResolver;
-import org.keycloak.adapters.KeycloakDeployment;
-import org.keycloak.adapters.KeycloakDeploymentBuilder;
-import org.keycloak.adapters.OIDCHttpFacade;
-
public class PathBasedKeycloakConfigResolver implements KeycloakConfigResolver {
private final Map<String, KeycloakDeployment> cache = new ConcurrentHashMap<String, KeycloakDeployment>();
diff --git a/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PaxWebIntegrationService.java b/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PaxWebIntegrationService.java
index 9420900..f295b30 100644
--- a/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PaxWebIntegrationService.java
+++ b/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/PaxWebIntegrationService.java
@@ -17,11 +17,6 @@
package org.keycloak.adapters.osgi;
-import java.net.URL;
-import java.security.SecureRandom;
-import java.util.Arrays;
-import java.util.List;
-
import org.eclipse.jetty.security.ConstraintMapping;
import org.eclipse.jetty.util.security.Constraint;
import org.jboss.logging.Logger;
@@ -32,6 +27,11 @@ import org.osgi.service.http.HttpContext;
import org.osgi.util.tracker.ServiceTracker;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
+import java.net.URL;
+import java.security.SecureRandom;
+import java.util.Arrays;
+import java.util.List;
+
/**
* Integration with pax-web, which allows to inject custom jetty-web.xml configuration from current bundle classpath into {@link WebContainer}
* and allows to inject custom security constraint for securing resources by Keycloak.
diff --git a/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/ServletReregistrationService.java b/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/ServletReregistrationService.java
index 1aace71..269b3cd 100644
--- a/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/ServletReregistrationService.java
+++ b/adapters/oidc/osgi-adapter/src/main/java/org/keycloak/adapters/osgi/ServletReregistrationService.java
@@ -17,15 +17,6 @@
package org.keycloak.adapters.osgi;
-import java.util.Arrays;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Properties;
-
-import javax.servlet.Servlet;
-
import org.apache.cxf.transport.http.DestinationRegistry;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
import org.jboss.logging.Logger;
@@ -38,6 +29,14 @@ import org.osgi.service.http.HttpContext;
import org.osgi.util.tracker.ServiceTracker;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
+import javax.servlet.Servlet;
+import java.util.Arrays;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Properties;
+
/**
* Service, which allows to remove previously registered servlets in karaf/fuse environment. It assumes that particular servlet was previously
* registered as service in OSGI container under {@link javax.servlet.Servlet} interface.
diff --git a/adapters/oidc/servlet-filter/src/main/java/org/keycloak/adapters/servlet/KeycloakOIDCFilter.java b/adapters/oidc/servlet-filter/src/main/java/org/keycloak/adapters/servlet/KeycloakOIDCFilter.java
index fc13616..43cc69f 100755
--- a/adapters/oidc/servlet-filter/src/main/java/org/keycloak/adapters/servlet/KeycloakOIDCFilter.java
+++ b/adapters/oidc/servlet-filter/src/main/java/org/keycloak/adapters/servlet/KeycloakOIDCFilter.java
@@ -18,15 +18,15 @@
package org.keycloak.adapters.servlet;
import org.keycloak.adapters.AdapterDeploymentContext;
-import org.keycloak.adapters.spi.AuthChallenge;
-import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.AuthenticatedActionsHandler;
-import org.keycloak.adapters.spi.InMemorySessionIdMapper;
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.NodesRegistrationManagement;
import org.keycloak.adapters.PreAuthActionsHandler;
+import org.keycloak.adapters.spi.AuthChallenge;
+import org.keycloak.adapters.spi.AuthOutcome;
+import org.keycloak.adapters.spi.InMemorySessionIdMapper;
import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.spi.UserSessionManagement;
@@ -39,7 +39,6 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
-
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
diff --git a/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/KeycloakDeploymentDelegateOAuthClient.java b/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/KeycloakDeploymentDelegateOAuthClient.java
index 0d03fb5..e01f157 100644
--- a/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/KeycloakDeploymentDelegateOAuthClient.java
+++ b/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/KeycloakDeploymentDelegateOAuthClient.java
@@ -17,12 +17,12 @@
package org.keycloak.servlet;
-import java.util.Map;
-
import org.keycloak.AbstractOAuthClient;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.common.enums.RelativeUrlsUsed;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClient.java b/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClient.java
index 64099e6..9660062 100755
--- a/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClient.java
+++ b/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClient.java
@@ -25,11 +25,11 @@ import org.keycloak.adapters.OIDCHttpFacade;
import org.keycloak.adapters.ServerRequest;
import org.keycloak.adapters.spi.AuthenticationError;
import org.keycloak.adapters.spi.LogoutError;
+import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.representations.IDToken;
-import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.util.TokenUtil;
import javax.security.cert.X509Certificate;
diff --git a/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClientBuilder.java b/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClientBuilder.java
index fbd6723..f515bfb 100755
--- a/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClientBuilder.java
+++ b/adapters/oidc/servlet-oauth-client/src/main/java/org/keycloak/servlet/ServletOAuthClientBuilder.java
@@ -20,6 +20,7 @@ package org.keycloak.servlet;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.representations.adapters.config.AdapterConfig;
+
import java.io.InputStream;
/**
diff --git a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBean.java b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBean.java
index f3ae847..788564a 100644
--- a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBean.java
+++ b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBean.java
@@ -17,22 +17,20 @@
package org.keycloak.adapters.springsecurity;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Objects;
-
import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.io.Resource;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Objects;
+
/**
* {@link FactoryBean} that creates an {@link AdapterDeploymentContext} given a {@link Resource} defining the Keycloak
* client configuration or a {@link KeycloakConfigResolver} for multi-tenant environments.
diff --git a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticator.java b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticator.java
index 63ccee5..9dd989f 100755
--- a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticator.java
+++ b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticator.java
@@ -21,13 +21,13 @@ import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.AdapterUtils;
-import org.keycloak.adapters.spi.HttpFacade;
-import org.keycloak.adapters.spi.KeycloakAccount;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OAuthRequestAuthenticator;
import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.HttpFacade;
+import org.keycloak.adapters.spi.KeycloakAccount;
import org.keycloak.adapters.springsecurity.account.SimpleKeycloakAccount;
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
import org.slf4j.Logger;
diff --git a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactory.java b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactory.java
index 283c1a3..a595469 100644
--- a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactory.java
+++ b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactory.java
@@ -17,7 +17,6 @@
package org.keycloak.adapters.springsecurity.client;
-import org.apache.http.HttpHost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.HttpClients;
import org.keycloak.KeycloakSecurityContext;
diff --git a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilter.java b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilter.java
index 33f4984..a3ed6b8 100644
--- a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilter.java
+++ b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilter.java
@@ -19,10 +19,10 @@ package org.keycloak.adapters.springsecurity.filter;
import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.AuthChallenge;
-import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.AuthChallenge;
+import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.springsecurity.KeycloakAuthenticationException;
import org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationEntryPoint;
diff --git a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakPreAuthActionsFilter.java b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakPreAuthActionsFilter.java
index b8ecbb0..fc79dd0 100755
--- a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakPreAuthActionsFilter.java
+++ b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/filter/KeycloakPreAuthActionsFilter.java
@@ -18,9 +18,9 @@
package org.keycloak.adapters.springsecurity.filter;
import org.keycloak.adapters.AdapterDeploymentContext;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.NodesRegistrationManagement;
import org.keycloak.adapters.PreAuthActionsHandler;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.spi.UserSessionManagement;
import org.keycloak.adapters.springsecurity.facade.SimpleHttpFacade;
import org.slf4j.Logger;
diff --git a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/token/KeycloakAuthenticationToken.java b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/token/KeycloakAuthenticationToken.java
index 6e09e5e..95db510 100755
--- a/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/token/KeycloakAuthenticationToken.java
+++ b/adapters/oidc/spring-security/src/main/java/org/keycloak/adapters/springsecurity/token/KeycloakAuthenticationToken.java
@@ -17,8 +17,8 @@
package org.keycloak.adapters.springsecurity.token;
-import org.keycloak.adapters.spi.KeycloakAccount;
import org.keycloak.adapters.OidcKeycloakAccount;
+import org.keycloak.adapters.spi.KeycloakAccount;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.core.Authentication;
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBeanTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBeanTest.java
index 24ed504..3546b5b 100644
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBeanTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/AdapterDeploymentContextFactoryBeanTest.java
@@ -17,19 +17,17 @@
package org.keycloak.adapters.springsecurity;
-import java.io.FileNotFoundException;
-
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.spi.HttpFacade;
-
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
+import java.io.FileNotFoundException;
+
import static org.junit.Assert.assertNotNull;
public class AdapterDeploymentContextFactoryBeanTest {
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/HttpHeaderInspectingApiRequestMatcherTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/HttpHeaderInspectingApiRequestMatcherTest.java
index 9684133..8e6ab80 100644
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/HttpHeaderInspectingApiRequestMatcherTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/HttpHeaderInspectingApiRequestMatcherTest.java
@@ -23,7 +23,8 @@ import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.web.util.matcher.RequestMatcher;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* HTTP header inspecting API request matcher tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationEntryPointTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationEntryPointTest.java
index cb18b11..49eb512 100644
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationEntryPointTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationEntryPointTest.java
@@ -24,7 +24,8 @@ import org.springframework.http.HttpStatus;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
/**
* Keycloak authentication entry point tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationProviderTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationProviderTest.java
index 07fc060..06757bb 100644
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationProviderTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakAuthenticationProviderTest.java
@@ -19,8 +19,8 @@ package org.keycloak.adapters.springsecurity.authentication;
import org.junit.Before;
import org.junit.Test;
-import org.keycloak.adapters.spi.KeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.keycloak.adapters.spi.KeycloakAccount;
import org.keycloak.adapters.springsecurity.account.SimpleKeycloakAccount;
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
import org.mockito.internal.util.collections.Sets;
@@ -32,8 +32,11 @@ import org.springframework.security.web.authentication.preauth.PreAuthenticatedA
import java.security.Principal;
import java.util.Set;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
/**
* Keycloak authentication provider tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakLogoutHandlerTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakLogoutHandlerTest.java
index 3d783e3..12865de 100755
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakLogoutHandlerTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/KeycloakLogoutHandlerTest.java
@@ -39,7 +39,12 @@ import java.util.Collection;
import java.util.Collections;
import java.util.UUID;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
/**
* Keycloak logout handler tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticatorTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticatorTest.java
index d5667cb..373a8dd 100755
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticatorTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/authentication/SpringSecurityRequestAuthenticatorTest.java
@@ -22,11 +22,11 @@ import org.junit.Test;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OAuthRequestAuthenticator;
import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.springsecurity.facade.SimpleHttpFacade;
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
import org.keycloak.representations.AccessToken;
@@ -37,8 +37,14 @@ import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.security.core.context.SecurityContextHolder;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
/**
* Spring Security request authenticator tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactoryTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactoryTest.java
index 9777992..bfd3bd0 100755
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactoryTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/client/KeycloakClientRequestFactoryTest.java
@@ -33,8 +33,11 @@ import org.springframework.security.web.authentication.preauth.PreAuthenticatedA
import java.util.Collections;
import java.util.UUID;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
/**
* Keycloak client request factory tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletRequestTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletRequestTest.java
index fd29f39..cb259ce 100644
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletRequestTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletRequestTest.java
@@ -25,7 +25,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.Cookie;
import java.util.List;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* Wrapped HTTP servlet request tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletResponseTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletResponseTest.java
index 8ebdda3..6349fbb 100644
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletResponseTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/facade/WrappedHttpServletResponseTest.java
@@ -25,8 +25,13 @@ import org.springframework.mock.web.MockHttpServletResponse;
import javax.servlet.http.Cookie;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
public class WrappedHttpServletResponseTest {
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilterTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilterTest.java
index 0e81eb3..055447f 100755
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilterTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakAuthenticationProcessingFilterTest.java
@@ -49,8 +49,16 @@ import java.util.Collections;
import java.util.List;
import java.util.UUID;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.startsWith;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
/**
* Keycloak authentication process filter test cases.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakCsrfRequestMatcherTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakCsrfRequestMatcherTest.java
index 521be6e..a693203 100644
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakCsrfRequestMatcherTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/filter/KeycloakCsrfRequestMatcherTest.java
@@ -23,7 +23,8 @@ import org.keycloak.constants.AdapterConstants;
import org.springframework.http.HttpMethod;
import org.springframework.mock.web.MockHttpServletRequest;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* Keycloak CSRF request matcher tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityAdapterTokenStoreFactoryTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityAdapterTokenStoreFactoryTest.java
index 199500c..d074fd2 100755
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityAdapterTokenStoreFactoryTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityAdapterTokenStoreFactoryTest.java
@@ -19,14 +19,15 @@ package org.keycloak.adapters.springsecurity.token;
import org.junit.Before;
import org.junit.Test;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.KeycloakDeployment;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import javax.servlet.http.HttpServletRequest;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* Spring Security adapter token store factory tests.
diff --git a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityTokenStoreTest.java b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityTokenStoreTest.java
index 8ba0b70..8b5ebbc 100755
--- a/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityTokenStoreTest.java
+++ b/adapters/oidc/spring-security/src/test/java/org/keycloak/adapters/springsecurity/token/SpringSecurityTokenStoreTest.java
@@ -37,7 +37,9 @@ import org.springframework.security.web.authentication.preauth.PreAuthenticatedA
import java.security.Principal;
import java.util.Collections;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* Spring Security token store tests.
diff --git a/adapters/oidc/tomcat/tomcat6/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java b/adapters/oidc/tomcat/tomcat6/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
index 22c8da0..b9f4ab8 100755
--- a/adapters/oidc/tomcat/tomcat6/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
+++ b/adapters/oidc/tomcat/tomcat6/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
@@ -23,8 +23,6 @@ import org.apache.catalina.connector.Response;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.deploy.LoginConfig;
import org.apache.catalina.realm.GenericPrincipal;
-import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.KeycloakDeployment;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
diff --git a/adapters/oidc/tomcat/tomcat7/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java b/adapters/oidc/tomcat/tomcat7/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
index bd2967c..18195e3 100755
--- a/adapters/oidc/tomcat/tomcat7/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
+++ b/adapters/oidc/tomcat/tomcat7/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
@@ -22,8 +22,6 @@ import org.apache.catalina.connector.Response;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.deploy.LoginConfig;
import org.apache.catalina.realm.GenericPrincipal;
-import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.KeycloakDeployment;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
diff --git a/adapters/oidc/tomcat/tomcat8/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java b/adapters/oidc/tomcat/tomcat8/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
index 2483271..6a68dd3 100755
--- a/adapters/oidc/tomcat/tomcat8/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
+++ b/adapters/oidc/tomcat/tomcat8/src/main/java/org/keycloak/adapters/tomcat/KeycloakAuthenticatorValve.java
@@ -19,20 +19,15 @@ package org.keycloak.adapters.tomcat;
import org.apache.catalina.authenticator.FormAuthenticator;
import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.realm.GenericPrincipal;
-import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.descriptor.web.LoginConfig;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.spi.HttpFacade;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.security.Principal;
import java.util.List;
diff --git a/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java b/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java
index 106fe2a..32bcf39 100755
--- a/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java
+++ b/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java
@@ -26,17 +26,18 @@ import org.apache.catalina.authenticator.FormAuthenticator;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.keycloak.KeycloakSecurityContext;
-import org.keycloak.constants.AdapterConstants;
import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.AuthChallenge;
-import org.keycloak.adapters.spi.AuthOutcome;
-import org.keycloak.adapters.spi.HttpFacade;
+import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.NodesRegistrationManagement;
import org.keycloak.adapters.PreAuthActionsHandler;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.keycloak.adapters.spi.AuthChallenge;
+import org.keycloak.adapters.spi.AuthOutcome;
+import org.keycloak.adapters.spi.HttpFacade;
+import org.keycloak.constants.AdapterConstants;
import org.keycloak.enums.TokenStore;
import javax.servlet.ServletContext;
@@ -49,7 +50,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.keycloak.adapters.KeycloakConfigResolver;
/**
* Keycloak authentication valve
diff --git a/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaCookieTokenStore.java b/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaCookieTokenStore.java
index 3f1f3ff..d2b6474 100755
--- a/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaCookieTokenStore.java
+++ b/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaCookieTokenStore.java
@@ -17,9 +17,6 @@
package org.keycloak.adapters.tomcat;
-import java.util.Set;
-import java.util.logging.Logger;
-
import org.apache.catalina.connector.Request;
import org.apache.catalina.realm.GenericPrincipal;
import org.keycloak.KeycloakPrincipal;
@@ -27,11 +24,14 @@ import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.AdapterUtils;
import org.keycloak.adapters.CookieTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.HttpFacade;
+
+import java.util.Set;
+import java.util.logging.Logger;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java b/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java
index d85d8f3..cbb69bd 100755
--- a/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java
+++ b/adapters/oidc/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java
@@ -28,13 +28,12 @@ import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import javax.servlet.http.HttpSession;
import java.security.Principal;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
-import javax.servlet.http.HttpSession;
-
/**
* @author <a href="mailto:ungarida@gmail.com">Davide Ungari</a>
* @version $Revision: 1 $
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowKeycloakAuthMech.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowKeycloakAuthMech.java
index d8c9b13..e65d922 100755
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowKeycloakAuthMech.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowKeycloakAuthMech.java
@@ -27,12 +27,12 @@ import io.undertow.util.StatusCodes;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.AuthChallenge;
-import org.keycloak.adapters.spi.AuthOutcome;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.AuthChallenge;
+import org.keycloak.adapters.spi.AuthOutcome;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.enums.TokenStore;
/**
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java
index 9c4296c..8e2da93 100755
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java
@@ -20,14 +20,13 @@ import io.undertow.security.api.SecurityContext;
import io.undertow.server.HttpServerExchange;
import io.undertow.server.session.Session;
import io.undertow.util.Sessions;
-
import org.keycloak.KeycloakPrincipal;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OAuthRequestAuthenticator;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.HttpFacade;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletKeycloakAuthMech.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletKeycloakAuthMech.java
index ab14cf3..6e07656 100755
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletKeycloakAuthMech.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletKeycloakAuthMech.java
@@ -24,10 +24,10 @@ import io.undertow.util.Headers;
import org.jboss.logging.Logger;
import org.keycloak.adapters.AdapterDeploymentContext;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.NodesRegistrationManagement;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.enums.TokenStore;
import javax.servlet.RequestDispatcher;
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletRequestAuthenticator.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletRequestAuthenticator.java
index 716e346..7f23b3b 100755
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletRequestAuthenticator.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletRequestAuthenticator.java
@@ -22,10 +22,10 @@ import io.undertow.servlet.handlers.ServletRequestContext;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OAuthRequestAuthenticator;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.keycloak.adapters.spi.HttpFacade;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletSessionTokenStore.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletSessionTokenStore.java
index 5db3ead..ef6081a 100755
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletSessionTokenStore.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/ServletSessionTokenStore.java
@@ -17,9 +17,6 @@
package org.keycloak.adapters.undertow;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
import io.undertow.security.api.SecurityContext;
import io.undertow.server.HttpServerExchange;
import io.undertow.servlet.handlers.ServletRequestContext;
@@ -31,6 +28,9 @@ import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
/**
* Per-request object. Storage of tokens in servlet HTTP session.
*
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowCookieTokenStore.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowCookieTokenStore.java
index a585d8d..d3556c8 100755
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowCookieTokenStore.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowCookieTokenStore.java
@@ -22,11 +22,11 @@ import org.jboss.logging.Logger;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.adapters.AdapterTokenStore;
import org.keycloak.adapters.CookieTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.OidcKeycloakAccount;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.RequestAuthenticator;
+import org.keycloak.adapters.spi.HttpFacade;
/**
* Per-request object. Storage of tokens in cookie
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowNodesRegistrationManagementWrapper.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowNodesRegistrationManagementWrapper.java
index 4532a08..6978ea5 100644
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowNodesRegistrationManagementWrapper.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowNodesRegistrationManagementWrapper.java
@@ -17,11 +17,11 @@
package org.keycloak.adapters.undertow;
+import org.keycloak.adapters.NodesRegistrationManagement;
+
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
-import org.keycloak.adapters.NodesRegistrationManagement;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowRequestAuthenticator.java b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowRequestAuthenticator.java
index 7e2da66..26f3583 100755
--- a/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowRequestAuthenticator.java
+++ b/adapters/oidc/undertow/src/main/java/org/keycloak/adapters/undertow/UndertowRequestAuthenticator.java
@@ -21,9 +21,9 @@ import io.undertow.security.api.SecurityContext;
import io.undertow.server.HttpServerExchange;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
+import org.keycloak.adapters.spi.HttpFacade;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java
index 5d15b70..5978361 100755
--- a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java
+++ b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java
@@ -17,16 +17,16 @@
package org.keycloak.subsystem.wf8.extension;
+import org.jboss.as.server.deployment.DeploymentUnit;
+import org.jboss.as.web.common.WarMetaData;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.Property;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
import java.util.HashMap;
import java.util.Map;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
-import org.jboss.as.server.deployment.DeploymentUnit;
-import org.jboss.as.web.common.WarMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
/**
* This service keeps track of the entire Keycloak management model so as to provide
diff --git a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakExtension.java b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakExtension.java
index 572e5a1..b195910 100755
--- a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakExtension.java
+++ b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakExtension.java
@@ -18,7 +18,6 @@ package org.keycloak.subsystem.wf8.extension;
import org.jboss.as.controller.Extension;
import org.jboss.as.controller.ExtensionContext;
-import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.ResourceDefinition;
import org.jboss.as.controller.SubsystemRegistration;
diff --git a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakSubsystemAdd.java b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakSubsystemAdd.java
index 52994f4..1f895a0 100755
--- a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakSubsystemAdd.java
+++ b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakSubsystemAdd.java
@@ -22,10 +22,9 @@ import org.jboss.as.controller.OperationContext;
import org.jboss.as.controller.ServiceVerificationHandler;
import org.jboss.as.server.AbstractDeploymentChainStep;
import org.jboss.as.server.DeploymentProcessorTarget;
+import org.jboss.as.server.deployment.DeploymentUnitProcessor;
import org.jboss.as.server.deployment.Phase;
import org.jboss.dmr.ModelNode;
-
-import org.jboss.as.server.deployment.DeploymentUnitProcessor;
import org.jboss.msc.service.ServiceController;
import java.util.List;
diff --git a/adapters/oidc/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/wildfly/WildflyRequestAuthenticator.java b/adapters/oidc/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/wildfly/WildflyRequestAuthenticator.java
index 1faa387..c87b138 100755
--- a/adapters/oidc/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/wildfly/WildflyRequestAuthenticator.java
+++ b/adapters/oidc/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/wildfly/WildflyRequestAuthenticator.java
@@ -26,8 +26,8 @@ import org.jboss.security.SecurityContextAssociation;
import org.jboss.security.SimpleGroup;
import org.jboss.security.SimplePrincipal;
import org.keycloak.adapters.AdapterTokenStore;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.undertow.KeycloakUndertowAccount;
import org.keycloak.adapters.undertow.ServletRequestAuthenticator;
diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java
index 86c9e7e..b9b3ce3 100755
--- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java
+++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java
@@ -17,16 +17,16 @@
package org.keycloak.subsystem.adapter.extension;
+import org.jboss.as.server.deployment.DeploymentUnit;
+import org.jboss.as.web.common.WarMetaData;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.Property;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
import java.util.HashMap;
import java.util.Map;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
-import org.jboss.as.server.deployment.DeploymentUnit;
-import org.jboss.as.web.common.WarMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
/**
* This service keeps track of the entire Keycloak management model so as to provide
diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakSubsystemAdd.java b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakSubsystemAdd.java
index 90ba4b9..8fbee2b 100755
--- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakSubsystemAdd.java
+++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakSubsystemAdd.java
@@ -21,11 +21,10 @@ import org.jboss.as.controller.AbstractBoottimeAddStepHandler;
import org.jboss.as.controller.OperationContext;
import org.jboss.as.server.AbstractDeploymentChainStep;
import org.jboss.as.server.DeploymentProcessorTarget;
+import org.jboss.as.server.deployment.DeploymentUnitProcessor;
import org.jboss.as.server.deployment.Phase;
import org.jboss.dmr.ModelNode;
-import org.jboss.as.server.deployment.DeploymentUnitProcessor;
-
/**
* The Keycloak subsystem add update handler.
*
diff --git a/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/KeycloakSamlExtension.java b/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/KeycloakSamlExtension.java
index 93616b2..3383587 100755
--- a/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/KeycloakSamlExtension.java
+++ b/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/KeycloakSamlExtension.java
@@ -20,7 +20,6 @@ import org.jboss.as.controller.Extension;
import org.jboss.as.controller.ExtensionContext;
import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.PathElement;
-import org.jboss.as.controller.ResourceDefinition;
import org.jboss.as.controller.SubsystemRegistration;
import org.jboss.as.controller.descriptions.StandardResourceDescriptionResolver;
import org.jboss.as.controller.parsing.ExtensionParsingContext;
diff --git a/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/xml/FormattingXMLStreamWriter.java b/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/xml/FormattingXMLStreamWriter.java
index af298e9..0d56659 100644
--- a/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/xml/FormattingXMLStreamWriter.java
+++ b/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/xml/FormattingXMLStreamWriter.java
@@ -19,14 +19,13 @@ package org.keycloak.subsystem.saml.as7.xml;
import org.jboss.staxmapper.XMLExtendedStreamWriter;
-import java.lang.reflect.UndeclaredThrowableException;
-import java.util.ArrayDeque;
-import java.util.Iterator;
-
import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import java.lang.reflect.UndeclaredThrowableException;
+import java.util.ArrayDeque;
+import java.util.Iterator;
/**
* An XML stream writer which nicely formats the XML for configuration files.
diff --git a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/IDP.java b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/IDP.java
index 7502e5d..3960b46 100755
--- a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/IDP.java
+++ b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/IDP.java
@@ -17,8 +17,6 @@
package org.keycloak.adapters.saml.config;
-import org.keycloak.adapters.saml.SamlDeployment;
-
import java.io.Serializable;
import java.util.List;
diff --git a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/DeploymentBuilder.java b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/DeploymentBuilder.java
index e5a6ead..9dfc3e3 100755
--- a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/DeploymentBuilder.java
+++ b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/DeploymentBuilder.java
@@ -23,9 +23,9 @@ import org.keycloak.adapters.saml.config.Key;
import org.keycloak.adapters.saml.config.KeycloakSamlAdapter;
import org.keycloak.adapters.saml.config.SP;
import org.keycloak.common.enums.SslRequired;
+import org.keycloak.common.util.PemUtils;
import org.keycloak.saml.SignatureAlgorithm;
import org.keycloak.saml.common.exceptions.ParsingException;
-import org.keycloak.common.util.PemUtils;
import java.io.File;
import java.io.FileInputStream;
diff --git a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/SPXmlParser.java b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/SPXmlParser.java
index 0816c73..3eeb1f7 100755
--- a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/SPXmlParser.java
+++ b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/SPXmlParser.java
@@ -17,16 +17,6 @@
package org.keycloak.adapters.saml.config.parsers;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLEventReader;
-import javax.xml.stream.events.EndElement;
-import javax.xml.stream.events.StartElement;
-import javax.xml.stream.events.XMLEvent;
-
import org.keycloak.adapters.saml.config.IDP;
import org.keycloak.adapters.saml.config.Key;
import org.keycloak.adapters.saml.config.SP;
@@ -35,6 +25,15 @@ import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.AbstractParser;
import org.keycloak.saml.common.util.StaxParserUtil;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.events.EndElement;
+import javax.xml.stream.events.StartElement;
+import javax.xml.stream.events.XMLEvent;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/DefaultSamlDeployment.java b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/DefaultSamlDeployment.java
index 9e12f48..ee753ad 100755
--- a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/DefaultSamlDeployment.java
+++ b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/DefaultSamlDeployment.java
@@ -17,14 +17,14 @@
package org.keycloak.adapters.saml;
+import org.keycloak.common.enums.SslRequired;
+import org.keycloak.saml.SignatureAlgorithm;
+
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.util.Set;
-import org.keycloak.common.enums.SslRequired;
-import org.keycloak.saml.SignatureAlgorithm;
-
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/SamlInvocationContext.java b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/SamlInvocationContext.java
index 9cfceee..43c33dc 100644
--- a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/SamlInvocationContext.java
+++ b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/SamlInvocationContext.java
@@ -17,10 +17,6 @@
package org.keycloak.adapters.saml.profile;
-import org.keycloak.adapters.saml.SamlDeployment;
-import org.keycloak.adapters.saml.SamlSessionStore;
-import org.keycloak.adapters.spi.HttpFacade;
-
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
*/
diff --git a/adapters/saml/core/src/test/java/org/keycloak/test/adapters/saml/XmlParserTest.java b/adapters/saml/core/src/test/java/org/keycloak/test/adapters/saml/XmlParserTest.java
index 16a04c2..ba01d75 100755
--- a/adapters/saml/core/src/test/java/org/keycloak/test/adapters/saml/XmlParserTest.java
+++ b/adapters/saml/core/src/test/java/org/keycloak/test/adapters/saml/XmlParserTest.java
@@ -27,8 +27,6 @@ import org.keycloak.adapters.saml.config.parsers.KeycloakSamlAdapterXMLParser;
import org.keycloak.saml.common.util.StaxParserUtil;
import javax.xml.XMLConstants;
-import javax.xml.stream.XMLEventReader;
-import javax.xml.transform.stax.StAXSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
diff --git a/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java b/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
index 49d6600..c93a1ae 100755
--- a/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
+++ b/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
@@ -20,8 +20,8 @@ package org.keycloak.adapters.saml.jetty;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java b/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
index 870f986..85aaecf 100755
--- a/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
+++ b/adapters/saml/jetty/jetty8.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
@@ -17,13 +17,12 @@
package org.keycloak.adapters.saml.jetty;
-import org.bouncycastle.cert.ocsp.Req;
import org.eclipse.jetty.server.AbstractHttpConnection;
import org.eclipse.jetty.server.Authentication;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.UserIdentity;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.saml.SamlDeployment;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import javax.servlet.ServletRequest;
diff --git a/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java b/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
index 2dc254b..13f82f7 100755
--- a/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
+++ b/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
@@ -21,8 +21,8 @@ import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java b/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
index 8696801..bb56306 100755
--- a/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
+++ b/adapters/saml/jetty/jetty9.1/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
@@ -17,14 +17,13 @@
package org.keycloak.adapters.saml.jetty;
-import org.bouncycastle.cert.ocsp.Req;
import org.eclipse.jetty.server.Authentication;
import org.eclipse.jetty.server.HttpChannel;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.UserIdentity;
import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.saml.SamlDeployment;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.spi.HttpFacade;
import javax.servlet.ServletRequest;
diff --git a/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java b/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
index cd50fbf..8fe7b01 100755
--- a/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
+++ b/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
@@ -21,8 +21,8 @@ import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java b/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
index 3491ab2..4f79b35 100755
--- a/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
+++ b/adapters/saml/jetty/jetty9.2/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
@@ -22,8 +22,8 @@ import org.eclipse.jetty.server.HttpChannel;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.UserIdentity;
import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.saml.SamlDeployment;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.spi.HttpFacade;
import javax.servlet.ServletRequest;
diff --git a/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java b/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
index 2259086..1724605 100644
--- a/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
+++ b/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/JettyAdapterSessionStore.java
@@ -17,12 +17,11 @@
package org.keycloak.adapters.saml.jetty;
-import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.security.authentication.FormAuthenticator;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.util.MultiMap;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.common.util.MultivaluedHashMap;
import javax.servlet.http.HttpSession;
diff --git a/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java b/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
index 0d4268f..91d320c 100644
--- a/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
+++ b/adapters/saml/jetty/jetty9.3/src/main/java/org/keycloak/adapters/saml/jetty/KeycloakSamlAuthenticator.java
@@ -18,12 +18,11 @@
package org.keycloak.adapters.saml.jetty;
import org.eclipse.jetty.server.Authentication;
-import org.eclipse.jetty.server.HttpChannel;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.UserIdentity;
import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
-import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.saml.SamlDeployment;
+import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.spi.HttpFacade;
import javax.servlet.ServletRequest;
diff --git a/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/AbstractSamlAuthenticator.java b/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/AbstractSamlAuthenticator.java
index 4ef67f8..ec2d1ab 100755
--- a/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/AbstractSamlAuthenticator.java
+++ b/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/AbstractSamlAuthenticator.java
@@ -30,16 +30,6 @@ import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.UserIdentity;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.jboss.logging.Logger;
-import org.keycloak.adapters.saml.SamlSessionStore;
-import org.keycloak.adapters.saml.profile.SamlAuthenticationHandler;
-import org.keycloak.adapters.saml.profile.webbrowsersso.BrowserHandler;
-import org.keycloak.adapters.saml.profile.webbrowsersso.SamlEndpoint;
-import org.keycloak.adapters.spi.AdapterSessionStore;
-import org.keycloak.adapters.spi.AuthChallenge;
-import org.keycloak.adapters.spi.AuthOutcome;
-import org.keycloak.adapters.spi.HttpFacade;
-import org.keycloak.adapters.spi.InMemorySessionIdMapper;
-import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.jetty.spi.JettyHttpFacade;
import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
import org.keycloak.adapters.saml.AdapterConstants;
@@ -48,8 +38,18 @@ import org.keycloak.adapters.saml.SamlConfigResolver;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlDeploymentContext;
import org.keycloak.adapters.saml.SamlSession;
+import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.saml.config.parsers.DeploymentBuilder;
import org.keycloak.adapters.saml.config.parsers.ResourceLoader;
+import org.keycloak.adapters.saml.profile.SamlAuthenticationHandler;
+import org.keycloak.adapters.saml.profile.webbrowsersso.BrowserHandler;
+import org.keycloak.adapters.saml.profile.webbrowsersso.SamlEndpoint;
+import org.keycloak.adapters.spi.AdapterSessionStore;
+import org.keycloak.adapters.spi.AuthChallenge;
+import org.keycloak.adapters.spi.AuthOutcome;
+import org.keycloak.adapters.spi.HttpFacade;
+import org.keycloak.adapters.spi.InMemorySessionIdMapper;
+import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.saml.common.exceptions.ParsingException;
import javax.security.auth.Subject;
diff --git a/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/JettySamlSessionStore.java b/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/JettySamlSessionStore.java
index 1ccfc67..0a96e64 100755
--- a/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/JettySamlSessionStore.java
+++ b/adapters/saml/jetty/jetty-core/src/main/java/org/keycloak/adapters/saml/jetty/JettySamlSessionStore.java
@@ -19,18 +19,17 @@ package org.keycloak.adapters.saml.jetty;
import org.eclipse.jetty.server.Request;
import org.jboss.logging.Logger;
+import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
import org.keycloak.adapters.saml.SamlDeployment;
+import org.keycloak.adapters.saml.SamlSession;
+import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.saml.SamlUtil;
import org.keycloak.adapters.spi.AdapterSessionStore;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.spi.SessionIdMapper;
-import org.keycloak.adapters.jetty.spi.JettyUserSessionManagement;
-import org.keycloak.adapters.saml.SamlSession;
-import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.common.util.KeycloakUriBuilder;
import javax.servlet.http.HttpSession;
-
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
diff --git a/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/FilterSamlSessionStore.java b/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/FilterSamlSessionStore.java
index 3d6d6e3..ee24c88 100755
--- a/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/FilterSamlSessionStore.java
+++ b/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/FilterSamlSessionStore.java
@@ -18,19 +18,18 @@
package org.keycloak.adapters.saml.servlet;
import org.jboss.logging.Logger;
+import org.keycloak.adapters.saml.SamlSession;
+import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.saml.SamlUtil;
+import org.keycloak.adapters.servlet.FilterSessionStore;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.spi.KeycloakAccount;
import org.keycloak.adapters.spi.SessionIdMapper;
-import org.keycloak.adapters.saml.SamlSession;
-import org.keycloak.adapters.saml.SamlSessionStore;
-import org.keycloak.adapters.servlet.FilterSessionStore;
import org.keycloak.common.util.KeycloakUriBuilder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpSession;
-
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
diff --git a/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/SamlFilter.java b/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/SamlFilter.java
index 8bd7389..5747de0 100755
--- a/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/SamlFilter.java
+++ b/adapters/saml/servlet-filter/src/main/java/org/keycloak/adapters/saml/servlet/SamlFilter.java
@@ -17,24 +17,6 @@
package org.keycloak.adapters.saml.servlet;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
-
import org.keycloak.adapters.saml.DefaultSamlDeployment;
import org.keycloak.adapters.saml.SamlAuthenticator;
import org.keycloak.adapters.saml.SamlDeployment;
@@ -54,6 +36,23 @@ import org.keycloak.adapters.spi.InMemorySessionIdMapper;
import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.saml.common.exceptions.ParsingException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/adapters/saml/tomcat/tomcat8/src/main/java/org/keycloak/adapters/saml/tomcat/SamlAuthenticatorValve.java b/adapters/saml/tomcat/tomcat8/src/main/java/org/keycloak/adapters/saml/tomcat/SamlAuthenticatorValve.java
index 5d221e6..eef8c6a 100755
--- a/adapters/saml/tomcat/tomcat8/src/main/java/org/keycloak/adapters/saml/tomcat/SamlAuthenticatorValve.java
+++ b/adapters/saml/tomcat/tomcat8/src/main/java/org/keycloak/adapters/saml/tomcat/SamlAuthenticatorValve.java
@@ -23,7 +23,6 @@ import org.apache.catalina.core.StandardContext;
import org.apache.catalina.realm.GenericPrincipal;
import org.apache.tomcat.util.descriptor.web.LoginConfig;
import org.keycloak.adapters.saml.AbstractSamlAuthenticatorValve;
-import org.keycloak.adapters.saml.CatalinaSamlSessionStore;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.spi.HttpFacade;
diff --git a/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/AbstractSamlAuthenticatorValve.java b/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/AbstractSamlAuthenticatorValve.java
index aa75439..eb6b9cc 100755
--- a/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/AbstractSamlAuthenticatorValve.java
+++ b/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/AbstractSamlAuthenticatorValve.java
@@ -24,13 +24,13 @@ import org.apache.catalina.LifecycleListener;
import org.apache.catalina.authenticator.FormAuthenticator;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
+import org.keycloak.adapters.saml.config.parsers.DeploymentBuilder;
+import org.keycloak.adapters.saml.config.parsers.ResourceLoader;
import org.keycloak.adapters.spi.AuthChallenge;
import org.keycloak.adapters.spi.AuthOutcome;
import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.spi.InMemorySessionIdMapper;
import org.keycloak.adapters.spi.SessionIdMapper;
-import org.keycloak.adapters.saml.config.parsers.DeploymentBuilder;
-import org.keycloak.adapters.saml.config.parsers.ResourceLoader;
import org.keycloak.adapters.tomcat.CatalinaHttpFacade;
import org.keycloak.adapters.tomcat.CatalinaUserSessionManagement;
import org.keycloak.adapters.tomcat.GenericPrincipalFactory;
diff --git a/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlEndpoint.java b/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlEndpoint.java
index af12fbd..36c94a2 100755
--- a/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlEndpoint.java
+++ b/adapters/saml/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/saml/CatalinaSamlEndpoint.java
@@ -18,7 +18,6 @@
package org.keycloak.adapters.saml;
import org.keycloak.adapters.saml.profile.SamlAuthenticationHandler;
-import org.keycloak.adapters.saml.profile.webbrowsersso.BrowserHandler;
import org.keycloak.adapters.saml.profile.webbrowsersso.SamlEndpoint;
import org.keycloak.adapters.spi.HttpFacade;
diff --git a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/AbstractSamlAuthMech.java b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/AbstractSamlAuthMech.java
index c447af2..614a839 100755
--- a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/AbstractSamlAuthMech.java
+++ b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/AbstractSamlAuthMech.java
@@ -16,6 +16,14 @@
*/
package org.keycloak.adapters.saml.undertow;
+import io.undertow.security.api.AuthenticationMechanism;
+import io.undertow.security.api.NotificationReceiver;
+import io.undertow.security.api.SecurityContext;
+import io.undertow.security.api.SecurityNotification;
+import io.undertow.server.HttpServerExchange;
+import io.undertow.util.AttachmentKey;
+import io.undertow.util.Headers;
+import io.undertow.util.StatusCodes;
import org.keycloak.adapters.saml.SamlAuthenticator;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlDeploymentContext;
@@ -26,15 +34,6 @@ import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.undertow.UndertowHttpFacade;
import org.keycloak.adapters.undertow.UndertowUserSessionManagement;
-import io.undertow.security.api.AuthenticationMechanism;
-import io.undertow.security.api.NotificationReceiver;
-import io.undertow.security.api.SecurityContext;
-import io.undertow.security.api.SecurityNotification;
-import io.undertow.server.HttpServerExchange;
-import io.undertow.util.AttachmentKey;
-import io.undertow.util.Headers;
-import io.undertow.util.StatusCodes;
-
/**
* Abstract base class for a Keycloak-enabled Undertow AuthenticationMechanism.
*
diff --git a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlAuthMech.java b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlAuthMech.java
index 7d3f487..8818171 100755
--- a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlAuthMech.java
+++ b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlAuthMech.java
@@ -21,12 +21,12 @@ import io.undertow.security.api.SecurityContext;
import io.undertow.server.HttpServerExchange;
import io.undertow.servlet.handlers.ServletRequestContext;
import io.undertow.util.Headers;
-import org.keycloak.adapters.spi.HttpFacade;
-import org.keycloak.adapters.spi.InMemorySessionIdMapper;
-import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlDeploymentContext;
import org.keycloak.adapters.saml.SamlSessionStore;
+import org.keycloak.adapters.spi.HttpFacade;
+import org.keycloak.adapters.spi.InMemorySessionIdMapper;
+import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.undertow.ServletHttpFacade;
import org.keycloak.adapters.undertow.UndertowHttpFacade;
import org.keycloak.adapters.undertow.UndertowUserSessionManagement;
diff --git a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlSessionStore.java b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlSessionStore.java
index 76e6452..72acda5 100755
--- a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlSessionStore.java
+++ b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/ServletSamlSessionStore.java
@@ -25,10 +25,10 @@ import io.undertow.servlet.handlers.ServletRequestContext;
import io.undertow.servlet.spec.HttpSessionImpl;
import org.jboss.logging.Logger;
import org.keycloak.adapters.saml.SamlDeployment;
-import org.keycloak.adapters.saml.SamlUtil;
-import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.saml.SamlSession;
import org.keycloak.adapters.saml.SamlSessionStore;
+import org.keycloak.adapters.saml.SamlUtil;
+import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.undertow.ChangeSessionId;
import org.keycloak.adapters.undertow.SavedRequest;
import org.keycloak.adapters.undertow.ServletHttpFacade;
diff --git a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlAuthenticator.java b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlAuthenticator.java
index 2a09ee1..40fa1d6 100755
--- a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlAuthenticator.java
+++ b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlAuthenticator.java
@@ -19,14 +19,13 @@ package org.keycloak.adapters.saml.undertow;
import io.undertow.security.api.SecurityContext;
import io.undertow.security.idm.Account;
-import org.keycloak.adapters.saml.profile.SamlAuthenticationHandler;
-import org.keycloak.adapters.saml.profile.webbrowsersso.BrowserHandler;
-import org.keycloak.adapters.saml.profile.webbrowsersso.SamlEndpoint;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.saml.SamlAuthenticator;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlSession;
import org.keycloak.adapters.saml.SamlSessionStore;
+import org.keycloak.adapters.saml.profile.SamlAuthenticationHandler;
+import org.keycloak.adapters.saml.profile.webbrowsersso.BrowserHandler;
+import org.keycloak.adapters.spi.HttpFacade;
import java.security.Principal;
import java.util.Set;
diff --git a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlEndpoint.java b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlEndpoint.java
index ee48f1b..3f5cc1a 100755
--- a/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlEndpoint.java
+++ b/adapters/saml/undertow/src/main/java/org/keycloak/adapters/saml/undertow/UndertowSamlEndpoint.java
@@ -17,7 +17,6 @@
package org.keycloak.adapters.saml.undertow;
-import io.undertow.server.HttpHandler;
import org.keycloak.adapters.saml.SamlAuthenticator;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlSession;
diff --git a/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlAuthMech.java b/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlAuthMech.java
index b0825ce..bdf0606 100755
--- a/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlAuthMech.java
+++ b/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlAuthMech.java
@@ -19,11 +19,11 @@ package org.keycloak.adapters.saml.wildfly;
import io.undertow.security.api.SecurityContext;
import io.undertow.server.HttpServerExchange;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.saml.SamlDeployment;
import org.keycloak.adapters.saml.SamlDeploymentContext;
import org.keycloak.adapters.saml.SamlSessionStore;
import org.keycloak.adapters.saml.undertow.ServletSamlAuthMech;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.undertow.UndertowUserSessionManagement;
/**
diff --git a/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlSessionStore.java b/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlSessionStore.java
index 9456140..b4c213a 100755
--- a/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlSessionStore.java
+++ b/adapters/saml/wildfly/wildfly-adapter/src/main/java/org/keycloak/adapters/saml/wildfly/WildflySamlSessionStore.java
@@ -20,9 +20,9 @@ package org.keycloak.adapters.saml.wildfly;
import io.undertow.security.api.SecurityContext;
import io.undertow.server.HttpServerExchange;
import org.keycloak.adapters.saml.SamlDeployment;
-import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.saml.SamlSession;
import org.keycloak.adapters.saml.undertow.ServletSamlSessionStore;
+import org.keycloak.adapters.spi.SessionIdMapper;
import org.keycloak.adapters.undertow.UndertowUserSessionManagement;
/**
diff --git a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSamlExtension.java b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSamlExtension.java
index a18e0b2..a14e3d5 100755
--- a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSamlExtension.java
+++ b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSamlExtension.java
@@ -20,7 +20,6 @@ import org.jboss.as.controller.Extension;
import org.jboss.as.controller.ExtensionContext;
import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.PathElement;
-import org.jboss.as.controller.ResourceDefinition;
import org.jboss.as.controller.SubsystemRegistration;
import org.jboss.as.controller.descriptions.StandardResourceDescriptionResolver;
import org.jboss.as.controller.parsing.ExtensionParsingContext;
diff --git a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSubsystemParser.java b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSubsystemParser.java
index c6a2ae0..f938402 100755
--- a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSubsystemParser.java
+++ b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/KeycloakSubsystemParser.java
@@ -32,9 +32,7 @@ import org.jboss.staxmapper.XMLExtendedStreamWriter;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
-import java.util.Arrays;
import java.util.Collections;
-import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
diff --git a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/SecureDeploymentDefinition.java b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/SecureDeploymentDefinition.java
index c4c0f6b..15bf36e 100644
--- a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/SecureDeploymentDefinition.java
+++ b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/SecureDeploymentDefinition.java
@@ -16,15 +16,12 @@
*/
package org.keycloak.subsystem.adapter.saml.extension;
-import org.jboss.as.controller.*;
+import org.jboss.as.controller.PathElement;
+import org.jboss.as.controller.ReloadRequiredRemoveStepHandler;
+import org.jboss.as.controller.SimpleResourceDefinition;
import org.jboss.as.controller.operations.common.GenericSubsystemDescribeHandler;
import org.jboss.as.controller.registry.ManagementResourceRegistration;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
/**
* Defines attributes and operations for a secure-deployment.
*/
diff --git a/adapters/spi/tomcat-adapter-spi/src/main/java/org/keycloak/adapters/tomcat/CatalinaUserSessionManagementWrapper.java b/adapters/spi/tomcat-adapter-spi/src/main/java/org/keycloak/adapters/tomcat/CatalinaUserSessionManagementWrapper.java
index e9781af..18e5b43 100755
--- a/adapters/spi/tomcat-adapter-spi/src/main/java/org/keycloak/adapters/tomcat/CatalinaUserSessionManagementWrapper.java
+++ b/adapters/spi/tomcat-adapter-spi/src/main/java/org/keycloak/adapters/tomcat/CatalinaUserSessionManagementWrapper.java
@@ -17,11 +17,11 @@
package org.keycloak.adapters.tomcat;
-import java.util.List;
-
import org.apache.catalina.Manager;
import org.keycloak.adapters.spi.UserSessionManagement;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ChangeSessionId.java b/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ChangeSessionId.java
index 95fdc15..24eef7e 100755
--- a/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ChangeSessionId.java
+++ b/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ChangeSessionId.java
@@ -19,8 +19,6 @@ package org.keycloak.adapters.undertow;
import io.undertow.server.HttpServerExchange;
import io.undertow.server.session.Session;
-import io.undertow.server.session.SessionConfig;
-import io.undertow.server.session.SessionManager;
import io.undertow.servlet.api.DeploymentInfo;
import io.undertow.servlet.handlers.ServletRequestContext;
import io.undertow.servlet.spec.HttpSessionImpl;
diff --git a/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ServletHttpFacade.java b/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ServletHttpFacade.java
index c42b43b..fbcd6d3 100755
--- a/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ServletHttpFacade.java
+++ b/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/ServletHttpFacade.java
@@ -20,12 +20,10 @@ package org.keycloak.adapters.undertow;
import io.undertow.server.HttpServerExchange;
import io.undertow.servlet.handlers.ServletRequestContext;
import org.keycloak.adapters.spi.AuthenticationError;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.spi.LogoutError;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/SessionManagementBridge.java b/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/SessionManagementBridge.java
index 7ca752e..fcde537 100755
--- a/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/SessionManagementBridge.java
+++ b/adapters/spi/undertow-adapter-spi/src/main/java/org/keycloak/adapters/undertow/SessionManagementBridge.java
@@ -17,10 +17,8 @@
package org.keycloak.adapters.undertow;
import io.undertow.server.session.SessionManager;
-import io.undertow.servlet.api.DeploymentInfo;
import org.keycloak.adapters.spi.UserSessionManagement;
-import java.lang.reflect.Method;
import java.util.List;
/**
diff --git a/authz/client/src/main/java/org/keycloak/authorization/client/AuthorizationDeniedException.java b/authz/client/src/main/java/org/keycloak/authorization/client/AuthorizationDeniedException.java
index ffab2b5..8c706b3 100644
--- a/authz/client/src/main/java/org/keycloak/authorization/client/AuthorizationDeniedException.java
+++ b/authz/client/src/main/java/org/keycloak/authorization/client/AuthorizationDeniedException.java
@@ -17,8 +17,6 @@
*/
package org.keycloak.authorization.client;
-import org.keycloak.authorization.client.util.HttpResponseException;
-
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
*/
diff --git a/authz/client/src/main/java/org/keycloak/authorization/client/representation/PermissionRequest.java b/authz/client/src/main/java/org/keycloak/authorization/client/representation/PermissionRequest.java
index bc9037e..39518fc 100644
--- a/authz/client/src/main/java/org/keycloak/authorization/client/representation/PermissionRequest.java
+++ b/authz/client/src/main/java/org/keycloak/authorization/client/representation/PermissionRequest.java
@@ -19,8 +19,6 @@ package org.keycloak.authorization.client.representation;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.Set;
/**
diff --git a/authz/client/src/main/java/org/keycloak/authorization/client/resource/AuthorizationResource.java b/authz/client/src/main/java/org/keycloak/authorization/client/resource/AuthorizationResource.java
index 49b6d2d..9a03e5c 100644
--- a/authz/client/src/main/java/org/keycloak/authorization/client/resource/AuthorizationResource.java
+++ b/authz/client/src/main/java/org/keycloak/authorization/client/resource/AuthorizationResource.java
@@ -25,8 +25,6 @@ import org.keycloak.authorization.client.util.Http;
import org.keycloak.authorization.client.util.HttpResponseException;
import org.keycloak.util.JsonSerialization;
-import java.io.IOException;
-
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
*/
diff --git a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java
index c8a99fe..9fb9787 100644
--- a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java
+++ b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java
@@ -21,7 +21,6 @@ import org.keycloak.authorization.AuthorizationProvider;
import org.keycloak.authorization.identity.Identity;
import org.keycloak.authorization.model.Policy;
import org.keycloak.authorization.policy.evaluation.Evaluation;
-import org.keycloak.authorization.policy.evaluation.EvaluationContext;
import org.keycloak.authorization.policy.provider.PolicyProvider;
import org.keycloak.models.ClientModel;
import org.keycloak.models.RealmModel;
diff --git a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/time/TimePolicyProvider.java b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/time/TimePolicyProvider.java
index 3205cc5..84ba1a2 100644
--- a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/time/TimePolicyProvider.java
+++ b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/time/TimePolicyProvider.java
@@ -25,8 +25,6 @@ import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
-import static com.sun.corba.se.spi.activation.IIOP_CLEAR_TEXT.value;
-
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
*/
diff --git a/common/src/main/java/org/keycloak/common/util/CertificateUtils.java b/common/src/main/java/org/keycloak/common/util/CertificateUtils.java
index 6730db2..9d3e76f 100755
--- a/common/src/main/java/org/keycloak/common/util/CertificateUtils.java
+++ b/common/src/main/java/org/keycloak/common/util/CertificateUtils.java
@@ -17,14 +17,6 @@
package org.keycloak.common.util;
-import java.math.BigInteger;
-import java.security.KeyPair;
-import java.security.PrivateKey;
-import java.security.SecureRandom;
-import java.security.cert.X509Certificate;
-import java.util.Calendar;
-import java.util.Date;
-
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers;
import org.bouncycastle.asn1.x500.X500Name;
@@ -49,6 +41,14 @@ import org.bouncycastle.operator.bc.BcDigestCalculatorProvider;
import org.bouncycastle.operator.bc.BcRSAContentSignerBuilder;
import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
+import java.math.BigInteger;
+import java.security.KeyPair;
+import java.security.PrivateKey;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
+import java.util.Calendar;
+import java.util.Date;
+
/**
* The Class CertificateUtils provides utility functions for generation of V1 and V3 {@link java.security.cert.X509Certificate}
*
diff --git a/common/src/main/java/org/keycloak/common/util/ConcurrentMultivaluedHashMap.java b/common/src/main/java/org/keycloak/common/util/ConcurrentMultivaluedHashMap.java
index 56226e0..c092c6f 100755
--- a/common/src/main/java/org/keycloak/common/util/ConcurrentMultivaluedHashMap.java
+++ b/common/src/main/java/org/keycloak/common/util/ConcurrentMultivaluedHashMap.java
@@ -17,9 +17,7 @@
package org.keycloak.common.util;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
diff --git a/common/src/main/java/org/keycloak/common/util/KerberosJdkProvider.java b/common/src/main/java/org/keycloak/common/util/KerberosJdkProvider.java
index ffd42f7..f84f4d9 100644
--- a/common/src/main/java/org/keycloak/common/util/KerberosJdkProvider.java
+++ b/common/src/main/java/org/keycloak/common/util/KerberosJdkProvider.java
@@ -17,6 +17,16 @@
package org.keycloak.common.util;
+import org.ietf.jgss.GSSCredential;
+import org.ietf.jgss.GSSManager;
+import org.ietf.jgss.GSSName;
+import org.keycloak.common.constants.KerberosConstants;
+
+import javax.security.auth.Subject;
+import javax.security.auth.kerberos.KerberosPrincipal;
+import javax.security.auth.kerberos.KerberosTicket;
+import javax.security.auth.login.AppConfigurationEntry;
+import javax.security.auth.login.Configuration;
import java.io.File;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
@@ -27,17 +37,6 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Set;
-import javax.security.auth.Subject;
-import javax.security.auth.kerberos.KerberosPrincipal;
-import javax.security.auth.kerberos.KerberosTicket;
-import javax.security.auth.login.AppConfigurationEntry;
-import javax.security.auth.login.Configuration;
-
-import org.ietf.jgss.GSSCredential;
-import org.ietf.jgss.GSSManager;
-import org.ietf.jgss.GSSName;
-import org.keycloak.common.constants.KerberosConstants;
-
/**
* Provides abstraction to handle differences between various JDK vendors (Sun, IBM)
*
diff --git a/common/src/main/java/org/keycloak/common/util/KerberosSerializationUtils.java b/common/src/main/java/org/keycloak/common/util/KerberosSerializationUtils.java
index 17a11e4..32db75a 100644
--- a/common/src/main/java/org/keycloak/common/util/KerberosSerializationUtils.java
+++ b/common/src/main/java/org/keycloak/common/util/KerberosSerializationUtils.java
@@ -17,6 +17,9 @@
package org.keycloak.common.util;
+import org.ietf.jgss.GSSCredential;
+
+import javax.security.auth.kerberos.KerberosTicket;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -25,13 +28,6 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;
-import java.util.Iterator;
-import java.util.Set;
-
-import javax.security.auth.Subject;
-import javax.security.auth.kerberos.KerberosTicket;
-
-import org.ietf.jgss.GSSCredential;
/**
* Provides serialization/deserialization of kerberos {@link org.ietf.jgss.GSSCredential}, so it can be transmitted from auth-server to the application
diff --git a/common/src/main/java/org/keycloak/common/util/KeystoreUtil.java b/common/src/main/java/org/keycloak/common/util/KeystoreUtil.java
index eecd6b6..dad2a31 100755
--- a/common/src/main/java/org/keycloak/common/util/KeystoreUtil.java
+++ b/common/src/main/java/org/keycloak/common/util/KeystoreUtil.java
@@ -17,6 +17,8 @@
package org.keycloak.common.util;
+import org.keycloak.common.constants.GenericConstants;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -25,8 +27,6 @@ import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.PublicKey;
-import org.keycloak.common.constants.GenericConstants;
-
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/core/src/main/java/org/keycloak/jose/jwk/JSONWebKeySet.java b/core/src/main/java/org/keycloak/jose/jwk/JSONWebKeySet.java
index 4dccf06..1949c57 100644
--- a/core/src/main/java/org/keycloak/jose/jwk/JSONWebKeySet.java
+++ b/core/src/main/java/org/keycloak/jose/jwk/JSONWebKeySet.java
@@ -18,7 +18,6 @@
package org.keycloak.jose.jwk;
import com.fasterxml.jackson.annotation.JsonProperty;
-import org.keycloak.jose.jwk.JWK;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/core/src/main/java/org/keycloak/jose/jws/crypto/HashProvider.java b/core/src/main/java/org/keycloak/jose/jws/crypto/HashProvider.java
index c8fa714..fcdc2a4 100644
--- a/core/src/main/java/org/keycloak/jose/jws/crypto/HashProvider.java
+++ b/core/src/main/java/org/keycloak/jose/jws/crypto/HashProvider.java
@@ -17,12 +17,12 @@
package org.keycloak.jose.jws.crypto;
-import java.security.MessageDigest;
-import java.util.Arrays;
-
import org.keycloak.common.util.Base64Url;
import org.keycloak.jose.jws.Algorithm;
+import java.security.MessageDigest;
+import java.util.Arrays;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/core/src/main/java/org/keycloak/jose/jws/crypto/HMACProvider.java b/core/src/main/java/org/keycloak/jose/jws/crypto/HMACProvider.java
index 02212b9..c2ebc26 100755
--- a/core/src/main/java/org/keycloak/jose/jws/crypto/HMACProvider.java
+++ b/core/src/main/java/org/keycloak/jose/jws/crypto/HMACProvider.java
@@ -18,9 +18,9 @@
package org.keycloak.jose.jws.crypto;
+import org.keycloak.common.util.Base64Url;
import org.keycloak.jose.jws.Algorithm;
import org.keycloak.jose.jws.JWSInput;
-import org.keycloak.common.util.Base64Url;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
diff --git a/core/src/main/java/org/keycloak/jose/jws/crypto/RSAProvider.java b/core/src/main/java/org/keycloak/jose/jws/crypto/RSAProvider.java
index b10da01..9703695 100755
--- a/core/src/main/java/org/keycloak/jose/jws/crypto/RSAProvider.java
+++ b/core/src/main/java/org/keycloak/jose/jws/crypto/RSAProvider.java
@@ -18,9 +18,9 @@
package org.keycloak.jose.jws.crypto;
+import org.keycloak.common.util.PemUtils;
import org.keycloak.jose.jws.Algorithm;
import org.keycloak.jose.jws.JWSInput;
-import org.keycloak.common.util.PemUtils;
import java.security.PrivateKey;
import java.security.PublicKey;
diff --git a/core/src/main/java/org/keycloak/jose/jws/JWSBuilder.java b/core/src/main/java/org/keycloak/jose/jws/JWSBuilder.java
index 68ee65d..a17050e 100755
--- a/core/src/main/java/org/keycloak/jose/jws/JWSBuilder.java
+++ b/core/src/main/java/org/keycloak/jose/jws/JWSBuilder.java
@@ -17,9 +17,9 @@
package org.keycloak.jose.jws;
+import org.keycloak.common.util.Base64Url;
import org.keycloak.jose.jws.crypto.HMACProvider;
import org.keycloak.jose.jws.crypto.RSAProvider;
-import org.keycloak.common.util.Base64Url;
import org.keycloak.util.JsonSerialization;
import javax.crypto.SecretKey;
diff --git a/core/src/main/java/org/keycloak/KeycloakSecurityContext.java b/core/src/main/java/org/keycloak/KeycloakSecurityContext.java
index 68ac957..33e8c32 100755
--- a/core/src/main/java/org/keycloak/KeycloakSecurityContext.java
+++ b/core/src/main/java/org/keycloak/KeycloakSecurityContext.java
@@ -17,9 +17,9 @@
package org.keycloak;
+import org.keycloak.common.util.Base64Url;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.IDToken;
-import org.keycloak.common.util.Base64Url;
import org.keycloak.util.JsonSerialization;
import java.io.IOException;
diff --git a/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java
index c89a2d6..8f3c795 100644
--- a/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java
@@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.net.URI;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
diff --git a/core/src/main/java/org/keycloak/representations/idm/ComponentRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/ComponentRepresentation.java
index bbc4a42..2fac965 100755
--- a/core/src/main/java/org/keycloak/representations/idm/ComponentRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/ComponentRepresentation.java
@@ -19,9 +19,6 @@ package org.keycloak.representations.idm;
import org.keycloak.common.util.MultivaluedHashMap;
-import java.util.List;
-import java.util.Map;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/core/src/main/java/org/keycloak/representations/idm/ComponentTypeRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/ComponentTypeRepresentation.java
index 8ba0da6..76ba16d 100644
--- a/core/src/main/java/org/keycloak/representations/idm/ComponentTypeRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/ComponentTypeRepresentation.java
@@ -17,10 +17,7 @@
package org.keycloak.representations.idm;
-import java.util.HashMap;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/core/src/main/java/org/keycloak/representations/idm/CredentialRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/CredentialRepresentation.java
index f48d726..d597cf3 100755
--- a/core/src/main/java/org/keycloak/representations/idm/CredentialRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/CredentialRepresentation.java
@@ -19,8 +19,6 @@ package org.keycloak.representations.idm;
import org.keycloak.common.util.MultivaluedHashMap;
-import java.util.Map;
-
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/core/src/main/java/org/keycloak/representations/idm/GroupRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/GroupRepresentation.java
index 3baa22f..180db64 100755
--- a/core/src/main/java/org/keycloak/representations/idm/GroupRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/GroupRepresentation.java
@@ -17,8 +17,6 @@
package org.keycloak.representations.idm;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
diff --git a/core/src/main/java/org/keycloak/representations/idm/PartialImportRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/PartialImportRepresentation.java
index 520c130..5e17e9d 100644
--- a/core/src/main/java/org/keycloak/representations/idm/PartialImportRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/PartialImportRepresentation.java
@@ -17,9 +17,10 @@
package org.keycloak.representations.idm;
-import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import java.util.List;
+
/**
* Used for partial import of users, groups, clients, roles, and identity providers.
*
diff --git a/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java
index 72eb550..ceb2fe9 100755
--- a/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/PublishedRealmRepresentation.java
@@ -17,9 +17,9 @@
package org.keycloak.representations.idm;
-import org.bouncycastle.openssl.PEMWriter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import org.bouncycastle.openssl.PEMWriter;
import org.keycloak.common.util.PemUtils;
import java.io.IOException;
diff --git a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
index 89e0c01..776aa0e 100755
--- a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java
@@ -20,7 +20,12 @@ package org.keycloak.representations.idm;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.keycloak.common.util.MultivaluedHashMap;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/core/src/main/java/org/keycloak/representations/idm/UserSessionRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/UserSessionRepresentation.java
index f817876..6620604 100755
--- a/core/src/main/java/org/keycloak/representations/idm/UserSessionRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/UserSessionRepresentation.java
@@ -18,9 +18,7 @@
package org.keycloak.representations.idm;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/core/src/main/java/org/keycloak/representations/JsonWebToken.java b/core/src/main/java/org/keycloak/representations/JsonWebToken.java
index f40405b..e499271 100755
--- a/core/src/main/java/org/keycloak/representations/JsonWebToken.java
+++ b/core/src/main/java/org/keycloak/representations/JsonWebToken.java
@@ -23,9 +23,9 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import org.keycloak.common.util.Time;
import org.keycloak.json.StringOrArrayDeserializer;
import org.keycloak.json.StringOrArraySerializer;
-import org.keycloak.common.util.Time;
import java.io.Serializable;
import java.util.HashMap;
diff --git a/core/src/main/java/org/keycloak/representations/UserInfo.java b/core/src/main/java/org/keycloak/representations/UserInfo.java
index 7849718..267696e 100755
--- a/core/src/main/java/org/keycloak/representations/UserInfo.java
+++ b/core/src/main/java/org/keycloak/representations/UserInfo.java
@@ -16,9 +16,6 @@
*/
package org.keycloak.representations;
-import java.util.HashMap;
-import java.util.Map;
-
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -28,6 +25,9 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.keycloak.json.StringOrArrayDeserializer;
import org.keycloak.json.StringOrArraySerializer;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* @author pedroigor
*/
diff --git a/core/src/main/java/org/keycloak/util/JWKSUtils.java b/core/src/main/java/org/keycloak/util/JWKSUtils.java
index 3a784b3..8db20e8 100644
--- a/core/src/main/java/org/keycloak/util/JWKSUtils.java
+++ b/core/src/main/java/org/keycloak/util/JWKSUtils.java
@@ -17,14 +17,14 @@
package org.keycloak.util;
-import java.security.PublicKey;
-import java.util.HashMap;
-import java.util.Map;
-
import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.jose.jwk.JWK;
import org.keycloak.jose.jwk.JWKParser;
+import java.security.PublicKey;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/core/src/main/java/org/keycloak/util/SystemPropertiesJsonParserFactory.java b/core/src/main/java/org/keycloak/util/SystemPropertiesJsonParserFactory.java
index 0d786f2..10481fb 100644
--- a/core/src/main/java/org/keycloak/util/SystemPropertiesJsonParserFactory.java
+++ b/core/src/main/java/org/keycloak/util/SystemPropertiesJsonParserFactory.java
@@ -17,11 +17,6 @@
package org.keycloak.util;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.Properties;
-
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.io.IOContext;
import com.fasterxml.jackson.core.util.JsonParserDelegate;
@@ -29,6 +24,11 @@ import com.fasterxml.jackson.databind.MappingJsonFactory;
import org.keycloak.common.util.StringPropertyReplacer;
import org.keycloak.common.util.SystemEnvProperties;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.util.Properties;
+
/**
* Provides replacing of system properties for parsed values
*
diff --git a/core/src/main/java/org/keycloak/util/TokenUtil.java b/core/src/main/java/org/keycloak/util/TokenUtil.java
index f649b5e..5226c6b 100644
--- a/core/src/main/java/org/keycloak/util/TokenUtil.java
+++ b/core/src/main/java/org/keycloak/util/TokenUtil.java
@@ -17,13 +17,13 @@
package org.keycloak.util;
-import java.io.IOException;
-
import org.keycloak.OAuth2Constants;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.RefreshToken;
+import java.io.IOException;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/core/src/test/java/org/keycloak/AtHashTest.java b/core/src/test/java/org/keycloak/AtHashTest.java
index 7015e7a..1d3cc54 100644
--- a/core/src/test/java/org/keycloak/AtHashTest.java
+++ b/core/src/test/java/org/keycloak/AtHashTest.java
@@ -17,14 +17,14 @@
package org.keycloak;
-import java.security.Security;
-
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.jose.jws.Algorithm;
import org.keycloak.jose.jws.crypto.HashProvider;
+import java.security.Security;
+
/**
* See "at_hash" in OIDC specification
*
diff --git a/core/src/test/java/org/keycloak/jose/JsonWebTokenTest.java b/core/src/test/java/org/keycloak/jose/JsonWebTokenTest.java
index bb1de6a..addd6f3 100644
--- a/core/src/test/java/org/keycloak/jose/JsonWebTokenTest.java
+++ b/core/src/test/java/org/keycloak/jose/JsonWebTokenTest.java
@@ -23,7 +23,8 @@ import org.keycloak.util.JsonSerialization;
import java.io.IOException;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertTrue;
/**
* Created by st on 20.08.15.
diff --git a/core/src/test/java/org/keycloak/RSAVerifierTest.java b/core/src/test/java/org/keycloak/RSAVerifierTest.java
index 366d7b7..58e1f38 100755
--- a/core/src/test/java/org/keycloak/RSAVerifierTest.java
+++ b/core/src/test/java/org/keycloak/RSAVerifierTest.java
@@ -25,9 +25,9 @@ import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.Time;
import org.keycloak.jose.jws.JWSBuilder;
import org.keycloak.representations.AccessToken;
-import org.keycloak.common.util.Time;
import org.keycloak.util.TokenUtil;
import javax.security.auth.x500.X500Principal;
diff --git a/examples/admin-client/src/main/webapp/index.jsp b/examples/admin-client/src/main/webapp/index.jsp
index b52246b..d2c1b44 100644
--- a/examples/admin-client/src/main/webapp/index.jsp
+++ b/examples/admin-client/src/main/webapp/index.jsp
@@ -1,7 +1,7 @@
<%@ page import="org.keycloak.admin.client.Keycloak" %>
<%@ page import="org.keycloak.admin.client.resource.ClientsResource" %>
-<%@ page import="org.keycloak.representations.idm.ClientRepresentation" %>
<%@ page import="org.keycloak.common.util.UriUtils" %>
+<%@ page import="org.keycloak.representations.idm.ClientRepresentation" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
<%@ page session="false" %>
<html>
diff --git a/examples/authz/hello-world-authz-service/src/main/webapp/index.jsp b/examples/authz/hello-world-authz-service/src/main/webapp/index.jsp
index 75f3d6f..0aea6b0 100644
--- a/examples/authz/hello-world-authz-service/src/main/webapp/index.jsp
+++ b/examples/authz/hello-world-authz-service/src/main/webapp/index.jsp
@@ -16,9 +16,9 @@
~
--%>
<%@page import="org.keycloak.AuthorizationContext" %>
+<%@ page import="org.keycloak.KeycloakSecurityContext" %>
<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
-<%@ page import="org.keycloak.KeycloakSecurityContext" %>
<%@ page import="org.keycloak.representations.idm.authorization.Permission" %>
<%
diff --git a/examples/authz/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml b/examples/authz/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml
index 84bacd5..8421287 100644
--- a/examples/authz/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml
+++ b/examples/authz/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://jboss.org/kie/6.0.0/kmodule">
+<kmodule
+ xmlns="http://jboss.org/kie/6.0.0/kmodule">
<kbase name="PhotozAuthzAdminPolicy" packages="com.photoz.authz.policy.admin">
<ksession name="MainAdminSession" default="true"/>
diff --git a/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java b/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java
index d0e9c2d..7dd6b24 100644
--- a/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java
+++ b/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java
@@ -11,10 +11,8 @@ import org.keycloak.example.photoz.util.Transaction;
import org.keycloak.representations.adapters.config.AdapterConfig;
import org.keycloak.util.JsonSerialization;
-import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
diff --git a/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java b/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java
index f7b55cb..92e300d 100644
--- a/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java
+++ b/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java
@@ -17,17 +17,14 @@
*/
package org.keycloak.example.photoz.album;
-import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
import java.security.Principal;
import java.util.List;
diff --git a/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java b/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java
index a3caa78..6f5d5ec 100644
--- a/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java
+++ b/examples/authz/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java
@@ -20,7 +20,6 @@ import javax.interceptor.InterceptorBinding;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
-import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
diff --git a/examples/basic-auth/src/main/java/org/keycloak/example/basicauth/BasicAuthService.java b/examples/basic-auth/src/main/java/org/keycloak/example/basicauth/BasicAuthService.java
index 233e278..f5f56a5 100644
--- a/examples/basic-auth/src/main/java/org/keycloak/example/basicauth/BasicAuthService.java
+++ b/examples/basic-auth/src/main/java/org/keycloak/example/basicauth/BasicAuthService.java
@@ -21,10 +21,7 @@ import org.jboss.resteasy.annotations.cache.NoCache;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
-import java.util.ArrayList;
-import java.util.List;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/examples/demo-template/admin-access-app/src/main/java/org/keycloak/example/AdminClient.java b/examples/demo-template/admin-access-app/src/main/java/org/keycloak/example/AdminClient.java
index 11c9b04..75703f8 100755
--- a/examples/demo-template/admin-access-app/src/main/java/org/keycloak/example/AdminClient.java
+++ b/examples/demo-template/admin-access-app/src/main/java/org/keycloak/example/AdminClient.java
@@ -27,12 +27,12 @@ import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.keycloak.OAuth2Constants;
+import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.KeycloakUriBuilder;
-import org.keycloak.common.util.UriUtils;
import javax.servlet.http.HttpServletRequest;
import java.io.ByteArrayOutputStream;
diff --git a/examples/demo-template/angular2-product-app/src/main/webapp/app/app.component.ts b/examples/demo-template/angular2-product-app/src/main/webapp/app/app.component.ts
index d43e257..a6955e7 100644
--- a/examples/demo-template/angular2-product-app/src/main/webapp/app/app.component.ts
+++ b/examples/demo-template/angular2-product-app/src/main/webapp/app/app.component.ts
@@ -1,10 +1,8 @@
-import { Component } from '@angular/core';
-import { Http, Headers, RequestOptions, Response } from '@angular/http';
-
-import { Observable } from 'rxjs/Observable';
-import 'rxjs/add/operator/map';
-
-import { KeycloakService } from './keycloak.service';
+import {Component} from "@angular/core";
+import {Http, Headers, RequestOptions, Response} from "@angular/http";
+import {Observable} from "rxjs/Observable";
+import "rxjs/add/operator/map";
+import {KeycloakService} from "./keycloak.service";
@Component({
selector: 'my-app',
diff --git a/examples/demo-template/angular2-product-app/src/main/webapp/app/app.module.ts b/examples/demo-template/angular2-product-app/src/main/webapp/app/app.module.ts
index f345fa3..6d2891f 100644
--- a/examples/demo-template/angular2-product-app/src/main/webapp/app/app.module.ts
+++ b/examples/demo-template/angular2-product-app/src/main/webapp/app/app.module.ts
@@ -1,8 +1,8 @@
-import { NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { HttpModule } from '@angular/http';
-import { KeycloakService } from './keycloak.service';
-import { AppComponent } from './app.component';
+import {NgModule} from "@angular/core";
+import {BrowserModule} from "@angular/platform-browser";
+import {HttpModule} from "@angular/http";
+import {KeycloakService} from "./keycloak.service";
+import {AppComponent} from "./app.component";
@NgModule({
imports: [
diff --git a/examples/demo-template/angular2-product-app/src/main/webapp/app/keycloak.service.ts b/examples/demo-template/angular2-product-app/src/main/webapp/app/keycloak.service.ts
index 33fc283..aba14a6 100644
--- a/examples/demo-template/angular2-product-app/src/main/webapp/app/keycloak.service.ts
+++ b/examples/demo-template/angular2-product-app/src/main/webapp/app/keycloak.service.ts
@@ -1,4 +1,4 @@
-import { Injectable } from '@angular/core';
+import {Injectable} from "@angular/core";
declare var Keycloak: any;
diff --git a/examples/demo-template/angular2-product-app/src/main/webapp/app/main.ts b/examples/demo-template/angular2-product-app/src/main/webapp/app/main.ts
index 6bf99bf..352f12b 100644
--- a/examples/demo-template/angular2-product-app/src/main/webapp/app/main.ts
+++ b/examples/demo-template/angular2-product-app/src/main/webapp/app/main.ts
@@ -1,7 +1,6 @@
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
-import { AppModule } from './app.module';
-
-import {KeycloakService} from './keycloak.service';
+import {platformBrowserDynamic} from "@angular/platform-browser-dynamic";
+import {AppModule} from "./app.module";
+import {KeycloakService} from "./keycloak.service";
KeycloakService.init()
.then(() => {
diff --git a/examples/demo-template/customer-app/src/main/webapp/customers/session.jsp b/examples/demo-template/customer-app/src/main/webapp/customers/session.jsp
index 79aafdb..7ef032a 100755
--- a/examples/demo-template/customer-app/src/main/webapp/customers/session.jsp
+++ b/examples/demo-template/customer-app/src/main/webapp/customers/session.jsp
@@ -1,15 +1,13 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
-<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
-<%@ page import="org.keycloak.example.CustomerDatabaseClient" %>
-<%@ page import="org.keycloak.representations.IDToken" %>
<%@ page import="org.keycloak.common.util.HostUtils" %>
+<%@ page import="org.keycloak.example.CustomerDatabaseClient" %>
<html>
- <head>
- <title>Customer Session Page</title>
- </head>
- <body bgcolor="#E3F6CE">
- <p>Your hostname: <b><%= HostUtils.getHostName() %></b></p>
+<head>
+ <title>Customer Session Page</title>
+</head>
+<body bgcolor="#E3F6CE">
+<p>Your hostname: <b><%= HostUtils.getHostName() %></b></p>
<p>Your session ID: <b><%= request.getSession().getId() %></b></p>
<p>You visited this page <b><%= CustomerDatabaseClient.increaseAndGetCounter(request) %></b> times.</p>
<br><br>
diff --git a/examples/demo-template/customer-app/src/main/webapp/customers/view.jsp b/examples/demo-template/customer-app/src/main/webapp/customers/view.jsp
index 55d19e7..424faea 100755
--- a/examples/demo-template/customer-app/src/main/webapp/customers/view.jsp
+++ b/examples/demo-template/customer-app/src/main/webapp/customers/view.jsp
@@ -1,9 +1,9 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
+<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.example.CustomerDatabaseClient" %>
<%@ page import="org.keycloak.representations.IDToken" %>
-<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page session="false" %>
<html>
<head>
diff --git a/examples/demo-template/customer-app-filter/src/main/webapp/customers/view.jsp b/examples/demo-template/customer-app-filter/src/main/webapp/customers/view.jsp
index c2e66f1..d86b062 100755
--- a/examples/demo-template/customer-app-filter/src/main/webapp/customers/view.jsp
+++ b/examples/demo-template/customer-app-filter/src/main/webapp/customers/view.jsp
@@ -1,9 +1,9 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
+<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.example.CustomerDatabaseClient" %>
<%@ page import="org.keycloak.representations.IDToken" %>
-<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page session="false" %>
<html>
<head>
diff --git a/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java b/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java
index 3920cc4..d2b193e 100755
--- a/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java
+++ b/examples/demo-template/database-service/src/main/java/org/keycloak/example/oauth/CustomerService.java
@@ -26,7 +26,6 @@ import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
-
import java.util.ArrayList;
import java.util.List;
diff --git a/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineAccessPortalServlet.java b/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineAccessPortalServlet.java
index c4e4215..3783c12 100755
--- a/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineAccessPortalServlet.java
+++ b/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineAccessPortalServlet.java
@@ -17,37 +17,36 @@
package org.keycloak.example;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.security.cert.X509Certificate;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.AdapterDeploymentContext;
-import org.keycloak.adapters.spi.AuthenticationError;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.RefreshableKeycloakSecurityContext;
import org.keycloak.adapters.ServerRequest;
+import org.keycloak.adapters.spi.AuthenticationError;
+import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.spi.LogoutError;
+import org.keycloak.common.util.StreamUtil;
+import org.keycloak.common.util.Time;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.representations.RefreshToken;
import org.keycloak.util.JsonSerialization;
import org.keycloak.util.TokenUtil;
-import org.keycloak.common.util.StreamUtil;
-import org.keycloak.common.util.Time;
-import org.keycloak.common.util.UriUtils;
+
+import javax.security.cert.X509Certificate;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineExampleUris.java b/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineExampleUris.java
index 27e7313..b8b4abd 100644
--- a/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineExampleUris.java
+++ b/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/OfflineExampleUris.java
@@ -17,8 +17,8 @@
package org.keycloak.example;
-import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.constants.ServiceUrlConstants;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/RefreshTokenDAO.java b/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/RefreshTokenDAO.java
index 0fcef4a..e4c6277 100644
--- a/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/RefreshTokenDAO.java
+++ b/examples/demo-template/offline-access-app/src/main/java/org/keycloak/example/RefreshTokenDAO.java
@@ -17,6 +17,8 @@
package org.keycloak.example;
+import org.keycloak.common.util.StreamUtil;
+
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -24,8 +26,6 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
-import org.keycloak.common.util.StreamUtil;
-
/**
* Very simple DAO, which stores/loads just one token per whole application into file in tmp directory. Useful just for example purposes.
* In real environment, token should be stored in database.
diff --git a/examples/demo-template/product-app/src/main/webapp/products/view.jsp b/examples/demo-template/product-app/src/main/webapp/products/view.jsp
index 29b750a..b0a1592 100755
--- a/examples/demo-template/product-app/src/main/webapp/products/view.jsp
+++ b/examples/demo-template/product-app/src/main/webapp/products/view.jsp
@@ -1,8 +1,8 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
+<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.example.oauth.ProductDatabaseClient" %>
-<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page session="false" %>
<html>
<head>
diff --git a/examples/demo-template/service-account/src/main/java/org/keycloak/example/ProductServiceAccountServlet.java b/examples/demo-template/service-account/src/main/java/org/keycloak/example/ProductServiceAccountServlet.java
index 72ffd49..78aeebe 100644
--- a/examples/demo-template/service-account/src/main/java/org/keycloak/example/ProductServiceAccountServlet.java
+++ b/examples/demo-template/service-account/src/main/java/org/keycloak/example/ProductServiceAccountServlet.java
@@ -17,19 +17,6 @@
package org.keycloak.example;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
@@ -40,17 +27,28 @@ import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.keycloak.OAuth2Constants;
-import org.keycloak.RSATokenVerifier;
-import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
-import org.keycloak.common.VerificationException;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.ServerRequest;
import org.keycloak.adapters.authentication.ClientCredentialsProviderUtils;
+import org.keycloak.adapters.rotation.AdapterRSATokenVerifier;
+import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.UriUtils;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/examples/demo-template/service-account/src/main/webapp/WEB-INF/page.jsp b/examples/demo-template/service-account/src/main/webapp/WEB-INF/page.jsp
index 8ca1201..5c76e63 100644
--- a/examples/demo-template/service-account/src/main/webapp/WEB-INF/page.jsp
+++ b/examples/demo-template/service-account/src/main/webapp/WEB-INF/page.jsp
@@ -1,9 +1,9 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
-<%@ page import="org.keycloak.example.ProductServiceAccountServlet" %>
-<%@ page import="org.keycloak.representations.AccessToken" %>
<%@ page import="org.keycloak.common.constants.ServiceAccountConstants" %>
<%@ page import="org.keycloak.common.util.Time" %>
+<%@ page import="org.keycloak.example.ProductServiceAccountServlet" %>
+<%@ page import="org.keycloak.representations.AccessToken" %>
<html>
<head>
<title>Service account portal</title>
diff --git a/examples/demo-template/third-party/src/main/java/org/keycloak/example/oauth/ProductDatabaseClient.java b/examples/demo-template/third-party/src/main/java/org/keycloak/example/oauth/ProductDatabaseClient.java
index 11f9559..f5076d6 100755
--- a/examples/demo-template/third-party/src/main/java/org/keycloak/example/oauth/ProductDatabaseClient.java
+++ b/examples/demo-template/third-party/src/main/java/org/keycloak/example/oauth/ProductDatabaseClient.java
@@ -24,10 +24,10 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.ServerRequest;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.servlet.ServletOAuthClient;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.UriUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
diff --git a/examples/fuse/camel/src/main/java/org/keycloak/example/CamelHelloProcessor.java b/examples/fuse/camel/src/main/java/org/keycloak/example/CamelHelloProcessor.java
index 52259cb..ba0d852 100644
--- a/examples/fuse/camel/src/main/java/org/keycloak/example/CamelHelloProcessor.java
+++ b/examples/fuse/camel/src/main/java/org/keycloak/example/CamelHelloProcessor.java
@@ -17,13 +17,13 @@
package org.keycloak.example;
-import javax.servlet.http.HttpServletRequest;
-
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.representations.AccessToken;
+import javax.servlet.http.HttpServletRequest;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/examples/fuse/camel/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/examples/fuse/camel/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 56550d6..698fdd0 100644
--- a/examples/fuse/camel/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/examples/fuse/camel/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -18,7 +18,6 @@
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:camel="http://camel.apache.org/schema/blueprint"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
diff --git a/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CamelClient.java b/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CamelClient.java
index db7f797..00499e0 100644
--- a/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CamelClient.java
+++ b/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CamelClient.java
@@ -17,13 +17,6 @@
package org.keycloak.example;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import javax.servlet.http.HttpServletRequest;
-
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
@@ -31,6 +24,12 @@ import org.apache.http.client.methods.HttpGet;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.HttpClientBuilder;
+import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CxfRsClient.java b/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CxfRsClient.java
index 3a920f2..8c54a82 100644
--- a/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CxfRsClient.java
+++ b/examples/fuse/customer-app-fuse/src/main/java/org/keycloak/example/CxfRsClient.java
@@ -17,22 +17,21 @@
package org.keycloak.example;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.HttpClientBuilder;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.representations.IDToken;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.UriUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/examples/fuse/customer-app-fuse/src/main/webapp/customers/camel.jsp b/examples/fuse/customer-app-fuse/src/main/webapp/customers/camel.jsp
index 6b7c591..938b6e6 100755
--- a/examples/fuse/customer-app-fuse/src/main/webapp/customers/camel.jsp
+++ b/examples/fuse/customer-app-fuse/src/main/webapp/customers/camel.jsp
@@ -1,15 +1,13 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
-<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.example.CamelClient" %>
-<%@ page import="org.keycloak.representations.IDToken" %>
<html>
- <head>
- <title>Camel page</title>
- </head>
- <body bgcolor="#E3F6CE">
- <p>You will receive info from camel endpoint. Endpoint is accessible just for user with admin role</p>
- <p>Response from camel: <b><%= CamelClient.sendRequest(request) %></b> </p>
+<head>
+ <title>Camel page</title>
+</head>
+<body bgcolor="#E3F6CE">
+<p>You will receive info from camel endpoint. Endpoint is accessible just for user with admin role</p>
+<p>Response from camel: <b><%= CamelClient.sendRequest(request) %></b> </p>
<br><br>
</body>
</html>
\ No newline at end of file
diff --git a/examples/fuse/customer-app-fuse/src/main/webapp/customers/cxf-rs.jsp b/examples/fuse/customer-app-fuse/src/main/webapp/customers/cxf-rs.jsp
index f1b63d7..b9e2f31 100755
--- a/examples/fuse/customer-app-fuse/src/main/webapp/customers/cxf-rs.jsp
+++ b/examples/fuse/customer-app-fuse/src/main/webapp/customers/cxf-rs.jsp
@@ -1,9 +1,9 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
+<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.example.CxfRsClient" %>
<%@ page import="org.keycloak.representations.IDToken" %>
-<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page session="false" %>
<html>
<head>
diff --git a/examples/fuse/cxf-jaxrs/src/main/java/org/keycloak/example/rs/CxfCustomerService.java b/examples/fuse/cxf-jaxrs/src/main/java/org/keycloak/example/rs/CxfCustomerService.java
index a0ad78d..184391f 100644
--- a/examples/fuse/cxf-jaxrs/src/main/java/org/keycloak/example/rs/CxfCustomerService.java
+++ b/examples/fuse/cxf-jaxrs/src/main/java/org/keycloak/example/rs/CxfCustomerService.java
@@ -17,12 +17,11 @@
package org.keycloak.example.rs;
-import java.util.ArrayList;
-import java.util.List;
-
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/examples/fuse/cxf-jaxws/src/main/java/org/keycloak/example/ws/Product.java b/examples/fuse/cxf-jaxws/src/main/java/org/keycloak/example/ws/Product.java
index 9028e35..90023ba 100644
--- a/examples/fuse/cxf-jaxws/src/main/java/org/keycloak/example/ws/Product.java
+++ b/examples/fuse/cxf-jaxws/src/main/java/org/keycloak/example/ws/Product.java
@@ -17,6 +17,8 @@
package org.keycloak.example.ws;
+import org.keycloak.example.ws.types.ObjectFactory;
+
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@@ -24,8 +26,6 @@ import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
-import org.keycloak.example.ws.types.ObjectFactory;
-
@WebService
@XmlSeeAlso({ObjectFactory.class})
public interface Product {
diff --git a/examples/fuse/cxf-jaxws/src/main/resources/META-INF/spring/beans.xml b/examples/fuse/cxf-jaxws/src/main/resources/META-INF/spring/beans.xml
index 8a808c6..4f9af70 100644
--- a/examples/fuse/cxf-jaxws/src/main/resources/META-INF/spring/beans.xml
+++ b/examples/fuse/cxf-jaxws/src/main/resources/META-INF/spring/beans.xml
@@ -21,10 +21,9 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
- http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
+
http://cxf.apache.org/transports/http-jetty/configuration http://cxf.apache.org/schemas/configuration/http-jetty.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
diff --git a/examples/fuse/product-app-fuse/src/main/java/org/keycloak/example/ProductPortalServlet.java b/examples/fuse/product-app-fuse/src/main/java/org/keycloak/example/ProductPortalServlet.java
index 4b96f3b..15ca868 100644
--- a/examples/fuse/product-app-fuse/src/main/java/org/keycloak/example/ProductPortalServlet.java
+++ b/examples/fuse/product-app-fuse/src/main/java/org/keycloak/example/ProductPortalServlet.java
@@ -17,28 +17,27 @@
package org.keycloak.example;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.ws.WebServiceException;
-
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.message.Message;
import org.keycloak.KeycloakSecurityContext;
+import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.example.ws.Product;
import org.keycloak.example.ws.UnknownProductFault;
-import org.keycloak.common.util.KeycloakUriBuilder;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.ws.WebServiceException;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* Servlet for receiving informations about products from backend JAXWS service
diff --git a/examples/kerberos/src/main/java/org/keycloak/example/kerberos/GSSCredentialsClient.java b/examples/kerberos/src/main/java/org/keycloak/example/kerberos/GSSCredentialsClient.java
index ef8ba51..7a9f3e2 100644
--- a/examples/kerberos/src/main/java/org/keycloak/example/kerberos/GSSCredentialsClient.java
+++ b/examples/kerberos/src/main/java/org/keycloak/example/kerberos/GSSCredentialsClient.java
@@ -17,7 +17,11 @@
package org.keycloak.example.kerberos;
-import java.util.Hashtable;
+import org.ietf.jgss.GSSCredential;
+import org.keycloak.KeycloakPrincipal;
+import org.keycloak.common.constants.KerberosConstants;
+import org.keycloak.common.util.KerberosSerializationUtils;
+import org.keycloak.representations.AccessToken;
import javax.naming.Context;
import javax.naming.NamingException;
@@ -26,12 +30,7 @@ import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.security.sasl.Sasl;
import javax.servlet.http.HttpServletRequest;
-
-import org.ietf.jgss.GSSCredential;
-import org.keycloak.KeycloakPrincipal;
-import org.keycloak.common.constants.KerberosConstants;
-import org.keycloak.representations.AccessToken;
-import org.keycloak.common.util.KerberosSerializationUtils;
+import java.util.Hashtable;
/**
* Sample client able to authenticate against ApacheDS LDAP server with Krb5 GSS Credential.
diff --git a/examples/kerberos/src/main/webapp/index.jsp b/examples/kerberos/src/main/webapp/index.jsp
index e680d93..5bb95b0 100644
--- a/examples/kerberos/src/main/webapp/index.jsp
+++ b/examples/kerberos/src/main/webapp/index.jsp
@@ -1,9 +1,8 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
-<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
+<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.example.kerberos.GSSCredentialsClient" %>
-<%@ page import="org.keycloak.example.kerberos.GSSCredentialsClient.LDAPUser" %>
<%@ page session="false" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
diff --git a/examples/ldap/src/main/webapp/index.jsp b/examples/ldap/src/main/webapp/index.jsp
index 49821de..a40c382 100644
--- a/examples/ldap/src/main/webapp/index.jsp
+++ b/examples/ldap/src/main/webapp/index.jsp
@@ -1,11 +1,11 @@
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" %>
-<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
-<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page import="org.keycloak.KeycloakSecurityContext" %>
-<%@ page import="org.keycloak.representations.IDToken" %>
+<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
+<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
<%@ page import="org.keycloak.representations.AccessToken" %>
<%@ page import="org.keycloak.representations.AccessToken.Access" %>
+<%@ page import="org.keycloak.representations.IDToken" %>
<%@ page import="java.util.Map" %>
<%@ page session="false" %>
diff --git a/examples/multi-tenant/src/main/java/org/keycloak/example/multitenant/control/PathBasedKeycloakConfigResolver.java b/examples/multi-tenant/src/main/java/org/keycloak/example/multitenant/control/PathBasedKeycloakConfigResolver.java
index 2883ee8..904da96 100755
--- a/examples/multi-tenant/src/main/java/org/keycloak/example/multitenant/control/PathBasedKeycloakConfigResolver.java
+++ b/examples/multi-tenant/src/main/java/org/keycloak/example/multitenant/control/PathBasedKeycloakConfigResolver.java
@@ -16,15 +16,15 @@
*/
package org.keycloak.example.multitenant.control;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.OIDCHttpFacade;
+import java.io.InputStream;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
/**
*
* @author Juraci Paixão Kröhling <juraci at kroehling.de>
diff --git a/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionCredentialProvider.java b/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionCredentialProvider.java
index 520aeb0..151fa01 100644
--- a/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionCredentialProvider.java
+++ b/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionCredentialProvider.java
@@ -22,7 +22,6 @@ import org.keycloak.credential.CredentialInputUpdater;
import org.keycloak.credential.CredentialInputValidator;
import org.keycloak.credential.CredentialModel;
import org.keycloak.credential.CredentialProvider;
-import org.keycloak.credential.PasswordCredentialProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserCredentialModel;
diff --git a/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionRequiredAction.java b/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionRequiredAction.java
index a1a6545..cc1425e 100755
--- a/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionRequiredAction.java
+++ b/examples/providers/authenticator/src/main/java/org/keycloak/examples/authenticator/SecretQuestionRequiredAction.java
@@ -20,7 +20,6 @@ package org.keycloak.examples.authenticator;
import org.keycloak.authentication.RequiredActionContext;
import org.keycloak.authentication.RequiredActionProvider;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import javax.ws.rs.core.Response;
diff --git a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/jpa/ExampleJpaEntityProvider.java b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/jpa/ExampleJpaEntityProvider.java
index b6529fd..fe22b27 100644
--- a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/jpa/ExampleJpaEntityProvider.java
+++ b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/jpa/ExampleJpaEntityProvider.java
@@ -17,11 +17,11 @@
package org.keycloak.examples.domainextension.jpa;
+import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider;
+
import java.util.Collections;
import java.util.List;
-import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider;
-
/**
* @author <a href="mailto:erik.mulder@docdatapayments.com">Erik Mulder</a>
*
diff --git a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/CompanyResource.java b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/CompanyResource.java
index ba98978..7f9d7aa 100644
--- a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/CompanyResource.java
+++ b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/CompanyResource.java
@@ -1,6 +1,9 @@
package org.keycloak.examples.domainextension.rest;
-import java.util.List;
+import org.jboss.resteasy.annotations.cache.NoCache;
+import org.keycloak.examples.domainextension.CompanyRepresentation;
+import org.keycloak.examples.domainextension.spi.ExampleService;
+import org.keycloak.models.KeycloakSession;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
@@ -10,11 +13,7 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.jboss.resteasy.annotations.cache.NoCache;
-import org.keycloak.examples.domainextension.CompanyRepresentation;
-import org.keycloak.examples.domainextension.spi.ExampleService;
-import org.keycloak.models.KeycloakSession;
+import java.util.List;
public class CompanyResource {
diff --git a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/ExampleRestResource.java b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/ExampleRestResource.java
index db774cf..df642f5 100644
--- a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/ExampleRestResource.java
+++ b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/rest/ExampleRestResource.java
@@ -1,14 +1,13 @@
package org.keycloak.examples.domainextension.rest;
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.NotAuthorizedException;
-import javax.ws.rs.Path;
-
-
import org.keycloak.models.KeycloakSession;
import org.keycloak.services.managers.AppAuthManager;
import org.keycloak.services.managers.AuthenticationManager;
+import javax.ws.rs.ForbiddenException;
+import javax.ws.rs.NotAuthorizedException;
+import javax.ws.rs.Path;
+
public class ExampleRestResource {
private final KeycloakSession session;
diff --git a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/ExampleService.java b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/ExampleService.java
index 7f41327..78ecc15 100644
--- a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/ExampleService.java
+++ b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/ExampleService.java
@@ -17,11 +17,11 @@
package org.keycloak.examples.domainextension.spi;
-import java.util.List;
-
import org.keycloak.examples.domainextension.CompanyRepresentation;
import org.keycloak.provider.Provider;
+import java.util.List;
+
public interface ExampleService extends Provider {
List<CompanyRepresentation> listCompanies();
diff --git a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/impl/ExampleServiceImpl.java b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/impl/ExampleServiceImpl.java
index 49cc228..8863a9b 100644
--- a/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/impl/ExampleServiceImpl.java
+++ b/examples/providers/domain-extension/src/main/java/org/keycloak/examples/domainextension/spi/impl/ExampleServiceImpl.java
@@ -17,19 +17,18 @@
package org.keycloak.examples.domainextension.spi.impl;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-
import org.keycloak.connections.jpa.JpaConnectionProvider;
-import org.keycloak.examples.domainextension.jpa.Company;
import org.keycloak.examples.domainextension.CompanyRepresentation;
+import org.keycloak.examples.domainextension.jpa.Company;
import org.keycloak.examples.domainextension.spi.ExampleService;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.KeycloakModelUtils;
+import javax.persistence.EntityManager;
+import java.util.LinkedList;
+import java.util.List;
+
public class ExampleServiceImpl implements ExampleService {
private final KeycloakSession session;
diff --git a/examples/providers/event-listener-sysout/src/main/java/org/keycloak/examples/providers/events/SysoutEventListenerProvider.java b/examples/providers/event-listener-sysout/src/main/java/org/keycloak/examples/providers/events/SysoutEventListenerProvider.java
index 7420858..91d2a30 100755
--- a/examples/providers/event-listener-sysout/src/main/java/org/keycloak/examples/providers/events/SysoutEventListenerProvider.java
+++ b/examples/providers/event-listener-sysout/src/main/java/org/keycloak/examples/providers/events/SysoutEventListenerProvider.java
@@ -17,11 +17,11 @@
package org.keycloak.examples.providers.events;
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.OperationType;
import org.keycloak.events.Event;
import org.keycloak.events.EventListenerProvider;
import org.keycloak.events.EventType;
+import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.OperationType;
import java.util.Map;
import java.util.Set;
diff --git a/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemAdminEventQuery.java b/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemAdminEventQuery.java
index 168c709..7736fb7 100755
--- a/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemAdminEventQuery.java
+++ b/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemAdminEventQuery.java
@@ -17,17 +17,17 @@
package org.keycloak.examples.providers.events;
+import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.AdminEventQuery;
+import org.keycloak.events.admin.OperationType;
+import org.keycloak.events.admin.ResourceType;
+
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Pattern;
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.AdminEventQuery;
-import org.keycloak.events.admin.OperationType;
-import org.keycloak.events.admin.ResourceType;
-
/**
* @author <a href="mailto:giriraj.sharma27@gmail.com">Giriraj Sharma</a>
*/
diff --git a/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemEventStoreProvider.java b/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemEventStoreProvider.java
index 3df4e06..b06f7ad 100755
--- a/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemEventStoreProvider.java
+++ b/examples/providers/event-store-mem/src/main/java/org/keycloak/examples/providers/events/MemEventStoreProvider.java
@@ -17,13 +17,13 @@
package org.keycloak.examples.providers.events;
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.AdminEventQuery;
-import org.keycloak.events.admin.OperationType;
import org.keycloak.events.Event;
import org.keycloak.events.EventQuery;
import org.keycloak.events.EventStoreProvider;
import org.keycloak.events.EventType;
+import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.AdminEventQuery;
+import org.keycloak.events.admin.OperationType;
import java.util.Iterator;
import java.util.LinkedList;
diff --git a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ClasspathPropertiesFederationProvider.java b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ClasspathPropertiesFederationProvider.java
index ee57104..2a0597c 100755
--- a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ClasspathPropertiesFederationProvider.java
+++ b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ClasspathPropertiesFederationProvider.java
@@ -20,7 +20,6 @@ package org.keycloak.examples.federation.properties;
import org.keycloak.credential.CredentialInput;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
diff --git a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/FilePropertiesFederationProvider.java b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/FilePropertiesFederationProvider.java
index bc50684..aac080b 100755
--- a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/FilePropertiesFederationProvider.java
+++ b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/FilePropertiesFederationProvider.java
@@ -20,7 +20,6 @@ package org.keycloak.examples.federation.properties;
import org.keycloak.credential.CredentialInput;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
diff --git a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ReadonlyUserModelProxy.java b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ReadonlyUserModelProxy.java
index 5a1e0df..453c5ae 100755
--- a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ReadonlyUserModelProxy.java
+++ b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/ReadonlyUserModelProxy.java
@@ -17,8 +17,6 @@
package org.keycloak.examples.federation.properties;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.UserModelDelegate;
diff --git a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/WritableUserModelProxy.java b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/WritableUserModelProxy.java
index e294f82..c133675 100755
--- a/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/WritableUserModelProxy.java
+++ b/examples/providers/federation-provider/src/main/java/org/keycloak/examples/federation/properties/WritableUserModelProxy.java
@@ -17,8 +17,6 @@
package org.keycloak.examples.federation.properties;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.UserModelDelegate;
diff --git a/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProviderFactory.java b/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProviderFactory.java
index 1e16100..2881c87 100644
--- a/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProviderFactory.java
+++ b/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProviderFactory.java
@@ -17,16 +17,11 @@
package org.keycloak.examples.storage.user;
import org.jboss.logging.Logger;
-import org.keycloak.Config;
import org.keycloak.component.ComponentModel;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.storage.UserStorageProviderFactory;
import javax.naming.InitialContext;
-import java.util.LinkedList;
-import java.util.List;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/UserAdapter.java b/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/UserAdapter.java
index 8c8bcd6..edb98f8 100644
--- a/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/UserAdapter.java
+++ b/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/UserAdapter.java
@@ -21,7 +21,6 @@ import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.component.ComponentModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.storage.StorageId;
import org.keycloak.storage.adapter.AbstractUserAdapterFederatedStorage;
diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/CommonKerberosConfig.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/CommonKerberosConfig.java
index 4d3bf62..7e3d6e7 100644
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/CommonKerberosConfig.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/CommonKerberosConfig.java
@@ -17,10 +17,10 @@
package org.keycloak.federation.kerberos;
-import java.util.Map;
-
-import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.common.constants.KerberosConstants;
+import org.keycloak.models.UserFederationProviderModel;
+
+import java.util.Map;
/**
* Common configuration useful for all providers
diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosServerSubjectAuthenticator.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosServerSubjectAuthenticator.java
index aeaa074..4d50936 100644
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosServerSubjectAuthenticator.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosServerSubjectAuthenticator.java
@@ -17,7 +17,9 @@
package org.keycloak.federation.kerberos.impl;
-import java.io.IOException;
+import org.jboss.logging.Logger;
+import org.keycloak.common.util.KerberosJdkProvider;
+import org.keycloak.federation.kerberos.CommonKerberosConfig;
import javax.security.auth.Subject;
import javax.security.auth.callback.Callback;
@@ -26,10 +28,7 @@ import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.auth.login.Configuration;
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
-
-import org.jboss.logging.Logger;
-import org.keycloak.common.util.KerberosJdkProvider;
-import org.keycloak.federation.kerberos.CommonKerberosConfig;
+import java.io.IOException;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosUsernamePasswordAuthenticator.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosUsernamePasswordAuthenticator.java
index 2254a6e..c36694c 100644
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosUsernamePasswordAuthenticator.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/KerberosUsernamePasswordAuthenticator.java
@@ -17,9 +17,10 @@
package org.keycloak.federation.kerberos.impl;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
+import org.jboss.logging.Logger;
+import org.keycloak.common.util.KerberosJdkProvider;
+import org.keycloak.federation.kerberos.CommonKerberosConfig;
+import org.keycloak.models.ModelException;
import javax.security.auth.Subject;
import javax.security.auth.callback.Callback;
@@ -27,15 +28,10 @@ import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.NameCallback;
import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.callback.UnsupportedCallbackException;
-import javax.security.auth.login.AppConfigurationEntry;
import javax.security.auth.login.Configuration;
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
-
-import org.jboss.logging.Logger;
-import org.keycloak.common.util.KerberosJdkProvider;
-import org.keycloak.federation.kerberos.CommonKerberosConfig;
-import org.keycloak.models.ModelException;
+import java.io.IOException;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/SPNEGOAuthenticator.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/SPNEGOAuthenticator.java
index c2b928e..51bf027 100644
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/SPNEGOAuthenticator.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/impl/SPNEGOAuthenticator.java
@@ -17,25 +17,23 @@
package org.keycloak.federation.kerberos.impl;
-import java.io.IOException;
-import java.security.PrivilegedExceptionAction;
-import java.util.Iterator;
-import java.util.Set;
-
-import javax.security.auth.Subject;
-import javax.security.auth.kerberos.KerberosTicket;
-
-import org.ietf.jgss.Oid;
-import org.keycloak.common.constants.KerberosConstants;
-import org.keycloak.common.util.Base64;
import org.ietf.jgss.GSSContext;
import org.ietf.jgss.GSSCredential;
import org.ietf.jgss.GSSException;
import org.ietf.jgss.GSSManager;
+import org.ietf.jgss.Oid;
import org.jboss.logging.Logger;
-import org.keycloak.common.util.KerberosJdkProvider;
-import org.keycloak.federation.kerberos.CommonKerberosConfig;
+import org.keycloak.common.constants.KerberosConstants;
+import org.keycloak.common.util.Base64;
import org.keycloak.common.util.KerberosSerializationUtils;
+import org.keycloak.federation.kerberos.CommonKerberosConfig;
+
+import javax.security.auth.Subject;
+import javax.security.auth.kerberos.KerberosTicket;
+import java.io.IOException;
+import java.security.PrivilegedExceptionAction;
+import java.util.Iterator;
+import java.util.Set;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java
index 2d0b4b2..9d82655 100755
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java
@@ -17,15 +17,8 @@
package org.keycloak.federation.kerberos;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.jboss.logging.Logger;
+import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.credential.CredentialInput;
import org.keycloak.credential.CredentialModel;
import org.keycloak.federation.kerberos.impl.KerberosUsernamePasswordAuthenticator;
@@ -37,13 +30,17 @@ import org.keycloak.models.ModelReadOnlyException;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
-import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.services.managers.UserManager;
-import org.keycloak.storage.adapter.AbstractUserAdapter;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java
index f016835..3e713df 100755
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java
@@ -17,10 +17,6 @@
package org.keycloak.federation.kerberos;
-import java.util.Collections;
-import java.util.Date;
-import java.util.Set;
-
import org.jboss.logging.Logger;
import org.keycloak.Config;
import org.keycloak.federation.kerberos.impl.KerberosServerSubjectAuthenticator;
@@ -33,6 +29,10 @@ import org.keycloak.models.UserFederationProviderFactory;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserFederationSyncResult;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Set;
+
/**
* Factory for standalone Kerberos federation provider. Standalone means that it's not backed by LDAP. For Kerberos backed by LDAP (like MS AD or ApacheDS environment)
* you should rather use LDAP Federation Provider.
diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/ReadOnlyKerberosUserModelDelegate.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/ReadOnlyKerberosUserModelDelegate.java
index 2a4e3b1..8e64b3d 100644
--- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/ReadOnlyKerberosUserModelDelegate.java
+++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/ReadOnlyKerberosUserModelDelegate.java
@@ -17,8 +17,6 @@
package org.keycloak.federation.kerberos;
-import org.keycloak.models.ModelReadOnlyException;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.UserModelDelegate;
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPDn.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPDn.java
index b8401de..bfbce59 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPDn.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPDn.java
@@ -17,13 +17,10 @@
package org.keycloak.federation.ldap.idm.model;
+import javax.naming.ldap.Rdn;
import java.util.Collection;
import java.util.Deque;
import java.util.LinkedList;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.naming.ldap.Rdn;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPObject.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPObject.java
index c6447b2..0141a45 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPObject.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/model/LDAPObject.java
@@ -17,17 +17,16 @@
package org.keycloak.federation.ldap.idm.model;
+import org.jboss.logging.Logger;
+
import java.util.Collection;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.jboss.logging.Logger;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/BetweenCondition.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/BetweenCondition.java
index 8bf26cb..ba926e9 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/BetweenCondition.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/BetweenCondition.java
@@ -17,10 +17,10 @@
package org.keycloak.federation.ldap.idm.query.internal;
-import java.util.Date;
-
import org.keycloak.federation.ldap.idm.store.ldap.LDAPUtil;
+import java.util.Date;
+
/**
* @author Pedro Igor
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/EqualCondition.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/EqualCondition.java
index 64d6fca..115e11f 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/EqualCondition.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/EqualCondition.java
@@ -17,11 +17,11 @@
package org.keycloak.federation.ldap.idm.query.internal;
-import java.util.Date;
-
import org.keycloak.federation.ldap.idm.store.ldap.LDAPUtil;
import org.keycloak.models.LDAPConstants;
+import java.util.Date;
+
/**
* @author Pedro Igor
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/GreaterThanCondition.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/GreaterThanCondition.java
index ac34e16..3ef6535 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/GreaterThanCondition.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/GreaterThanCondition.java
@@ -17,11 +17,10 @@
package org.keycloak.federation.ldap.idm.query.internal;
-import java.util.Date;
-
-import org.keycloak.federation.ldap.idm.query.Condition;
import org.keycloak.federation.ldap.idm.store.ldap.LDAPUtil;
+import java.util.Date;
+
/**
* @author Pedro Igor
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LDAPQuery.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LDAPQuery.java
index 957ba33..5a57f84 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LDAPQuery.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LDAPQuery.java
@@ -17,15 +17,6 @@
package org.keycloak.federation.ldap.idm.query.internal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.naming.directory.SearchControls;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.Condition;
@@ -35,6 +26,14 @@ import org.keycloak.models.ModelDuplicateException;
import org.keycloak.models.ModelException;
import org.keycloak.models.UserFederationMapperModel;
+import javax.naming.directory.SearchControls;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
import static java.util.Collections.unmodifiableSet;
/**
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LessThanCondition.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LessThanCondition.java
index c11b642..e29b014 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LessThanCondition.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/query/internal/LessThanCondition.java
@@ -17,11 +17,10 @@
package org.keycloak.federation.ldap.idm.query.internal;
-import java.util.Date;
-
-import org.keycloak.federation.ldap.idm.query.Condition;
import org.keycloak.federation.ldap.idm.store.ldap.LDAPUtil;
+import java.util.Date;
+
/**
* @author Pedro Igor
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/IdentityStore.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/IdentityStore.java
index 5f39d9a..c14f4f0 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/IdentityStore.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/IdentityStore.java
@@ -17,14 +17,13 @@
package org.keycloak.federation.ldap.idm.store;
-import java.util.List;
-
-import javax.naming.AuthenticationException;
-
import org.keycloak.federation.ldap.LDAPConfig;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
+import javax.naming.AuthenticationException;
+import java.util.List;
+
/**
* IdentityStore representation providing minimal SPI
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPIdentityStore.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPIdentityStore.java
index 9a9b929..367fb04 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPIdentityStore.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPIdentityStore.java
@@ -17,16 +17,16 @@
package org.keycloak.federation.ldap.idm.store.ldap;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.TreeSet;
+import org.jboss.logging.Logger;
+import org.keycloak.federation.ldap.LDAPConfig;
+import org.keycloak.federation.ldap.idm.model.LDAPDn;
+import org.keycloak.federation.ldap.idm.model.LDAPObject;
+import org.keycloak.federation.ldap.idm.query.Condition;
+import org.keycloak.federation.ldap.idm.query.internal.EqualCondition;
+import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
+import org.keycloak.federation.ldap.idm.store.IdentityStore;
+import org.keycloak.models.LDAPConstants;
+import org.keycloak.models.ModelException;
import javax.naming.AuthenticationException;
import javax.naming.NamingEnumeration;
@@ -39,17 +39,16 @@ import javax.naming.directory.DirContext;
import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-
-import org.jboss.logging.Logger;
-import org.keycloak.federation.ldap.LDAPConfig;
-import org.keycloak.federation.ldap.idm.model.LDAPDn;
-import org.keycloak.federation.ldap.idm.model.LDAPObject;
-import org.keycloak.federation.ldap.idm.query.Condition;
-import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
-import org.keycloak.federation.ldap.idm.query.internal.EqualCondition;
-import org.keycloak.federation.ldap.idm.store.IdentityStore;
-import org.keycloak.models.LDAPConstants;
-import org.keycloak.models.ModelException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.TreeSet;
/**
* An IdentityStore implementation backed by an LDAP directory
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPOperationManager.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPOperationManager.java
index 59b76be..02cd122 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPOperationManager.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPOperationManager.java
@@ -17,17 +17,11 @@
package org.keycloak.federation.ldap.idm.store.ldap;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+import org.jboss.logging.Logger;
+import org.keycloak.federation.ldap.LDAPConfig;
+import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
+import org.keycloak.models.LDAPConstants;
+import org.keycloak.models.ModelException;
import javax.naming.AuthenticationException;
import javax.naming.Binding;
@@ -46,12 +40,17 @@ import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;
import javax.naming.ldap.PagedResultsControl;
import javax.naming.ldap.PagedResultsResponseControl;
-
-import org.jboss.logging.Logger;
-import org.keycloak.federation.ldap.LDAPConfig;
-import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
-import org.keycloak.models.LDAPConstants;
-import org.keycloak.models.ModelException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
/**
* <p>This class provides a set of operations to manage LDAP trees.</p>
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPUtil.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPUtil.java
index 2c1cbbe..a60d4eb 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPUtil.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/idm/store/ldap/LDAPUtil.java
@@ -17,12 +17,12 @@
package org.keycloak.federation.ldap.idm.store.ldap;
+import org.keycloak.models.ModelException;
+
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
-import org.keycloak.models.ModelException;
-
/**
* <p>Utility class for working with LDAP.</p>
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/kerberos/LDAPProviderKerberosConfig.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/kerberos/LDAPProviderKerberosConfig.java
index 91df452..71e2198 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/kerberos/LDAPProviderKerberosConfig.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/kerberos/LDAPProviderKerberosConfig.java
@@ -17,8 +17,8 @@
package org.keycloak.federation.ldap.kerberos;
-import org.keycloak.federation.kerberos.CommonKerberosConfig;
import org.keycloak.common.constants.KerberosConstants;
+import org.keycloak.federation.kerberos.CommonKerberosConfig;
import org.keycloak.models.UserFederationProviderModel;
/**
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPConfig.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPConfig.java
index eb8eaaa..7d32e6a 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPConfig.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPConfig.java
@@ -17,17 +17,16 @@
package org.keycloak.federation.ldap;
+import org.keycloak.models.LDAPConstants;
+import org.keycloak.models.UserFederationProvider;
+
+import javax.naming.directory.SearchControls;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import javax.naming.directory.SearchControls;
-
-import org.keycloak.models.LDAPConstants;
-import org.keycloak.models.UserFederationProvider;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java
index d16deaf..14c99a6 100755
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java
@@ -18,8 +18,8 @@
package org.keycloak.federation.ldap;
import org.jboss.logging.Logger;
+import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.credential.CredentialInput;
-import org.keycloak.credential.CredentialInputUpdater;
import org.keycloak.credential.CredentialModel;
import org.keycloak.federation.kerberos.impl.KerberosUsernamePasswordAuthenticator;
import org.keycloak.federation.kerberos.impl.SPNEGOAuthenticator;
@@ -32,6 +32,7 @@ import org.keycloak.federation.ldap.kerberos.LDAPProviderKerberosConfig;
import org.keycloak.federation.ldap.mappers.LDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.LDAPMappersComparator;
import org.keycloak.federation.ldap.mappers.PasswordUpdated;
+import org.keycloak.mappers.UserFederationMapper;
import org.keycloak.models.CredentialValidationOutput;
import org.keycloak.models.GroupModel;
import org.keycloak.models.KeycloakSession;
@@ -42,17 +43,14 @@ import org.keycloak.models.ModelReadOnlyException;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
-import org.keycloak.mappers.UserFederationMapper;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
-import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.services.managers.UserManager;
+import javax.naming.AuthenticationException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -62,8 +60,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.naming.AuthenticationException;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPIdentityStoreRegistry.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPIdentityStoreRegistry.java
index 8662618..7470d43 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPIdentityStoreRegistry.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPIdentityStoreRegistry.java
@@ -17,15 +17,15 @@
package org.keycloak.federation.ldap;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
import org.jboss.logging.Logger;
import org.keycloak.federation.ldap.idm.store.ldap.LDAPIdentityStore;
import org.keycloak.models.LDAPConstants;
import org.keycloak.models.UserFederationProviderModel;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPUtils.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPUtils.java
index e406c11..0c20366 100755
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPUtils.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPUtils.java
@@ -17,13 +17,6 @@
package org.keycloak.federation.ldap;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.keycloak.federation.ldap.idm.model.LDAPDn;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.Condition;
@@ -39,6 +32,13 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserModel;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Allow to directly call some operations against LDAPIdentityStore.
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/AbstractLDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/AbstractLDAPFederationMapper.java
index c998953..8d203d6 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/AbstractLDAPFederationMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/AbstractLDAPFederationMapper.java
@@ -17,14 +17,10 @@
package org.keycloak.federation.ldap.mappers;
-import java.util.Collections;
-import java.util.List;
-
-import javax.naming.AuthenticationException;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
+import org.keycloak.mappers.UserFederationMapper;
import org.keycloak.models.GroupModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -32,7 +28,10 @@ import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationSyncResult;
import org.keycloak.models.UserModel;
-import org.keycloak.mappers.UserFederationMapper;
+
+import javax.naming.AuthenticationException;
+import java.util.Collections;
+import java.util.List;
/**
* Stateful per-request object
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapper.java
index b94b5b4..c2cabe4 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapper.java
@@ -17,9 +17,6 @@
package org.keycloak.federation.ldap.mappers;
-import java.util.HashSet;
-import java.util.Set;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.Condition;
@@ -31,6 +28,9 @@ import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserModel;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* Mapper useful for the LDAP deployments when some attribute (usually CN) is mapped to full name of user
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapperFactory.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapperFactory.java
index 32826b2..4c5a534 100755
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapperFactory.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/FullNameLDAPFederationMapperFactory.java
@@ -17,11 +17,6 @@
package org.keycloak.federation.ldap.mappers;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.federation.ldap.LDAPConfig;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.mappers.FederationConfigValidationException;
@@ -32,6 +27,11 @@ import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapper.java
index 991ec91..67e577e 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapper.java
@@ -17,8 +17,6 @@
package org.keycloak.federation.ldap.mappers;
-import java.util.Set;
-
import org.jboss.logging.Logger;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
@@ -32,6 +30,8 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.UserModelDelegate;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapperFactory.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapperFactory.java
index 1ca93f5..2f1170d 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapperFactory.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/HardcodedLDAPRoleMapperFactory.java
@@ -17,11 +17,6 @@
package org.keycloak.federation.ldap.mappers;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.mappers.FederationConfigValidationException;
import org.keycloak.models.RealmModel;
@@ -31,6 +26,11 @@ import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapper.java
index 0f35c51..52acbfb 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapper.java
@@ -17,16 +17,16 @@
package org.keycloak.federation.ldap.mappers;
-import javax.naming.AuthenticationException;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
-import org.keycloak.models.RealmModel;
import org.keycloak.mappers.UserFederationMapper;
+import org.keycloak.models.RealmModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserModel;
+import javax.naming.AuthenticationException;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapperBridge.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapperBridge.java
index b2a0baa..1a3521a 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapperBridge.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPFederationMapperBridge.java
@@ -17,10 +17,6 @@
package org.keycloak.federation.ldap.mappers;
-import java.util.List;
-
-import javax.naming.AuthenticationException;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
@@ -32,6 +28,9 @@ import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationSyncResult;
import org.keycloak.models.UserModel;
+import javax.naming.AuthenticationException;
+import java.util.List;
+
/**
* Sufficient if mapper implementation is stateless and doesn't need to "close" any state
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPMappersComparator.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPMappersComparator.java
index c5507e6..893cca7 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPMappersComparator.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/LDAPMappersComparator.java
@@ -17,16 +17,16 @@
package org.keycloak.federation.ldap.mappers;
+import org.keycloak.federation.ldap.LDAPConfig;
+import org.keycloak.models.UserFederationMapperModel;
+import org.keycloak.models.UserModel;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
-import org.keycloak.federation.ldap.LDAPConfig;
-import org.keycloak.models.UserFederationMapperModel;
-import org.keycloak.models.UserModel;
-
/**
* TODO: Possibly add "priority" to UserFederationMapper instead of hardcoding behaviour
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/CommonLDAPGroupMapperConfig.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/CommonLDAPGroupMapperConfig.java
index 9fe78ab..ea50569 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/CommonLDAPGroupMapperConfig.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/CommonLDAPGroupMapperConfig.java
@@ -17,13 +17,13 @@
package org.keycloak.federation.ldap.mappers.membership;
-import java.util.HashSet;
-import java.util.Set;
-
import org.keycloak.models.LDAPConstants;
import org.keycloak.models.ModelException;
import org.keycloak.models.UserFederationMapperModel;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java
index 8713de7..e27f3ef 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java
@@ -17,15 +17,6 @@
package org.keycloak.federation.ldap.mappers.membership.group;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.jboss.logging.Logger;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPUtils;
@@ -49,6 +40,15 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.UserModelDelegate;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapperFactory.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapperFactory.java
index 169875d..a9c5056 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapperFactory.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapperFactory.java
@@ -17,13 +17,6 @@
package org.keycloak.federation.ldap.mappers.membership.group;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.federation.ldap.LDAPConfig;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPUtils;
@@ -43,6 +36,13 @@ import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.idm.UserFederationMapperSyncConfigRepresentation;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupMapperConfig.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupMapperConfig.java
index a1cf03d..ae27a88 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupMapperConfig.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupMapperConfig.java
@@ -17,9 +17,6 @@
package org.keycloak.federation.ldap.mappers.membership.group;
-import java.util.Collection;
-import java.util.Collections;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.mappers.AbstractLDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.membership.CommonLDAPGroupMapperConfig;
@@ -27,6 +24,9 @@ import org.keycloak.models.LDAPConstants;
import org.keycloak.models.ModelException;
import org.keycloak.models.UserFederationMapperModel;
+import java.util.Collection;
+import java.util.Collections;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/MembershipType.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/MembershipType.java
index d053b25..4c9de3e 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/MembershipType.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/MembershipType.java
@@ -17,13 +17,6 @@
package org.keycloak.federation.ldap.mappers.membership;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
import org.keycloak.federation.ldap.LDAPConfig;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPUtils;
@@ -36,6 +29,13 @@ import org.keycloak.federation.ldap.mappers.membership.group.GroupLDAPFederation
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java
index 9dbeec9..2a23001 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java
@@ -17,12 +17,6 @@
package org.keycloak.federation.ldap.mappers.membership.role;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.jboss.logging.Logger;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPUtils;
@@ -46,6 +40,12 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.UserModelDelegate;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* Map realm roles or roles of particular client to LDAP groups
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapperFactory.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapperFactory.java
index 25a7ad1..416e4b4 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapperFactory.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapperFactory.java
@@ -17,13 +17,6 @@
package org.keycloak.federation.ldap.mappers.membership.role;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.federation.ldap.LDAPConfig;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPUtils;
@@ -32,7 +25,6 @@ import org.keycloak.federation.ldap.mappers.AbstractLDAPFederationMapperFactory;
import org.keycloak.federation.ldap.mappers.membership.LDAPGroupMapperMode;
import org.keycloak.federation.ldap.mappers.membership.MembershipType;
import org.keycloak.federation.ldap.mappers.membership.UserRolesRetrieveStrategy;
-import org.keycloak.federation.ldap.mappers.membership.group.GroupMapperConfig;
import org.keycloak.mappers.FederationConfigValidationException;
import org.keycloak.models.LDAPConstants;
import org.keycloak.models.RealmModel;
@@ -42,6 +34,13 @@ import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.idm.UserFederationMapperSyncConfigRepresentation;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleMapperConfig.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleMapperConfig.java
index f087274..950d923 100755
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleMapperConfig.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleMapperConfig.java
@@ -17,14 +17,14 @@
package org.keycloak.federation.ldap.mappers.membership.role;
-import java.util.Collection;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.mappers.membership.CommonLDAPGroupMapperConfig;
import org.keycloak.models.LDAPConstants;
import org.keycloak.models.ModelException;
import org.keycloak.models.UserFederationMapperModel;
+import java.util.Collection;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/UserRolesRetrieveStrategy.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/UserRolesRetrieveStrategy.java
index a1d1a52..fe33e3b 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/UserRolesRetrieveStrategy.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/UserRolesRetrieveStrategy.java
@@ -18,11 +18,6 @@
package org.keycloak.federation.ldap.mappers.membership;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
import org.keycloak.federation.ldap.LDAPUtils;
import org.keycloak.federation.ldap.idm.model.LDAPDn;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
@@ -31,6 +26,11 @@ import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
import org.keycloak.federation.ldap.idm.query.internal.LDAPQueryConditionsBuilder;
import org.keycloak.models.LDAPConstants;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
/**
* Strategy for how to retrieve LDAP roles of user
*
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapper.java
index ba6139d..d974f3c 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapper.java
@@ -17,13 +17,6 @@
package org.keycloak.federation.ldap.mappers.msad;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.naming.AuthenticationException;
-
import org.jboss.logging.Logger;
import org.keycloak.credential.CredentialInput;
import org.keycloak.federation.ldap.LDAPFederationProvider;
@@ -34,12 +27,17 @@ import org.keycloak.federation.ldap.mappers.PasswordUpdated;
import org.keycloak.models.LDAPConstants;
import org.keycloak.models.ModelException;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.UserModelDelegate;
+import javax.naming.AuthenticationException;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
/**
* Mapper specific to MSAD. It's able to read the userAccountControl and pwdLastSet attributes and set actions in Keycloak based on that.
* It's also able to handle exception code from LDAP user authentication (See http://www-01.ibm.com/support/docview.wss?uid=swg21290631 )
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapperFactory.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapperFactory.java
index 36c494d..a8afd1c 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapperFactory.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/msad/MSADUserAccountControlMapperFactory.java
@@ -17,11 +17,6 @@
package org.keycloak.federation.ldap.mappers.msad;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.mappers.AbstractLDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.AbstractLDAPFederationMapperFactory;
@@ -32,6 +27,11 @@ import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapper.java
index b577326..bc10415 100644
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapper.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapper.java
@@ -17,16 +17,6 @@
package org.keycloak.federation.ldap.mappers;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.jboss.logging.Logger;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
@@ -45,6 +35,16 @@ import org.keycloak.models.utils.reflection.Property;
import org.keycloak.models.utils.reflection.PropertyCriteria;
import org.keycloak.models.utils.reflection.PropertyQueries;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapperFactory.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapperFactory.java
index b0a7faa..e0c0f8e 100755
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapperFactory.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/UserAttributeLDAPFederationMapperFactory.java
@@ -17,11 +17,6 @@
package org.keycloak.federation.ldap.mappers;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.federation.ldap.LDAPConfig;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.mappers.FederationConfigValidationException;
@@ -31,6 +26,11 @@ import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/ReadonlyLDAPUserModelDelegate.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/ReadonlyLDAPUserModelDelegate.java
index c71b26a..6a839b6 100755
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/ReadonlyLDAPUserModelDelegate.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/ReadonlyLDAPUserModelDelegate.java
@@ -18,7 +18,6 @@
package org.keycloak.federation.ldap;
import org.keycloak.models.ModelReadOnlyException;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.UserModelDelegate;
diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/WritableLDAPUserModelDelegate.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/WritableLDAPUserModelDelegate.java
index 4644cd9..7bc7801 100755
--- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/WritableLDAPUserModelDelegate.java
+++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/WritableLDAPUserModelDelegate.java
@@ -19,8 +19,6 @@ package org.keycloak.federation.ldap;
import org.jboss.logging.Logger;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
-import org.keycloak.federation.ldap.idm.store.ldap.LDAPIdentityStore;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.UserModelDelegate;
diff --git a/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/GroupTreeResolverTest.java b/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/GroupTreeResolverTest.java
index ab6b71b..66cddf7 100644
--- a/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/GroupTreeResolverTest.java
+++ b/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/GroupTreeResolverTest.java
@@ -17,13 +17,13 @@
package org.keycloak.federation.ldap.idm.model;
-import java.util.Arrays;
-import java.util.List;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.federation.ldap.mappers.membership.group.GroupTreeResolver;
+import java.util.Arrays;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/LDAPMappersComparatorTest.java b/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/LDAPMappersComparatorTest.java
index 7ca7ff2..061ef50 100644
--- a/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/LDAPMappersComparatorTest.java
+++ b/federation/ldap/src/test/java/org/keycloak/federation/ldap/idm/model/LDAPMappersComparatorTest.java
@@ -17,12 +17,6 @@
package org.keycloak.federation.ldap.idm.model;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.federation.ldap.LDAPConfig;
@@ -36,6 +30,12 @@ import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/federation/sssd/src/main/java/org/keycloak/federation/sssd/ReadonlySSSDUserModelDelegate.java b/federation/sssd/src/main/java/org/keycloak/federation/sssd/ReadonlySSSDUserModelDelegate.java
index 75b6fd8..aff52ac 100755
--- a/federation/sssd/src/main/java/org/keycloak/federation/sssd/ReadonlySSSDUserModelDelegate.java
+++ b/federation/sssd/src/main/java/org/keycloak/federation/sssd/ReadonlySSSDUserModelDelegate.java
@@ -18,8 +18,6 @@
package org.keycloak.federation.sssd;
import org.keycloak.models.ModelReadOnlyException;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.UserModelDelegate;
diff --git a/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java b/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java
index ba47871..8e66943 100755
--- a/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java
+++ b/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java
@@ -36,7 +36,6 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.services.managers.UserManager;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientAttributeCertificateResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientAttributeCertificateResource.java
index 2675e19..8acaf85 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientAttributeCertificateResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientAttributeCertificateResource.java
@@ -17,16 +17,17 @@
package org.keycloak.admin.client.resource;
+import org.jboss.resteasy.annotations.cache.NoCache;
+import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
+import org.keycloak.representations.KeyStoreConfig;
+import org.keycloak.representations.idm.CertificateRepresentation;
+
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
-import org.jboss.resteasy.annotations.cache.NoCache;
-import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
-import org.keycloak.representations.KeyStoreConfig;
-import org.keycloak.representations.idm.CertificateRepresentation;
/**
*
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientInitialAccessResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientInitialAccessResource.java
index 4798bb1..54dba86 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientInitialAccessResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientInitialAccessResource.java
@@ -20,11 +20,14 @@ package org.keycloak.admin.client.resource;
import org.keycloak.representations.idm.ClientInitialAccessCreatePresentation;
import org.keycloak.representations.idm.ClientInitialAccessPresentation;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
import java.util.List;
/**
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientRegistrationTrustedHostResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientRegistrationTrustedHostResource.java
index 4f5ace9..29e3864 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientRegistrationTrustedHostResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientRegistrationTrustedHostResource.java
@@ -17,7 +17,7 @@
package org.keycloak.admin.client.resource;
-import java.util.List;
+import org.keycloak.representations.idm.ClientRegistrationTrustedHostRepresentation;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -29,8 +29,7 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.keycloak.representations.idm.ClientRegistrationTrustedHostRepresentation;
+import java.util.List;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplateResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplateResource.java
index 98a849e..00a41b7 100755
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplateResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplateResource.java
@@ -17,24 +17,15 @@
package org.keycloak.admin.client.resource;
-import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ClientTemplateRepresentation;
-import org.keycloak.representations.idm.CredentialRepresentation;
-import org.keycloak.representations.idm.UserSessionRepresentation;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
-import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
/**
* @author rodrigo.sasaki@icarros.com.br
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplatesResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplatesResource.java
index 2f3f9a7..acf26c4 100755
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplatesResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ClientTemplatesResource.java
@@ -17,7 +17,6 @@
package org.keycloak.admin.client.resource;
-import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ClientTemplateRepresentation;
import javax.ws.rs.Consumes;
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ComponentResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ComponentResource.java
index 2839f86..efc9f2b 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ComponentResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ComponentResource.java
@@ -16,15 +16,12 @@
*/
package org.keycloak.admin.client.resource;
-import org.jboss.resteasy.spi.NotFoundException;
import org.keycloak.representations.idm.ComponentRepresentation;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
import javax.ws.rs.core.MediaType;
/**
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ProtocolMappersResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ProtocolMappersResource.java
index 8604a1c..db53bc4 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ProtocolMappersResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ProtocolMappersResource.java
@@ -17,7 +17,7 @@
package org.keycloak.admin.client.resource;
-import java.util.List;
+import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -28,8 +28,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
-
-import org.keycloak.representations.idm.ProtocolMapperRepresentation;
+import java.util.List;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java
index ba91227..252157a 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java
@@ -27,7 +27,15 @@ import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.representations.idm.RealmEventsConfigRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopeResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopeResource.java
index 4a0ad8e..6975574 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopeResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopeResource.java
@@ -17,7 +17,6 @@
package org.keycloak.admin.client.resource;
import org.jboss.resteasy.annotations.cache.NoCache;
-import org.keycloak.representations.idm.authorization.ResourceRepresentation;
import org.keycloak.representations.idm.authorization.ScopeRepresentation;
import javax.ws.rs.Consumes;
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopesResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopesResource.java
index 88f5c74..3a48114 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopesResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/ResourceScopesResource.java
@@ -17,7 +17,6 @@
package org.keycloak.admin.client.resource;
import org.jboss.resteasy.annotations.cache.NoCache;
-import org.keycloak.representations.idm.authorization.ResourceRepresentation;
import org.keycloak.representations.idm.authorization.ScopeRepresentation;
import javax.ws.rs.Consumes;
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProviderResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProviderResource.java
index 2e4543a..9ba7638 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProviderResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProviderResource.java
@@ -17,8 +17,10 @@
package org.keycloak.admin.client.resource;
-import java.util.List;
-import java.util.Map;
+import org.keycloak.representations.idm.UserFederationMapperRepresentation;
+import org.keycloak.representations.idm.UserFederationMapperTypeRepresentation;
+import org.keycloak.representations.idm.UserFederationProviderRepresentation;
+import org.keycloak.representations.idm.UserFederationSyncResultRepresentation;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -31,11 +33,8 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.keycloak.representations.idm.UserFederationMapperRepresentation;
-import org.keycloak.representations.idm.UserFederationMapperTypeRepresentation;
-import org.keycloak.representations.idm.UserFederationProviderRepresentation;
-import org.keycloak.representations.idm.UserFederationSyncResultRepresentation;
+import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProvidersResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProvidersResource.java
index e56ea3c..e98c008 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProvidersResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserFederationProvidersResource.java
@@ -17,7 +17,8 @@
package org.keycloak.admin.client.resource;
-import java.util.List;
+import org.keycloak.representations.idm.UserFederationProviderFactoryRepresentation;
+import org.keycloak.representations.idm.UserFederationProviderRepresentation;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
@@ -27,9 +28,7 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.keycloak.representations.idm.UserFederationProviderFactoryRepresentation;
-import org.keycloak.representations.idm.UserFederationProviderRepresentation;
+import java.util.List;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java
index eebefe7..e871313 100755
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UserResource.java
@@ -30,8 +30,8 @@ import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java
index 93a0638..3d57c07 100755
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/UsersResource.java
@@ -19,7 +19,14 @@ package org.keycloak.admin.client.resource;
import org.keycloak.representations.idm.UserRepresentation;
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/token/TokenManager.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/token/TokenManager.java
index bb32dae..b434b10 100644
--- a/integration/admin-client/src/main/java/org/keycloak/admin/client/token/TokenManager.java
+++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/token/TokenManager.java
@@ -27,7 +27,11 @@ import org.keycloak.representations.AccessTokenResponse;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.core.Form;
-import static org.keycloak.OAuth2Constants.*;
+import static org.keycloak.OAuth2Constants.CLIENT_CREDENTIALS;
+import static org.keycloak.OAuth2Constants.CLIENT_ID;
+import static org.keycloak.OAuth2Constants.GRANT_TYPE;
+import static org.keycloak.OAuth2Constants.PASSWORD;
+import static org.keycloak.OAuth2Constants.REFRESH_TOKEN;
/**
* @author rodrigo.sasaki@icarros.com.br
diff --git a/integration/client-registration/src/main/java/org/keycloak/client/registration/ClientRegistration.java b/integration/client-registration/src/main/java/org/keycloak/client/registration/ClientRegistration.java
index 8961aad..b4ee78a 100644
--- a/integration/client-registration/src/main/java/org/keycloak/client/registration/ClientRegistration.java
+++ b/integration/client-registration/src/main/java/org/keycloak/client/registration/ClientRegistration.java
@@ -18,9 +18,9 @@
package org.keycloak.client.registration;
import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.HttpClients;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.keycloak.representations.adapters.config.AdapterConfig;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.oidc.OIDCClientRepresentation;
diff --git a/integration/client-registration/src/main/java/org/keycloak/client/registration/HttpUtil.java b/integration/client-registration/src/main/java/org/keycloak/client/registration/HttpUtil.java
index 66808ed..7ca1361 100644
--- a/integration/client-registration/src/main/java/org/keycloak/client/registration/HttpUtil.java
+++ b/integration/client-registration/src/main/java/org/keycloak/client/registration/HttpUtil.java
@@ -20,7 +20,11 @@ package org.keycloak.client.registration;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.*;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.keycloak.common.util.StreamUtil;
diff --git a/integration/client-registration-cli/src/main/java/org/keycloak/client/registration/cli/commands/SetupCommand.java b/integration/client-registration-cli/src/main/java/org/keycloak/client/registration/cli/commands/SetupCommand.java
index 26579ab..5ec15f9 100644
--- a/integration/client-registration-cli/src/main/java/org/keycloak/client/registration/cli/commands/SetupCommand.java
+++ b/integration/client-registration-cli/src/main/java/org/keycloak/client/registration/cli/commands/SetupCommand.java
@@ -5,11 +5,7 @@ import org.jboss.aesh.cl.Option;
import org.jboss.aesh.console.command.Command;
import org.jboss.aesh.console.command.CommandResult;
import org.jboss.aesh.console.command.invocation.CommandInvocation;
-import org.jboss.aesh.io.Resource;
-import org.keycloak.client.registration.ClientRegistrationException;
import org.keycloak.client.registration.cli.Context;
-import org.keycloak.representations.idm.ClientRepresentation;
-import org.keycloak.util.JsonSerialization;
import java.io.IOException;
misc/logo/bg.svg 1(+0 -1)
diff --git a/misc/logo/bg.svg b/misc/logo/bg.svg
index 9bb2f44..e9497b5 100644
--- a/misc/logo/bg.svg
+++ b/misc/logo/bg.svg
@@ -3,7 +3,6 @@
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 2400 1350"
height="1350"
misc/logo/bg_gray.svg 1(+0 -1)
diff --git a/misc/logo/bg_gray.svg b/misc/logo/bg_gray.svg
index 01642a6..494efbb 100644
--- a/misc/logo/bg_gray.svg
+++ b/misc/logo/bg_gray.svg
@@ -5,7 +5,6 @@
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
misc/logo/keycloak_icon_128px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_icon_128px.svg b/misc/logo/keycloak_icon_128px.svg
index d8baf12..6140417 100644
--- a/misc/logo/keycloak_icon_128px.svg
+++ b/misc/logo/keycloak_icon_128px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="0.02" y="-0.02" width="127.98" height="127.98"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M109.62,38a1,1,0,0,1-.83-0.47l-14.44-25A1,1,0,0,0,93.51,12H34.59a1,1,0,0,0-.83.47l-15,26a0,0,0,0,0,0,0L4.31,63.5a1,1,0,0,0,0,1l14.45,25,15,26a1,1,0,0,0,.83.47H93.51a1,1,0,0,0,.84-0.47l14.45-25a1,1,0,0,1,.83-0.47h18a1.08,1.08,0,0,0,1.08-1.08V39.06A1.08,1.08,0,0,0,127.61,38h-18Z"/><path class="cls-1" d="M127.61,38H19.6a1,1,0,0,0-.83.47s0,0,0,0l-0.53.92L11.62,50.85,4.31,63.5a1,1,0,0,0,0,1L5.9,67.21,18.76,89.49a1,1,0,0,0,.84.48h108a1.07,1.07,0,0,0,1.06-1.07V39.06A1.08,1.08,0,0,0,127.61,38Z"/><path class="cls-4" d="M22,61.35L5.9,67.21,4.31,64.46a1,1,0,0,1,0-1l7.31-12.66Z"/><polygon class="cls-5" points="118.06 66.03 128.69 64.51 128.69 76.85 118.06 66.03"/><path class="cls-6" d="M118.05,66l10.64,10.82V88.9A1.07,1.07,0,0,1,127.63,90H115.25Z"/><polygon class="cls-7" points="118.06 66.03 115.25 89.97 100.37 89.97 95.86 79.11 118.06 66.03"/><polygon class="cls-8" points="118.06 66.03 128.69 53.08 128.69 64.51 118.06 66.03"/><path class="cls-9" d="M128.69,39.06v14L118.05,66l-8-28h17.58A1.08,1.08,0,0,1,128.69,39.06Z"/><polygon class="cls-10" points="100.37 89.97 92.52 89.97 90.48 87.05 95.86 79.11 100.37 89.97"/><polygon class="cls-11" points="118.06 66.03 88.61 53.58 104.1 37.98 110.03 37.98 118.06 66.03"/><path class="cls-12" d="M88.61,53.58l7.25,25.52L118.05,66Z"/><polygon class="cls-13" points="92.52 89.97 90.39 89.97 90.48 87.05 92.52 89.97"/><polygon class="cls-14" points="104.1 37.98 88.61 53.58 85.82 39.63 91.8 37.98 104.1 37.98"/><path class="cls-15" d="M88.61,53.58L52.88,61.82,90.48,87.05Z"/><path class="cls-12" d="M88.61,53.58l1.87,33.47,5.37-7.95Z"/><path class="cls-14" d="M85.82,39.63L52.88,61.82l35.74-8.24Z"/><polygon class="cls-16" points="52.88 61.82 37.38 89.97 28.56 89.97 22.04 61.35 52.88 61.82"/><path class="cls-17" d="M37,38L22,61.35l-3.81-22,0.53-.92s0,0,0,0A1,1,0,0,1,19.6,38H37Z"/><path class="cls-16" d="M28.56,90h-9a1,1,0,0,1-.84-0.48L5.9,67.21,22,61.35Z"/><polygon class="cls-18" points="22.04 61.35 11.62 50.84 18.23 39.39 22.04 61.35"/><polygon class="cls-19" points="69.2 37.98 58.89 37.98 43.11 37.98 52.88 61.82 85.82 39.63 75.89 37.98 69.2 37.98"/><polygon class="cls-19" points="39.03 37.98 37 37.98 22.04 61.35 52.88 61.82 43.11 37.98 39.03 37.98"/><polygon class="cls-20" points="83.31 89.97 89.06 89.97 90.39 89.97 90.48 87.05 83.31 89.97"/><polygon class="cls-12" points="90.48 87.05 52.88 61.82 59.65 89.97 69.2 89.97 83.31 89.97 90.48 87.05"/><polygon class="cls-21" points="37.38 89.97 39.03 89.97 58.89 89.97 59.65 89.97 52.88 61.82 37.38 89.97"/><polygon class="cls-22" points="85.92 37.98 85.82 39.63 91.8 37.98 89.06 37.98 85.92 37.98"/><polygon class="cls-23" points="75.89 37.98 85.82 39.63 84.9 37.98 75.89 37.98"/><polygon class="cls-17" points="84.9 37.98 85.82 39.63 85.92 37.98 84.9 37.98"/><path class="cls-24" d="M58.8,38.43L44.27,63.59a0.85,0.85,0,0,0-.1.41H34L54,29.46a0.78,0.78,0,0,1,.3.29l0,0,4.52,7.85A0.87,0.87,0,0,1,58.8,38.43Z"/><path class="cls-25" d="M58.78,90.45l-4.51,7.82a0.88,0.88,0,0,1-.31.29L34,64H44.16a0.77,0.77,0,0,0,.1.39,0.09,0.09,0,0,0,0,0l14.5,25.14A0.85,0.85,0,0,1,58.78,90.45Z"/><path class="cls-26" d="M54,29.46L34,64h0l-5,8.66L24.25,64.4a0.77,0.77,0,0,1-.1-0.39,0.85,0.85,0,0,1,.1-0.41l4.83-8.38L43.78,29.79a0.85,0.85,0,0,1,.74-0.44h9A0.89,0.89,0,0,1,54,29.46Z"/><path class="cls-24" d="M54,98.55a0.89,0.89,0,0,1-.43.11h-9a0.85,0.85,0,0,1-.74-0.44L30.35,75,29,72.67,34,64Z"/><path class="cls-26" d="M94.05,64L74.1,98.55a0.93,0.93,0,0,1-.3-0.29l0,0L69.27,90.4a0.87,0.87,0,0,1,0-.8L83.79,64.44A0.84,0.84,0,0,0,83.91,64H94.05Z"/><path class="cls-24" d="M103.92,64a0.84,0.84,0,0,1-.12.44L84.27,98.26a0.86,0.86,0,0,1-.73.4h-9a0.93,0.93,0,0,1-.44-0.11L94.05,64l5-8.65,4.75,8.23A0.84,0.84,0,0,1,103.92,64Z"/><path class="cls-24" d="M94.05,64H83.91a0.84,0.84,0,0,0-.12-0.43L69.29,38.44a0.85,0.85,0,0,1,0-.87l4.52-7.82a0.93,0.93,0,0,1,.3-0.29Z"/><path class="cls-25" d="M99.05,55.34h0l-5,8.65L74.1,29.46a0.93,0.93,0,0,1,.44-0.11h9a0.86,0.86,0,0,1,.73.4Z"/></g></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="0.02" y="-0.02" width="127.98" height="127.98"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M109.62,38a1,1,0,0,1-.83-0.47l-14.44-25A1,1,0,0,0,93.51,12H34.59a1,1,0,0,0-.83.47l-15,26a0,0,0,0,0,0,0L4.31,63.5a1,1,0,0,0,0,1l14.45,25,15,26a1,1,0,0,0,.83.47H93.51a1,1,0,0,0,.84-0.47l14.45-25a1,1,0,0,1,.83-0.47h18a1.08,1.08,0,0,0,1.08-1.08V39.06A1.08,1.08,0,0,0,127.61,38h-18Z"/><path class="cls-1" d="M127.61,38H19.6a1,1,0,0,0-.83.47s0,0,0,0l-0.53.92L11.62,50.85,4.31,63.5a1,1,0,0,0,0,1L5.9,67.21,18.76,89.49a1,1,0,0,0,.84.48h108a1.07,1.07,0,0,0,1.06-1.07V39.06A1.08,1.08,0,0,0,127.61,38Z"/><path class="cls-4" d="M22,61.35L5.9,67.21,4.31,64.46a1,1,0,0,1,0-1l7.31-12.66Z"/><polygon class="cls-5" points="118.06 66.03 128.69 64.51 128.69 76.85 118.06 66.03"/><path class="cls-6" d="M118.05,66l10.64,10.82V88.9A1.07,1.07,0,0,1,127.63,90H115.25Z"/><polygon class="cls-7" points="118.06 66.03 115.25 89.97 100.37 89.97 95.86 79.11 118.06 66.03"/><polygon class="cls-8" points="118.06 66.03 128.69 53.08 128.69 64.51 118.06 66.03"/><path class="cls-9" d="M128.69,39.06v14L118.05,66l-8-28h17.58A1.08,1.08,0,0,1,128.69,39.06Z"/><polygon class="cls-10" points="100.37 89.97 92.52 89.97 90.48 87.05 95.86 79.11 100.37 89.97"/><polygon class="cls-11" points="118.06 66.03 88.61 53.58 104.1 37.98 110.03 37.98 118.06 66.03"/><path class="cls-12" d="M88.61,53.58l7.25,25.52L118.05,66Z"/><polygon class="cls-13" points="92.52 89.97 90.39 89.97 90.48 87.05 92.52 89.97"/><polygon class="cls-14" points="104.1 37.98 88.61 53.58 85.82 39.63 91.8 37.98 104.1 37.98"/><path class="cls-15" d="M88.61,53.58L52.88,61.82,90.48,87.05Z"/><path class="cls-12" d="M88.61,53.58l1.87,33.47,5.37-7.95Z"/><path class="cls-14" d="M85.82,39.63L52.88,61.82l35.74-8.24Z"/><polygon class="cls-16" points="52.88 61.82 37.38 89.97 28.56 89.97 22.04 61.35 52.88 61.82"/><path class="cls-17" d="M37,38L22,61.35l-3.81-22,0.53-.92s0,0,0,0A1,1,0,0,1,19.6,38H37Z"/><path class="cls-16" d="M28.56,90h-9a1,1,0,0,1-.84-0.48L5.9,67.21,22,61.35Z"/><polygon class="cls-18" points="22.04 61.35 11.62 50.84 18.23 39.39 22.04 61.35"/><polygon class="cls-19" points="69.2 37.98 58.89 37.98 43.11 37.98 52.88 61.82 85.82 39.63 75.89 37.98 69.2 37.98"/><polygon class="cls-19" points="39.03 37.98 37 37.98 22.04 61.35 52.88 61.82 43.11 37.98 39.03 37.98"/><polygon class="cls-20" points="83.31 89.97 89.06 89.97 90.39 89.97 90.48 87.05 83.31 89.97"/><polygon class="cls-12" points="90.48 87.05 52.88 61.82 59.65 89.97 69.2 89.97 83.31 89.97 90.48 87.05"/><polygon class="cls-21" points="37.38 89.97 39.03 89.97 58.89 89.97 59.65 89.97 52.88 61.82 37.38 89.97"/><polygon class="cls-22" points="85.92 37.98 85.82 39.63 91.8 37.98 89.06 37.98 85.92 37.98"/><polygon class="cls-23" points="75.89 37.98 85.82 39.63 84.9 37.98 75.89 37.98"/><polygon class="cls-17" points="84.9 37.98 85.82 39.63 85.92 37.98 84.9 37.98"/><path class="cls-24" d="M58.8,38.43L44.27,63.59a0.85,0.85,0,0,0-.1.41H34L54,29.46a0.78,0.78,0,0,1,.3.29l0,0,4.52,7.85A0.87,0.87,0,0,1,58.8,38.43Z"/><path class="cls-25" d="M58.78,90.45l-4.51,7.82a0.88,0.88,0,0,1-.31.29L34,64H44.16a0.77,0.77,0,0,0,.1.39,0.09,0.09,0,0,0,0,0l14.5,25.14A0.85,0.85,0,0,1,58.78,90.45Z"/><path class="cls-26" d="M54,29.46L34,64h0l-5,8.66L24.25,64.4a0.77,0.77,0,0,1-.1-0.39,0.85,0.85,0,0,1,.1-0.41l4.83-8.38L43.78,29.79a0.85,0.85,0,0,1,.74-0.44h9A0.89,0.89,0,0,1,54,29.46Z"/><path class="cls-24" d="M54,98.55a0.89,0.89,0,0,1-.43.11h-9a0.85,0.85,0,0,1-.74-0.44L30.35,75,29,72.67,34,64Z"/><path class="cls-26" d="M94.05,64L74.1,98.55a0.93,0.93,0,0,1-.3-0.29l0,0L69.27,90.4a0.87,0.87,0,0,1,0-.8L83.79,64.44A0.84,0.84,0,0,0,83.91,64H94.05Z"/><path class="cls-24" d="M103.92,64a0.84,0.84,0,0,1-.12.44L84.27,98.26a0.86,0.86,0,0,1-.73.4h-9a0.93,0.93,0,0,1-.44-0.11L94.05,64l5-8.65,4.75,8.23A0.84,0.84,0,0,1,103.92,64Z"/><path class="cls-24" d="M94.05,64H83.91a0.84,0.84,0,0,0-.12-0.43L69.29,38.44a0.85,0.85,0,0,1,0-.87l4.52-7.82a0.93,0.93,0,0,1,.3-0.29Z"/><path class="cls-25" d="M99.05,55.34h0l-5,8.65L74.1,29.46a0.93,0.93,0,0,1,.44-0.11h9a0.86,0.86,0,0,1,.73.4Z"/></g></svg>
\ No newline at end of file
misc/logo/keycloak_icon_16px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_icon_16px.svg b/misc/logo/keycloak_icon_16px.svg
index d500571..bf22972 100644
--- a/misc/logo/keycloak_icon_16px.svg
+++ b/misc/logo/keycloak_icon_16px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" y="0.01" width="15.98" height="15.98"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M13.69,4.76a0.12,0.12,0,0,1-.1-0.06l-1.8-3.13a0.12,0.12,0,0,0-.1-0.06H4.32a0.12,0.12,0,0,0-.1.06L2.34,4.82h0L0.54,7.95a0.12,0.12,0,0,0,0,.12l1.8,3.13,1.87,3.25a0.12,0.12,0,0,0,.1.06h7.36a0.12,0.12,0,0,0,.1-0.06l1.8-3.13a0.12,0.12,0,0,1,.1-0.06h2.25a0.14,0.14,0,0,0,.14-0.14V4.89a0.14,0.14,0,0,0-.14-0.14H13.69Z"/><path class="cls-1" d="M15.94,4.76H2.45a0.12,0.12,0,0,0-.1.06h0l-0.07.12L1.45,6.37,0.54,7.95a0.12,0.12,0,0,0,0,.12l0.2,0.34,1.61,2.78a0.12,0.12,0,0,0,.1.06H15.94a0.13,0.13,0,0,0,.13-0.13V4.89A0.13,0.13,0,0,0,15.94,4.76Z"/><path class="cls-4" d="M2.75,7.68l-2,.73-0.2-.34a0.12,0.12,0,0,1,0-.12L1.45,6.37Z"/><polygon class="cls-5" points="14.74 8.26 16.07 8.07 16.07 9.61 14.74 8.26"/><path class="cls-6" d="M14.74,8.26l1.33,1.35v1.51a0.13,0.13,0,0,1-.13.13H14.39Z"/><polygon class="cls-7" points="14.74 8.26 14.39 11.25 12.53 11.25 11.97 9.9 14.74 8.26"/><polygon class="cls-8" points="14.74 8.26 16.07 6.64 16.07 8.07 14.74 8.26"/><path class="cls-9" d="M16.07,4.89V6.64L14.74,8.26l-1-3.5h2.2A0.13,0.13,0,0,1,16.07,4.89Z"/><polygon class="cls-10" points="12.53 11.25 11.55 11.25 11.3 10.89 11.97 9.9 12.53 11.25"/><polygon class="cls-11" points="14.74 8.26 11.06 6.71 13 4.76 13.74 4.76 14.74 8.26"/><path class="cls-12" d="M11.06,6.71L12,9.9l2.77-1.63Z"/><polygon class="cls-13" points="11.55 11.25 11.29 11.25 11.3 10.89 11.55 11.25"/><polygon class="cls-14" points="13 4.76 11.06 6.71 10.72 4.96 11.46 4.76 13 4.76"/><path class="cls-15" d="M11.06,6.71l-4.46,1,4.7,3.15Z"/><path class="cls-12" d="M11.06,6.71l0.23,4.18L12,9.9Z"/><path class="cls-14" d="M10.72,5L6.6,7.74l4.46-1Z"/><polygon class="cls-16" points="6.6 7.74 4.67 11.25 3.56 11.25 2.75 7.68 6.6 7.74"/><path class="cls-17" d="M4.62,4.76L2.75,7.68,2.27,4.94l0.07-.12h0a0.12,0.12,0,0,1,.1-0.06H4.62Z"/><path class="cls-16" d="M3.57,11.25H2.45a0.12,0.12,0,0,1-.1-0.06L0.73,8.41l2-.73Z"/><polygon class="cls-18" points="2.75 7.68 1.45 6.37 2.27 4.93 2.75 7.68"/><polygon class="cls-19" points="8.64 4.76 7.35 4.76 5.38 4.76 6.6 7.74 10.72 4.96 9.48 4.76 8.64 4.76"/><polygon class="cls-19" points="4.87 4.76 4.62 4.76 2.75 7.68 6.6 7.74 5.38 4.76 4.87 4.76"/><polygon class="cls-20" points="10.4 11.25 11.12 11.25 11.29 11.25 11.3 10.89 10.4 11.25"/><polygon class="cls-12" points="11.3 10.89 6.6 7.74 7.45 11.25 8.64 11.25 10.4 11.25 11.3 10.89"/><polygon class="cls-21" points="4.67 11.25 4.87 11.25 7.35 11.25 7.45 11.25 6.6 7.74 4.67 11.25"/><polygon class="cls-22" points="10.73 4.76 10.72 4.96 11.46 4.76 11.12 4.76 10.73 4.76"/><polygon class="cls-23" points="9.48 4.76 10.72 4.96 10.6 4.76 9.48 4.76"/><polygon class="cls-17" points="10.6 4.76 10.72 4.96 10.73 4.76 10.6 4.76"/><path class="cls-24" d="M7.34,4.82L5.53,8a0.11,0.11,0,0,0,0,.05H4.25L6.74,3.7l0,0h0l0.56,1A0.11,0.11,0,0,1,7.34,4.82Z"/><path class="cls-25" d="M7.34,11.31l-0.56,1,0,0L4.25,8H5.51a0.1,0.1,0,0,0,0,0h0L7.34,11.2A0.11,0.11,0,0,1,7.34,11.31Z"/><path class="cls-26" d="M6.74,3.7L4.25,8h0L3.62,9.09,3,8.06A0.1,0.1,0,0,1,3,8,0.11,0.11,0,0,1,3,8l0.6-1L5.47,3.74a0.11,0.11,0,0,1,.09-0.05H6.74Z"/><path class="cls-24" d="M6.74,12.32H5.56a0.11,0.11,0,0,1-.09-0.05L3.79,9.38,3.62,9.09,4.25,8Z"/><path class="cls-26" d="M11.74,8L9.25,12.32l0,0h0l-0.56-1a0.11,0.11,0,0,1,0-.1l1.81-3.14a0.11,0.11,0,0,0,0-.05h1.27Z"/><path class="cls-24" d="M13,8a0.11,0.11,0,0,1,0,.05l-2.44,4.22a0.11,0.11,0,0,1-.09.05H9.25L11.74,8l0.62-1.08L13,8A0.1,0.1,0,0,1,13,8Z"/><path class="cls-24" d="M11.74,8H10.48a0.1,0.1,0,0,0,0-.05L8.65,4.82a0.11,0.11,0,0,1,0-.11l0.56-1,0,0Z"/><path class="cls-25" d="M12.37,6.93h0L11.74,8,9.25,3.7h1.18a0.11,0.11,0,0,1,.09.05Z"/></g></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" y="0.01" width="15.98" height="15.98"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M13.69,4.76a0.12,0.12,0,0,1-.1-0.06l-1.8-3.13a0.12,0.12,0,0,0-.1-0.06H4.32a0.12,0.12,0,0,0-.1.06L2.34,4.82h0L0.54,7.95a0.12,0.12,0,0,0,0,.12l1.8,3.13,1.87,3.25a0.12,0.12,0,0,0,.1.06h7.36a0.12,0.12,0,0,0,.1-0.06l1.8-3.13a0.12,0.12,0,0,1,.1-0.06h2.25a0.14,0.14,0,0,0,.14-0.14V4.89a0.14,0.14,0,0,0-.14-0.14H13.69Z"/><path class="cls-1" d="M15.94,4.76H2.45a0.12,0.12,0,0,0-.1.06h0l-0.07.12L1.45,6.37,0.54,7.95a0.12,0.12,0,0,0,0,.12l0.2,0.34,1.61,2.78a0.12,0.12,0,0,0,.1.06H15.94a0.13,0.13,0,0,0,.13-0.13V4.89A0.13,0.13,0,0,0,15.94,4.76Z"/><path class="cls-4" d="M2.75,7.68l-2,.73-0.2-.34a0.12,0.12,0,0,1,0-.12L1.45,6.37Z"/><polygon class="cls-5" points="14.74 8.26 16.07 8.07 16.07 9.61 14.74 8.26"/><path class="cls-6" d="M14.74,8.26l1.33,1.35v1.51a0.13,0.13,0,0,1-.13.13H14.39Z"/><polygon class="cls-7" points="14.74 8.26 14.39 11.25 12.53 11.25 11.97 9.9 14.74 8.26"/><polygon class="cls-8" points="14.74 8.26 16.07 6.64 16.07 8.07 14.74 8.26"/><path class="cls-9" d="M16.07,4.89V6.64L14.74,8.26l-1-3.5h2.2A0.13,0.13,0,0,1,16.07,4.89Z"/><polygon class="cls-10" points="12.53 11.25 11.55 11.25 11.3 10.89 11.97 9.9 12.53 11.25"/><polygon class="cls-11" points="14.74 8.26 11.06 6.71 13 4.76 13.74 4.76 14.74 8.26"/><path class="cls-12" d="M11.06,6.71L12,9.9l2.77-1.63Z"/><polygon class="cls-13" points="11.55 11.25 11.29 11.25 11.3 10.89 11.55 11.25"/><polygon class="cls-14" points="13 4.76 11.06 6.71 10.72 4.96 11.46 4.76 13 4.76"/><path class="cls-15" d="M11.06,6.71l-4.46,1,4.7,3.15Z"/><path class="cls-12" d="M11.06,6.71l0.23,4.18L12,9.9Z"/><path class="cls-14" d="M10.72,5L6.6,7.74l4.46-1Z"/><polygon class="cls-16" points="6.6 7.74 4.67 11.25 3.56 11.25 2.75 7.68 6.6 7.74"/><path class="cls-17" d="M4.62,4.76L2.75,7.68,2.27,4.94l0.07-.12h0a0.12,0.12,0,0,1,.1-0.06H4.62Z"/><path class="cls-16" d="M3.57,11.25H2.45a0.12,0.12,0,0,1-.1-0.06L0.73,8.41l2-.73Z"/><polygon class="cls-18" points="2.75 7.68 1.45 6.37 2.27 4.93 2.75 7.68"/><polygon class="cls-19" points="8.64 4.76 7.35 4.76 5.38 4.76 6.6 7.74 10.72 4.96 9.48 4.76 8.64 4.76"/><polygon class="cls-19" points="4.87 4.76 4.62 4.76 2.75 7.68 6.6 7.74 5.38 4.76 4.87 4.76"/><polygon class="cls-20" points="10.4 11.25 11.12 11.25 11.29 11.25 11.3 10.89 10.4 11.25"/><polygon class="cls-12" points="11.3 10.89 6.6 7.74 7.45 11.25 8.64 11.25 10.4 11.25 11.3 10.89"/><polygon class="cls-21" points="4.67 11.25 4.87 11.25 7.35 11.25 7.45 11.25 6.6 7.74 4.67 11.25"/><polygon class="cls-22" points="10.73 4.76 10.72 4.96 11.46 4.76 11.12 4.76 10.73 4.76"/><polygon class="cls-23" points="9.48 4.76 10.72 4.96 10.6 4.76 9.48 4.76"/><polygon class="cls-17" points="10.6 4.76 10.72 4.96 10.73 4.76 10.6 4.76"/><path class="cls-24" d="M7.34,4.82L5.53,8a0.11,0.11,0,0,0,0,.05H4.25L6.74,3.7l0,0h0l0.56,1A0.11,0.11,0,0,1,7.34,4.82Z"/><path class="cls-25" d="M7.34,11.31l-0.56,1,0,0L4.25,8H5.51a0.1,0.1,0,0,0,0,0h0L7.34,11.2A0.11,0.11,0,0,1,7.34,11.31Z"/><path class="cls-26" d="M6.74,3.7L4.25,8h0L3.62,9.09,3,8.06A0.1,0.1,0,0,1,3,8,0.11,0.11,0,0,1,3,8l0.6-1L5.47,3.74a0.11,0.11,0,0,1,.09-0.05H6.74Z"/><path class="cls-24" d="M6.74,12.32H5.56a0.11,0.11,0,0,1-.09-0.05L3.79,9.38,3.62,9.09,4.25,8Z"/><path class="cls-26" d="M11.74,8L9.25,12.32l0,0h0l-0.56-1a0.11,0.11,0,0,1,0-.1l1.81-3.14a0.11,0.11,0,0,0,0-.05h1.27Z"/><path class="cls-24" d="M13,8a0.11,0.11,0,0,1,0,.05l-2.44,4.22a0.11,0.11,0,0,1-.09.05H9.25L11.74,8l0.62-1.08L13,8A0.1,0.1,0,0,1,13,8Z"/><path class="cls-24" d="M11.74,8H10.48a0.1,0.1,0,0,0,0-.05L8.65,4.82a0.11,0.11,0,0,1,0-.11l0.56-1,0,0Z"/><path class="cls-25" d="M12.37,6.93h0L11.74,8,9.25,3.7h1.18a0.11,0.11,0,0,1,.09.05Z"/></g></svg>
\ No newline at end of file
misc/logo/keycloak_icon_256px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_icon_256px.svg b/misc/logo/keycloak_icon_256px.svg
index 570bcc1..37f734e 100644
--- a/misc/logo/keycloak_icon_256px.svg
+++ b/misc/logo/keycloak_icon_256px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="0.02" y="0.02" width="255.98" height="255.98"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M219.24,76a1.9,1.9,0,0,1-1.66-.95L188.7,25A2,2,0,0,0,187,24H69.18a1.9,1.9,0,0,0-1.66.95l-30,52a0,0,0,0,0,0,0L8.6,127.05a1.94,1.94,0,0,0,0,1.91L37.5,179l30,52a1.9,1.9,0,0,0,1.66.95H187a2,2,0,0,0,1.68-.95L217.6,181a1.9,1.9,0,0,1,1.66-.95h36a2.16,2.16,0,0,0,2.16-2.16V78.17A2.16,2.16,0,0,0,255.22,76h-36Z"/><path class="cls-1" d="M255.23,76h-216a2,2,0,0,0-1.66.93s0,0,0,0l-1.07,1.85L23.22,101.75,8.61,127.06a1.9,1.9,0,0,0,0,1.92l3.17,5.5L37.51,179a1.92,1.92,0,0,0,1.67,1H255.26a2.14,2.14,0,0,0,2.12-2.14V78.18A2.16,2.16,0,0,0,255.23,76Z"/><path class="cls-4" d="M44.06,122.76L11.78,134.48,8.61,129a1.9,1.9,0,0,1,0-1.92l14.61-25.31Z"/><polygon class="cls-5" points="236.11 132.11 257.38 129.07 257.38 153.75 236.11 132.11"/><path class="cls-6" d="M236.11,132.11l21.27,21.64v24.1a2.14,2.14,0,0,1-2.12,2.14H230.5Z"/><polygon class="cls-7" points="236.11 132.11 230.5 179.99 200.74 179.99 191.71 158.27 236.11 132.11"/><polygon class="cls-8" points="236.11 132.11 257.38 106.21 257.38 129.07 236.11 132.11"/><path class="cls-9" d="M257.38,78.17v28l-21.27,25.9L220.06,76h35.16A2.16,2.16,0,0,1,257.38,78.17Z"/><polygon class="cls-10" points="200.74 179.99 185.03 179.99 180.96 174.16 191.71 158.27 200.74 179.99"/><polygon class="cls-11" points="236.11 132.11 177.22 107.22 208.19 76.02 220.06 76.02 236.11 132.11"/><path class="cls-12" d="M177.22,107.22l14.49,51.05,44.4-26.16Z"/><polygon class="cls-13" points="185.03 179.99 180.77 179.99 180.96 174.16 185.03 179.99"/><polygon class="cls-14" points="208.19 76.02 177.22 107.22 171.63 79.31 183.59 76.02 208.19 76.02"/><path class="cls-15" d="M177.22,107.22L105.74,123.7,181,174.16Z"/><path class="cls-12" d="M177.22,107.22L181,174.16l10.75-15.89Z"/><path class="cls-14" d="M171.63,79.31L105.74,123.7l71.48-16.48Z"/><polygon class="cls-16" points="105.74 123.7 74.76 179.99 57.11 179.99 44.06 122.76 105.74 123.7"/><path class="cls-17" d="M74,76L44.06,122.76,36.44,78.83,37.51,77s0,0,0,0A2,2,0,0,1,39.18,76H74Z"/><path class="cls-16" d="M57.11,180H39.18a1.92,1.92,0,0,1-1.67-1L11.78,134.48l32.28-11.72Z"/><polygon class="cls-18" points="44.06 122.76 23.22 101.74 36.44 78.83 44.06 122.76"/><polygon class="cls-19" points="138.4 76.02 117.78 76.02 86.2 76.02 105.74 123.7 171.63 79.31 151.77 76.02 138.4 76.02"/><polygon class="cls-19" points="78.06 76.02 73.98 76.02 44.06 122.76 105.74 123.7 86.2 76.02 78.06 76.02"/><polygon class="cls-20" points="166.62 179.99 178.12 179.99 180.77 179.99 180.96 174.16 166.62 179.99"/><polygon class="cls-12" points="180.96 174.16 105.74 123.7 119.29 179.99 138.4 179.99 166.62 179.99 180.96 174.16"/><polygon class="cls-21" points="74.76 179.99 78.06 179.99 117.78 179.99 119.29 179.99 105.74 123.7 74.76 179.99"/><polygon class="cls-22" points="171.83 76.02 171.63 79.31 183.59 76.02 178.12 76.02 171.83 76.02"/><polygon class="cls-23" points="151.77 76.02 171.63 79.31 169.79 76.02 151.77 76.02"/><polygon class="cls-17" points="169.79 76.02 171.63 79.31 171.83 76.02 169.79 76.02"/><path class="cls-24" d="M117.58,76.91L88.52,127.24a1.69,1.69,0,0,0-.21.82H68L107.91,59a1.57,1.57,0,0,1,.59.58l0.05,0.05,9,15.7A1.74,1.74,0,0,1,117.58,76.91Z"/><path class="cls-25" d="M117.55,181l-9,15.63a1.75,1.75,0,0,1-.61.58L68,128.08v0H88.31a1.54,1.54,0,0,0,.19.79,0.18,0.18,0,0,0,0,.09l29,50.29A1.7,1.7,0,0,1,117.55,181Z"/><path class="cls-26" d="M107.91,59L68,128.06h0v0L58,145.4l-9.55-16.56a1.54,1.54,0,0,1-.19-0.79,1.69,1.69,0,0,1,.21-0.82l9.67-16.75L87.54,59.62A1.7,1.7,0,0,1,89,58.75h18A1.79,1.79,0,0,1,107.91,59Z"/><path class="cls-24" d="M107.91,197.16a1.79,1.79,0,0,1-.86.23H89a1.7,1.7,0,0,1-1.49-.87L60.69,150,58,145.4l10-17.33Z"/><path class="cls-26" d="M188.1,128.06l-39.9,69.1a1.87,1.87,0,0,1-.59-0.58l0-.05-9-15.67a1.74,1.74,0,0,1,0-1.61l29-50.32a1.69,1.69,0,0,0,.24-0.87H188.1Z"/><path class="cls-24" d="M207.84,128.06a1.69,1.69,0,0,1-.24.87l-39.06,67.65a1.71,1.71,0,0,1-1.45.8h-18a1.86,1.86,0,0,1-.87-0.23l39.9-69.1,10-17.31,9.49,16.45A1.68,1.68,0,0,1,207.84,128.06Z"/><path class="cls-24" d="M188.1,128.06H167.82a1.68,1.68,0,0,0-.24-0.86l-29-50.27a1.7,1.7,0,0,1,0-1.73l9-15.65A1.87,1.87,0,0,1,148.2,59Z"/><path class="cls-25" d="M198.1,110.73v0l-10,17.31L148.2,59a1.86,1.86,0,0,1,.87-0.23h18a1.71,1.71,0,0,1,1.45.8Z"/></g></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="0.02" y="0.02" width="255.98" height="255.98"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M219.24,76a1.9,1.9,0,0,1-1.66-.95L188.7,25A2,2,0,0,0,187,24H69.18a1.9,1.9,0,0,0-1.66.95l-30,52a0,0,0,0,0,0,0L8.6,127.05a1.94,1.94,0,0,0,0,1.91L37.5,179l30,52a1.9,1.9,0,0,0,1.66.95H187a2,2,0,0,0,1.68-.95L217.6,181a1.9,1.9,0,0,1,1.66-.95h36a2.16,2.16,0,0,0,2.16-2.16V78.17A2.16,2.16,0,0,0,255.22,76h-36Z"/><path class="cls-1" d="M255.23,76h-216a2,2,0,0,0-1.66.93s0,0,0,0l-1.07,1.85L23.22,101.75,8.61,127.06a1.9,1.9,0,0,0,0,1.92l3.17,5.5L37.51,179a1.92,1.92,0,0,0,1.67,1H255.26a2.14,2.14,0,0,0,2.12-2.14V78.18A2.16,2.16,0,0,0,255.23,76Z"/><path class="cls-4" d="M44.06,122.76L11.78,134.48,8.61,129a1.9,1.9,0,0,1,0-1.92l14.61-25.31Z"/><polygon class="cls-5" points="236.11 132.11 257.38 129.07 257.38 153.75 236.11 132.11"/><path class="cls-6" d="M236.11,132.11l21.27,21.64v24.1a2.14,2.14,0,0,1-2.12,2.14H230.5Z"/><polygon class="cls-7" points="236.11 132.11 230.5 179.99 200.74 179.99 191.71 158.27 236.11 132.11"/><polygon class="cls-8" points="236.11 132.11 257.38 106.21 257.38 129.07 236.11 132.11"/><path class="cls-9" d="M257.38,78.17v28l-21.27,25.9L220.06,76h35.16A2.16,2.16,0,0,1,257.38,78.17Z"/><polygon class="cls-10" points="200.74 179.99 185.03 179.99 180.96 174.16 191.71 158.27 200.74 179.99"/><polygon class="cls-11" points="236.11 132.11 177.22 107.22 208.19 76.02 220.06 76.02 236.11 132.11"/><path class="cls-12" d="M177.22,107.22l14.49,51.05,44.4-26.16Z"/><polygon class="cls-13" points="185.03 179.99 180.77 179.99 180.96 174.16 185.03 179.99"/><polygon class="cls-14" points="208.19 76.02 177.22 107.22 171.63 79.31 183.59 76.02 208.19 76.02"/><path class="cls-15" d="M177.22,107.22L105.74,123.7,181,174.16Z"/><path class="cls-12" d="M177.22,107.22L181,174.16l10.75-15.89Z"/><path class="cls-14" d="M171.63,79.31L105.74,123.7l71.48-16.48Z"/><polygon class="cls-16" points="105.74 123.7 74.76 179.99 57.11 179.99 44.06 122.76 105.74 123.7"/><path class="cls-17" d="M74,76L44.06,122.76,36.44,78.83,37.51,77s0,0,0,0A2,2,0,0,1,39.18,76H74Z"/><path class="cls-16" d="M57.11,180H39.18a1.92,1.92,0,0,1-1.67-1L11.78,134.48l32.28-11.72Z"/><polygon class="cls-18" points="44.06 122.76 23.22 101.74 36.44 78.83 44.06 122.76"/><polygon class="cls-19" points="138.4 76.02 117.78 76.02 86.2 76.02 105.74 123.7 171.63 79.31 151.77 76.02 138.4 76.02"/><polygon class="cls-19" points="78.06 76.02 73.98 76.02 44.06 122.76 105.74 123.7 86.2 76.02 78.06 76.02"/><polygon class="cls-20" points="166.62 179.99 178.12 179.99 180.77 179.99 180.96 174.16 166.62 179.99"/><polygon class="cls-12" points="180.96 174.16 105.74 123.7 119.29 179.99 138.4 179.99 166.62 179.99 180.96 174.16"/><polygon class="cls-21" points="74.76 179.99 78.06 179.99 117.78 179.99 119.29 179.99 105.74 123.7 74.76 179.99"/><polygon class="cls-22" points="171.83 76.02 171.63 79.31 183.59 76.02 178.12 76.02 171.83 76.02"/><polygon class="cls-23" points="151.77 76.02 171.63 79.31 169.79 76.02 151.77 76.02"/><polygon class="cls-17" points="169.79 76.02 171.63 79.31 171.83 76.02 169.79 76.02"/><path class="cls-24" d="M117.58,76.91L88.52,127.24a1.69,1.69,0,0,0-.21.82H68L107.91,59a1.57,1.57,0,0,1,.59.58l0.05,0.05,9,15.7A1.74,1.74,0,0,1,117.58,76.91Z"/><path class="cls-25" d="M117.55,181l-9,15.63a1.75,1.75,0,0,1-.61.58L68,128.08v0H88.31a1.54,1.54,0,0,0,.19.79,0.18,0.18,0,0,0,0,.09l29,50.29A1.7,1.7,0,0,1,117.55,181Z"/><path class="cls-26" d="M107.91,59L68,128.06h0v0L58,145.4l-9.55-16.56a1.54,1.54,0,0,1-.19-0.79,1.69,1.69,0,0,1,.21-0.82l9.67-16.75L87.54,59.62A1.7,1.7,0,0,1,89,58.75h18A1.79,1.79,0,0,1,107.91,59Z"/><path class="cls-24" d="M107.91,197.16a1.79,1.79,0,0,1-.86.23H89a1.7,1.7,0,0,1-1.49-.87L60.69,150,58,145.4l10-17.33Z"/><path class="cls-26" d="M188.1,128.06l-39.9,69.1a1.87,1.87,0,0,1-.59-0.58l0-.05-9-15.67a1.74,1.74,0,0,1,0-1.61l29-50.32a1.69,1.69,0,0,0,.24-0.87H188.1Z"/><path class="cls-24" d="M207.84,128.06a1.69,1.69,0,0,1-.24.87l-39.06,67.65a1.71,1.71,0,0,1-1.45.8h-18a1.86,1.86,0,0,1-.87-0.23l39.9-69.1,10-17.31,9.49,16.45A1.68,1.68,0,0,1,207.84,128.06Z"/><path class="cls-24" d="M188.1,128.06H167.82a1.68,1.68,0,0,0-.24-0.86l-29-50.27a1.7,1.7,0,0,1,0-1.73l9-15.65A1.87,1.87,0,0,1,148.2,59Z"/><path class="cls-25" d="M198.1,110.73v0l-10,17.31L148.2,59a1.86,1.86,0,0,1,.87-0.23h18a1.71,1.71,0,0,1,1.45.8Z"/></g></svg>
\ No newline at end of file
misc/logo/keycloak_icon_32px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_icon_32px.svg b/misc/logo/keycloak_icon_32px.svg
index 9371cb5..171aa59 100644
--- a/misc/logo/keycloak_icon_32px.svg
+++ b/misc/logo/keycloak_icon_32px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="-0.01" width="32" height="32"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M27.39,9.5a0.24,0.24,0,0,1-.21-0.12L23.57,3.12A0.24,0.24,0,0,0,23.36,3H8.63a0.24,0.24,0,0,0-.21.12L4.68,9.62h0L1.06,15.88a0.24,0.24,0,0,0,0,.24l3.61,6.26,3.75,6.5a0.24,0.24,0,0,0,.21.12H23.36a0.24,0.24,0,0,0,.21-0.12l3.61-6.26a0.24,0.24,0,0,1,.21-0.12h4.5a0.27,0.27,0,0,0,.27-0.27V9.77a0.27,0.27,0,0,0-.27-0.27h-4.5Z"/><path class="cls-1" d="M31.89,9.5h-27a0.24,0.24,0,0,0-.21.12h0l-0.13.23L2.89,12.72,1.06,15.88a0.24,0.24,0,0,0,0,.24l0.4,0.69,3.22,5.57a0.24,0.24,0,0,0,.21.12h27a0.27,0.27,0,0,0,.27-0.27V9.77A0.27,0.27,0,0,0,31.89,9.5Z"/><path class="cls-4" d="M5.49,15.34l-4,1.46-0.4-.69a0.24,0.24,0,0,1,0-.24l1.83-3.16Z"/><polygon class="cls-5" points="29.5 16.51 32.16 16.13 32.16 19.22 29.5 16.51"/><path class="cls-6" d="M29.5,16.51l2.66,2.7v3a0.27,0.27,0,0,1-.27.27H28.8Z"/><polygon class="cls-7" points="29.5 16.51 28.8 22.5 25.08 22.5 23.95 19.78 29.5 16.51"/><polygon class="cls-8" points="29.5 16.51 32.16 13.27 32.16 16.13 29.5 16.51"/><path class="cls-9" d="M32.16,9.77v3.5L29.5,16.51l-2-7h4.4A0.27,0.27,0,0,1,32.16,9.77Z"/><polygon class="cls-10" points="25.08 22.5 23.11 22.5 22.61 21.77 23.95 19.78 25.08 22.5"/><polygon class="cls-11" points="29.5 16.51 22.14 13.4 26.01 9.5 27.49 9.5 29.5 16.51"/><path class="cls-12" d="M22.14,13.4l1.81,6.38,5.55-3.27Z"/><polygon class="cls-13" points="23.11 22.5 22.58 22.5 22.61 21.77 23.11 22.5"/><polygon class="cls-14" points="26.01 9.5 22.14 13.4 21.44 9.91 22.93 9.5 26.01 9.5"/><path class="cls-15" d="M22.14,13.4L13.2,15.46l9.4,6.31Z"/><path class="cls-12" d="M22.14,13.4l0.47,8.37,1.34-2Z"/><path class="cls-14" d="M21.44,9.91L13.2,15.46l8.93-2.06Z"/><polygon class="cls-16" points="13.2 15.46 9.33 22.5 7.12 22.5 5.49 15.34 13.2 15.46"/><path class="cls-17" d="M9.23,9.5L5.49,15.34l-1-5.49,0.13-.23h0A0.24,0.24,0,0,1,4.88,9.5H9.23Z"/><path class="cls-16" d="M7.12,22.5H4.88a0.24,0.24,0,0,1-.21-0.12L1.46,16.81l4-1.46Z"/><polygon class="cls-18" points="5.49 15.34 2.89 12.71 4.54 9.85 5.49 15.34"/><polygon class="cls-19" points="17.29 9.5 14.71 9.5 10.76 9.5 13.2 15.46 21.44 9.91 18.96 9.5 17.29 9.5"/><polygon class="cls-19" points="9.74 9.5 9.23 9.5 5.49 15.34 13.2 15.46 10.76 9.5 9.74 9.5"/><polygon class="cls-20" points="20.81 22.5 22.25 22.5 22.58 22.5 22.61 21.77 20.81 22.5"/><polygon class="cls-12" points="22.61 21.77 13.2 15.46 14.9 22.5 17.29 22.5 20.81 22.5 22.61 21.77"/><polygon class="cls-21" points="9.33 22.5 9.74 22.5 14.71 22.5 14.9 22.5 13.2 15.46 9.33 22.5"/><polygon class="cls-22" points="21.46 9.5 21.44 9.91 22.93 9.5 22.25 9.5 21.46 9.5"/><polygon class="cls-23" points="18.96 9.5 21.44 9.91 21.21 9.5 18.96 9.5"/><polygon class="cls-17" points="21.21 9.5 21.44 9.91 21.46 9.5 21.21 9.5"/><path class="cls-24" d="M14.68,9.61L11.05,15.9a0.21,0.21,0,0,0,0,.1H8.49l5-8.64a0.2,0.2,0,0,1,.07.07h0l1.13,2A0.22,0.22,0,0,1,14.68,9.61Z"/><path class="cls-25" d="M14.68,22.62l-1.13,2a0.22,0.22,0,0,1-.08.07L8.49,16H11a0.19,0.19,0,0,0,0,.1h0l3.63,6.29A0.21,0.21,0,0,1,14.68,22.62Z"/><path class="cls-26" d="M13.47,7.37L8.49,16h0L7.24,18.17,6,16.1A0.19,0.19,0,0,1,6,16a0.21,0.21,0,0,1,0-.1l1.21-2.09,3.67-6.36a0.21,0.21,0,0,1,.19-0.11h2.25Z"/><path class="cls-24" d="M13.47,24.64l-0.11,0H11.11a0.21,0.21,0,0,1-.19-0.11L7.57,18.75l-0.33-.58L8.49,16Z"/><path class="cls-26" d="M23.5,16l-5,8.64a0.23,0.23,0,0,1-.07-0.07h0l-1.13-2a0.22,0.22,0,0,1,0-.2l3.63-6.29A0.21,0.21,0,0,0,21,16H23.5Z"/><path class="cls-24" d="M26,16a0.21,0.21,0,0,1,0,.11l-4.88,8.46a0.21,0.21,0,0,1-.18.1H18.62a0.23,0.23,0,0,1-.11,0l5-8.64,1.25-2.16,1.19,2.06A0.21,0.21,0,0,1,26,16Z"/><path class="cls-24" d="M23.5,16H21a0.21,0.21,0,0,0,0-.11L17.31,9.61a0.21,0.21,0,0,1,0-.22l1.13-2a0.23,0.23,0,0,1,.07-0.07Z"/><path class="cls-25" d="M24.75,13.84h0L23.5,16l-5-8.64a0.23,0.23,0,0,1,.11,0h2.25a0.21,0.21,0,0,1,.18.1Z"/></g></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="-0.01" width="32" height="32"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M27.39,9.5a0.24,0.24,0,0,1-.21-0.12L23.57,3.12A0.24,0.24,0,0,0,23.36,3H8.63a0.24,0.24,0,0,0-.21.12L4.68,9.62h0L1.06,15.88a0.24,0.24,0,0,0,0,.24l3.61,6.26,3.75,6.5a0.24,0.24,0,0,0,.21.12H23.36a0.24,0.24,0,0,0,.21-0.12l3.61-6.26a0.24,0.24,0,0,1,.21-0.12h4.5a0.27,0.27,0,0,0,.27-0.27V9.77a0.27,0.27,0,0,0-.27-0.27h-4.5Z"/><path class="cls-1" d="M31.89,9.5h-27a0.24,0.24,0,0,0-.21.12h0l-0.13.23L2.89,12.72,1.06,15.88a0.24,0.24,0,0,0,0,.24l0.4,0.69,3.22,5.57a0.24,0.24,0,0,0,.21.12h27a0.27,0.27,0,0,0,.27-0.27V9.77A0.27,0.27,0,0,0,31.89,9.5Z"/><path class="cls-4" d="M5.49,15.34l-4,1.46-0.4-.69a0.24,0.24,0,0,1,0-.24l1.83-3.16Z"/><polygon class="cls-5" points="29.5 16.51 32.16 16.13 32.16 19.22 29.5 16.51"/><path class="cls-6" d="M29.5,16.51l2.66,2.7v3a0.27,0.27,0,0,1-.27.27H28.8Z"/><polygon class="cls-7" points="29.5 16.51 28.8 22.5 25.08 22.5 23.95 19.78 29.5 16.51"/><polygon class="cls-8" points="29.5 16.51 32.16 13.27 32.16 16.13 29.5 16.51"/><path class="cls-9" d="M32.16,9.77v3.5L29.5,16.51l-2-7h4.4A0.27,0.27,0,0,1,32.16,9.77Z"/><polygon class="cls-10" points="25.08 22.5 23.11 22.5 22.61 21.77 23.95 19.78 25.08 22.5"/><polygon class="cls-11" points="29.5 16.51 22.14 13.4 26.01 9.5 27.49 9.5 29.5 16.51"/><path class="cls-12" d="M22.14,13.4l1.81,6.38,5.55-3.27Z"/><polygon class="cls-13" points="23.11 22.5 22.58 22.5 22.61 21.77 23.11 22.5"/><polygon class="cls-14" points="26.01 9.5 22.14 13.4 21.44 9.91 22.93 9.5 26.01 9.5"/><path class="cls-15" d="M22.14,13.4L13.2,15.46l9.4,6.31Z"/><path class="cls-12" d="M22.14,13.4l0.47,8.37,1.34-2Z"/><path class="cls-14" d="M21.44,9.91L13.2,15.46l8.93-2.06Z"/><polygon class="cls-16" points="13.2 15.46 9.33 22.5 7.12 22.5 5.49 15.34 13.2 15.46"/><path class="cls-17" d="M9.23,9.5L5.49,15.34l-1-5.49,0.13-.23h0A0.24,0.24,0,0,1,4.88,9.5H9.23Z"/><path class="cls-16" d="M7.12,22.5H4.88a0.24,0.24,0,0,1-.21-0.12L1.46,16.81l4-1.46Z"/><polygon class="cls-18" points="5.49 15.34 2.89 12.71 4.54 9.85 5.49 15.34"/><polygon class="cls-19" points="17.29 9.5 14.71 9.5 10.76 9.5 13.2 15.46 21.44 9.91 18.96 9.5 17.29 9.5"/><polygon class="cls-19" points="9.74 9.5 9.23 9.5 5.49 15.34 13.2 15.46 10.76 9.5 9.74 9.5"/><polygon class="cls-20" points="20.81 22.5 22.25 22.5 22.58 22.5 22.61 21.77 20.81 22.5"/><polygon class="cls-12" points="22.61 21.77 13.2 15.46 14.9 22.5 17.29 22.5 20.81 22.5 22.61 21.77"/><polygon class="cls-21" points="9.33 22.5 9.74 22.5 14.71 22.5 14.9 22.5 13.2 15.46 9.33 22.5"/><polygon class="cls-22" points="21.46 9.5 21.44 9.91 22.93 9.5 22.25 9.5 21.46 9.5"/><polygon class="cls-23" points="18.96 9.5 21.44 9.91 21.21 9.5 18.96 9.5"/><polygon class="cls-17" points="21.21 9.5 21.44 9.91 21.46 9.5 21.21 9.5"/><path class="cls-24" d="M14.68,9.61L11.05,15.9a0.21,0.21,0,0,0,0,.1H8.49l5-8.64a0.2,0.2,0,0,1,.07.07h0l1.13,2A0.22,0.22,0,0,1,14.68,9.61Z"/><path class="cls-25" d="M14.68,22.62l-1.13,2a0.22,0.22,0,0,1-.08.07L8.49,16H11a0.19,0.19,0,0,0,0,.1h0l3.63,6.29A0.21,0.21,0,0,1,14.68,22.62Z"/><path class="cls-26" d="M13.47,7.37L8.49,16h0L7.24,18.17,6,16.1A0.19,0.19,0,0,1,6,16a0.21,0.21,0,0,1,0-.1l1.21-2.09,3.67-6.36a0.21,0.21,0,0,1,.19-0.11h2.25Z"/><path class="cls-24" d="M13.47,24.64l-0.11,0H11.11a0.21,0.21,0,0,1-.19-0.11L7.57,18.75l-0.33-.58L8.49,16Z"/><path class="cls-26" d="M23.5,16l-5,8.64a0.23,0.23,0,0,1-.07-0.07h0l-1.13-2a0.22,0.22,0,0,1,0-.2l3.63-6.29A0.21,0.21,0,0,0,21,16H23.5Z"/><path class="cls-24" d="M26,16a0.21,0.21,0,0,1,0,.11l-4.88,8.46a0.21,0.21,0,0,1-.18.1H18.62a0.23,0.23,0,0,1-.11,0l5-8.64,1.25-2.16,1.19,2.06A0.21,0.21,0,0,1,26,16Z"/><path class="cls-24" d="M23.5,16H21a0.21,0.21,0,0,0,0-.11L17.31,9.61a0.21,0.21,0,0,1,0-.22l1.13-2a0.23,0.23,0,0,1,.07-0.07Z"/><path class="cls-25" d="M24.75,13.84h0L23.5,16l-5-8.64a0.23,0.23,0,0,1,.11,0h2.25a0.21,0.21,0,0,1,.18.1Z"/></g></svg>
\ No newline at end of file
misc/logo/keycloak_icon_48px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_icon_48px.svg b/misc/logo/keycloak_icon_48px.svg
index b1d3c03..c0d485a 100644
--- a/misc/logo/keycloak_icon_48px.svg
+++ b/misc/logo/keycloak_icon_48px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" width="48" height="48"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M41.11,14.25a0.36,0.36,0,0,1-.31-0.18L35.38,4.68a0.37,0.37,0,0,0-.32-0.18H13a0.36,0.36,0,0,0-.31.18L7,14.43H7L1.61,23.82a0.36,0.36,0,0,0,0,.36L7,33.57l5.63,9.75a0.36,0.36,0,0,0,.31.18h22.1a0.37,0.37,0,0,0,.32-0.18l5.42-9.39a0.36,0.36,0,0,1,.31-0.18h6.74a0.41,0.41,0,0,0,.41-0.41V14.66a0.41,0.41,0,0,0-.41-0.41H41.11Z"/><path class="cls-1" d="M47.86,14.25H7.34a0.37,0.37,0,0,0-.31.17H7l-0.2.35-2.48,4.3L1.61,23.82a0.36,0.36,0,0,0,0,.36l0.6,1L7,33.57a0.36,0.36,0,0,0,.31.18H47.86a0.4,0.4,0,0,0,.4-0.4V14.66A0.4,0.4,0,0,0,47.86,14.25Z"/><path class="cls-4" d="M8.26,23l-6.05,2.2-0.6-1a0.36,0.36,0,0,1,0-.36l2.74-4.75Z"/><polygon class="cls-5" points="44.27 24.77 48.26 24.2 48.26 28.83 44.27 24.77"/><path class="cls-6" d="M44.27,24.77l4,4.06v4.52a0.4,0.4,0,0,1-.4.4H43.22Z"/><polygon class="cls-7" points="44.27 24.77 43.22 33.75 37.64 33.75 35.95 29.68 44.27 24.77"/><polygon class="cls-8" points="44.27 24.77 48.26 19.91 48.26 24.2 44.27 24.77"/><path class="cls-9" d="M48.26,14.66v5.26l-4,4.86-3-10.52h6.59A0.4,0.4,0,0,1,48.26,14.66Z"/><polygon class="cls-10" points="37.64 33.75 34.69 33.75 33.93 32.65 35.95 29.68 37.64 33.75"/><polygon class="cls-11" points="44.27 24.77 33.23 20.1 39.03 14.25 41.26 14.25 44.27 24.77"/><path class="cls-12" d="M33.23,20.1l2.72,9.57,8.32-4.9Z"/><polygon class="cls-13" points="34.69 33.75 33.89 33.75 33.93 32.65 34.69 33.75"/><polygon class="cls-14" points="39.03 14.25 33.23 20.1 32.18 14.87 34.42 14.25 39.03 14.25"/><path class="cls-15" d="M33.23,20.1l-13.4,3.09,14.1,9.46Z"/><path class="cls-12" d="M33.23,20.1l0.7,12.55,2-3Z"/><path class="cls-14" d="M32.18,14.87L19.82,23.19l13.4-3.09Z"/><polygon class="cls-16" points="19.82 23.19 14.02 33.75 10.71 33.75 8.26 23.02 19.82 23.19"/><path class="cls-17" d="M13.87,14.25L8.26,23,6.83,14.78,7,14.43H7a0.37,0.37,0,0,1,.31-0.17h6.53Z"/><path class="cls-16" d="M10.71,33.75H7.34A0.36,0.36,0,0,1,7,33.57L2.21,25.21,8.26,23Z"/><polygon class="cls-18" points="8.26 23.02 4.35 19.07 6.83 14.78 8.26 23.02"/><polygon class="cls-19" points="25.95 14.25 22.08 14.25 16.16 14.25 19.82 23.19 32.18 14.87 28.45 14.25 25.95 14.25"/><polygon class="cls-19" points="14.63 14.25 13.87 14.25 8.26 23.02 19.82 23.19 16.16 14.25 14.63 14.25"/><polygon class="cls-20" points="31.24 33.75 33.4 33.75 33.89 33.75 33.93 32.65 31.24 33.75"/><polygon class="cls-12" points="33.93 32.65 19.82 23.19 22.37 33.75 25.95 33.75 31.24 33.75 33.93 32.65"/><polygon class="cls-21" points="14.02 33.75 14.63 33.75 22.08 33.75 22.37 33.75 19.82 23.19 14.02 33.75"/><polygon class="cls-22" points="32.22 14.25 32.18 14.87 34.42 14.25 33.4 14.25 32.22 14.25"/><polygon class="cls-23" points="28.45 14.25 32.18 14.87 31.84 14.25 28.45 14.25"/><polygon class="cls-17" points="31.84 14.25 32.18 14.87 32.22 14.25 31.84 14.25"/><path class="cls-24" d="M22,14.42L16.6,23.86a0.32,0.32,0,0,0,0,.15h-3.8l7.48-13a0.29,0.29,0,0,1,.11.11h0L22,14.12A0.33,0.33,0,0,1,22,14.42Z"/><path class="cls-25" d="M22,33.93l-1.69,2.93a0.33,0.33,0,0,1-.11.11L12.75,24h3.8a0.29,0.29,0,0,0,0,.15v0L22,33.6A0.32,0.32,0,0,1,22,33.93Z"/><path class="cls-26" d="M20.23,11.06L12.76,24h0l-1.88,3.25-1.79-3.1a0.29,0.29,0,0,1,0-.15,0.32,0.32,0,0,1,0-.15l1.81-3.14,5.51-9.54A0.32,0.32,0,0,1,16.69,11h3.38A0.34,0.34,0,0,1,20.23,11.06Z"/><path class="cls-24" d="M20.23,37a0.34,0.34,0,0,1-.16,0H16.69a0.32,0.32,0,0,1-.28-0.16l-5-8.72-0.5-.87L12.75,24Z"/><path class="cls-26" d="M35.27,24L27.79,37a0.35,0.35,0,0,1-.11-0.11h0L26,33.91a0.33,0.33,0,0,1,0-.3l5.44-9.44a0.32,0.32,0,0,0,0-.16h3.8Z"/><path class="cls-24" d="M39,24a0.32,0.32,0,0,1,0,.16L31.6,36.86a0.32,0.32,0,0,1-.27.15H28a0.35,0.35,0,0,1-.16,0l7.48-13,1.88-3.25,1.78,3.09A0.31,0.31,0,0,1,39,24Z"/><path class="cls-24" d="M35.27,24h-3.8a0.31,0.31,0,0,0,0-.16L26,14.42a0.32,0.32,0,0,1,0-.32l1.7-2.93a0.35,0.35,0,0,1,.11-0.11Z"/><path class="cls-25" d="M37.14,20.76h0L35.27,24l-7.48-13A0.35,0.35,0,0,1,28,11h3.38a0.32,0.32,0,0,1,.27.15Z"/></g></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" width="48" height="48"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M41.11,14.25a0.36,0.36,0,0,1-.31-0.18L35.38,4.68a0.37,0.37,0,0,0-.32-0.18H13a0.36,0.36,0,0,0-.31.18L7,14.43H7L1.61,23.82a0.36,0.36,0,0,0,0,.36L7,33.57l5.63,9.75a0.36,0.36,0,0,0,.31.18h22.1a0.37,0.37,0,0,0,.32-0.18l5.42-9.39a0.36,0.36,0,0,1,.31-0.18h6.74a0.41,0.41,0,0,0,.41-0.41V14.66a0.41,0.41,0,0,0-.41-0.41H41.11Z"/><path class="cls-1" d="M47.86,14.25H7.34a0.37,0.37,0,0,0-.31.17H7l-0.2.35-2.48,4.3L1.61,23.82a0.36,0.36,0,0,0,0,.36l0.6,1L7,33.57a0.36,0.36,0,0,0,.31.18H47.86a0.4,0.4,0,0,0,.4-0.4V14.66A0.4,0.4,0,0,0,47.86,14.25Z"/><path class="cls-4" d="M8.26,23l-6.05,2.2-0.6-1a0.36,0.36,0,0,1,0-.36l2.74-4.75Z"/><polygon class="cls-5" points="44.27 24.77 48.26 24.2 48.26 28.83 44.27 24.77"/><path class="cls-6" d="M44.27,24.77l4,4.06v4.52a0.4,0.4,0,0,1-.4.4H43.22Z"/><polygon class="cls-7" points="44.27 24.77 43.22 33.75 37.64 33.75 35.95 29.68 44.27 24.77"/><polygon class="cls-8" points="44.27 24.77 48.26 19.91 48.26 24.2 44.27 24.77"/><path class="cls-9" d="M48.26,14.66v5.26l-4,4.86-3-10.52h6.59A0.4,0.4,0,0,1,48.26,14.66Z"/><polygon class="cls-10" points="37.64 33.75 34.69 33.75 33.93 32.65 35.95 29.68 37.64 33.75"/><polygon class="cls-11" points="44.27 24.77 33.23 20.1 39.03 14.25 41.26 14.25 44.27 24.77"/><path class="cls-12" d="M33.23,20.1l2.72,9.57,8.32-4.9Z"/><polygon class="cls-13" points="34.69 33.75 33.89 33.75 33.93 32.65 34.69 33.75"/><polygon class="cls-14" points="39.03 14.25 33.23 20.1 32.18 14.87 34.42 14.25 39.03 14.25"/><path class="cls-15" d="M33.23,20.1l-13.4,3.09,14.1,9.46Z"/><path class="cls-12" d="M33.23,20.1l0.7,12.55,2-3Z"/><path class="cls-14" d="M32.18,14.87L19.82,23.19l13.4-3.09Z"/><polygon class="cls-16" points="19.82 23.19 14.02 33.75 10.71 33.75 8.26 23.02 19.82 23.19"/><path class="cls-17" d="M13.87,14.25L8.26,23,6.83,14.78,7,14.43H7a0.37,0.37,0,0,1,.31-0.17h6.53Z"/><path class="cls-16" d="M10.71,33.75H7.34A0.36,0.36,0,0,1,7,33.57L2.21,25.21,8.26,23Z"/><polygon class="cls-18" points="8.26 23.02 4.35 19.07 6.83 14.78 8.26 23.02"/><polygon class="cls-19" points="25.95 14.25 22.08 14.25 16.16 14.25 19.82 23.19 32.18 14.87 28.45 14.25 25.95 14.25"/><polygon class="cls-19" points="14.63 14.25 13.87 14.25 8.26 23.02 19.82 23.19 16.16 14.25 14.63 14.25"/><polygon class="cls-20" points="31.24 33.75 33.4 33.75 33.89 33.75 33.93 32.65 31.24 33.75"/><polygon class="cls-12" points="33.93 32.65 19.82 23.19 22.37 33.75 25.95 33.75 31.24 33.75 33.93 32.65"/><polygon class="cls-21" points="14.02 33.75 14.63 33.75 22.08 33.75 22.37 33.75 19.82 23.19 14.02 33.75"/><polygon class="cls-22" points="32.22 14.25 32.18 14.87 34.42 14.25 33.4 14.25 32.22 14.25"/><polygon class="cls-23" points="28.45 14.25 32.18 14.87 31.84 14.25 28.45 14.25"/><polygon class="cls-17" points="31.84 14.25 32.18 14.87 32.22 14.25 31.84 14.25"/><path class="cls-24" d="M22,14.42L16.6,23.86a0.32,0.32,0,0,0,0,.15h-3.8l7.48-13a0.29,0.29,0,0,1,.11.11h0L22,14.12A0.33,0.33,0,0,1,22,14.42Z"/><path class="cls-25" d="M22,33.93l-1.69,2.93a0.33,0.33,0,0,1-.11.11L12.75,24h3.8a0.29,0.29,0,0,0,0,.15v0L22,33.6A0.32,0.32,0,0,1,22,33.93Z"/><path class="cls-26" d="M20.23,11.06L12.76,24h0l-1.88,3.25-1.79-3.1a0.29,0.29,0,0,1,0-.15,0.32,0.32,0,0,1,0-.15l1.81-3.14,5.51-9.54A0.32,0.32,0,0,1,16.69,11h3.38A0.34,0.34,0,0,1,20.23,11.06Z"/><path class="cls-24" d="M20.23,37a0.34,0.34,0,0,1-.16,0H16.69a0.32,0.32,0,0,1-.28-0.16l-5-8.72-0.5-.87L12.75,24Z"/><path class="cls-26" d="M35.27,24L27.79,37a0.35,0.35,0,0,1-.11-0.11h0L26,33.91a0.33,0.33,0,0,1,0-.3l5.44-9.44a0.32,0.32,0,0,0,0-.16h3.8Z"/><path class="cls-24" d="M39,24a0.32,0.32,0,0,1,0,.16L31.6,36.86a0.32,0.32,0,0,1-.27.15H28a0.35,0.35,0,0,1-.16,0l7.48-13,1.88-3.25,1.78,3.09A0.31,0.31,0,0,1,39,24Z"/><path class="cls-24" d="M35.27,24h-3.8a0.31,0.31,0,0,0,0-.16L26,14.42a0.32,0.32,0,0,1,0-.32l1.7-2.93a0.35,0.35,0,0,1,.11-0.11Z"/><path class="cls-25" d="M37.14,20.76h0L35.27,24l-7.48-13A0.35,0.35,0,0,1,28,11h3.38a0.32,0.32,0,0,1,.27.15Z"/></g></svg>
\ No newline at end of file
misc/logo/keycloak_icon_512px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_icon_512px.svg b/misc/logo/keycloak_icon_512px.svg
index cb8d570..feaa105 100644
--- a/misc/logo/keycloak_icon_512px.svg
+++ b/misc/logo/keycloak_icon_512px.svg
@@ -1 +1 @@
-<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#b17c81;stroke:#b17c81;}.cls-10,.cls-11,.cls-12,.cls-13,.cls-3,.cls-4,.cls-5,.cls-6,.cls-7,.cls-8,.cls-9{stroke-width:1.51px;}.cls-4{fill:#a2747c;stroke:#a2747c;}.cls-5{fill:#996976;stroke:#996976;}.cls-6{fill:#aa787e;stroke:#aa787e;}.cls-7{fill:#b2777e;stroke:#b2777e;}.cls-8{fill:#b27a7f;stroke:#b27a7f;}.cls-9{fill:#c78485;stroke:#c78485;}.cls-10{fill:#c08184;stroke:#c08184;}.cls-11{fill:#c48485;stroke:#c48485;}.cls-12{fill:#d58b88;stroke:#d58b88;}.cls-13{fill:#e09790;stroke:#e09790;}.cls-14{clip-path:url(#clip-path-2);}.cls-15{fill:#4d4d4d;}.cls-16{fill:#e1e1e1;}.cls-17{fill:#c8c8c8;}.cls-18{fill:#c2c2c2;}.cls-19{fill:#c7c7c7;}.cls-20{fill:#cecece;}.cls-21{fill:#d3d3d3;}.cls-22{fill:#c6c6c6;}.cls-23{fill:#d5d5d5;}.cls-24{fill:#d0d0d0;}.cls-25{fill:#bfbfbf;}.cls-26{fill:#d9d9d9;}.cls-27{fill:#d4d4d4;}.cls-28{fill:#d8d8d8;}.cls-29{fill:#e2e2e2;}.cls-30{fill:#e4e4e4;}.cls-31{fill:#dedede;}.cls-32{fill:#c5c5c5;}.cls-33{fill:#d1d1d1;}.cls-34{fill:#ddd;}.cls-35{fill:#e3e3e3;}.cls-36{fill:#00b8e3;}.cls-37{fill:#33c6e9;}.cls-38{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="-1018.62" y="565.7" width="1881.24" height="1175.78"/></clipPath><clipPath id="clip-path-2"><rect class="cls-1" width="512" height="512"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M-42.82,358l245,24.8,199.4,2Z"/><path class="cls-4" d="M-42.82,358l444.44,26.79,227.18-2Z"/><path class="cls-5" d="M401.62,384.74L565.31,523.63,628.8,382.76Z"/><path class="cls-6" d="M202.22,382.76l54.56,14.88,144.84-12.9Z"/><path class="cls-7" d="M401.62,384.74L356,537.52l209.32-13.89Z"/><path class="cls-8" d="M256.78,397.64L356,537.52l45.63-152.78Z"/><path class="cls-9" d="M256.78,397.64L164.52,533.55l191.47,4Z"/><path class="cls-10" d="M202.22,382.76l-37.7,150.79,92.26-135.91Z"/><path class="cls-11" d="M-42.82,358L164.52,533.55l37.7-150.79Z"/><path class="cls-12" d="M-42.82,358l-51.59,137.9,258.93,37.7Z"/><path class="cls-13" d="M-94.41,495.85L-33.89,598l198.41-64.48Z"/></g><g class="cls-14"><path class="cls-15" d="M438.48,152a3.79,3.79,0,0,1-3.32-1.89L377.39,49.94A3.91,3.91,0,0,0,374,48.05H138.33A3.79,3.79,0,0,0,135,49.94L75,153.89a0,0,0,0,0,0,0L17.17,254.09a3.88,3.88,0,0,0,0,3.82L75,358l60,104a3.79,3.79,0,0,0,3.32,1.89H374a3.91,3.91,0,0,0,3.36-1.89L435.2,361.9a3.79,3.79,0,0,1,3.32-1.89h71.93a4.32,4.32,0,0,0,4.32-4.32V156.32a4.32,4.32,0,0,0-4.32-4.32h-72Z"/><path class="cls-1" d="M510.46,152H78.34A3.91,3.91,0,0,0,75,153.89s0,0.07,0,.07l-2.14,3.69L46.41,203.48,17.18,254.11a3.8,3.8,0,0,0,0,3.83l6.35,11L75,358.06A3.84,3.84,0,0,0,78.34,360H510.52a4.27,4.27,0,0,0,4.24-4.28V156.34A4.32,4.32,0,0,0,510.46,152Z"/><path class="cls-16" d="M88.1,245.5L23.53,268.94l-6.35-11a3.8,3.8,0,0,1,0-3.83l29.23-50.63Z"/><polygon class="cls-17" points="472.21 264.21 514.77 258.13 514.77 307.49 472.21 264.21"/><path class="cls-18" d="M472.21,264.21l42.55,43.28V355.7a4.27,4.27,0,0,1-4.24,4.28H461Z"/><polygon class="cls-19" points="472.21 264.21 461 359.98 401.46 359.98 383.42 316.53 472.21 264.21"/><polygon class="cls-20" points="472.21 264.21 514.77 212.41 514.77 258.13 472.21 264.21"/><path class="cls-21" d="M514.77,156.33v56.08l-42.55,51.8L440.12,152h70.33A4.32,4.32,0,0,1,514.77,156.33Z"/><polygon class="cls-22" points="401.46 359.98 370.06 359.98 361.92 348.31 383.42 316.53 401.46 359.98"/><polygon class="cls-23" points="472.21 264.21 354.42 214.42 416.37 152.01 440.12 152.01 472.21 264.21"/><path class="cls-24" d="M354.42,214.42l29,102.11,88.8-52.32Z"/><polygon class="cls-25" points="370.06 359.98 361.54 359.98 361.92 348.31 370.06 359.98"/><polygon class="cls-26" points="416.37 152.01 354.42 214.42 343.24 158.6 367.16 152.01 416.37 152.01"/><path class="cls-27" d="M354.42,214.42l-143,33L361.92,348.31Z"/><path class="cls-24" d="M354.42,214.42l7.49,133.9,21.5-31.78Z"/><path class="cls-26" d="M343.24,158.6L211.47,247.39l143-33Z"/><polygon class="cls-28" points="211.47 247.39 149.5 359.98 114.19 359.98 88.1 245.5 211.47 247.39"/><path class="cls-29" d="M147.94,152L88.1,245.5,72.85,157.64,75,153.94s0-.07,0-0.07A3.91,3.91,0,0,1,78.33,152h69.61Z"/><path class="cls-28" d="M114.19,360H78.33A3.84,3.84,0,0,1,75,358L23.53,268.94,88.1,245.5Z"/><polygon class="cls-30" points="88.1 245.5 46.41 203.47 72.85 157.64 88.1 245.5"/><polygon class="cls-31" points="276.77 152.01 235.53 152.01 172.39 152.01 211.47 247.39 343.24 158.6 303.52 152.01 276.77 152.01"/><polygon class="cls-31" points="156.09 152.01 147.94 152.01 88.1 245.5 211.47 247.39 172.39 152.01 156.09 152.01"/><polygon class="cls-32" points="333.23 359.98 356.22 359.98 361.54 359.98 361.92 348.31 333.23 359.98"/><polygon class="cls-24" points="361.92 348.31 211.47 247.39 238.57 359.98 276.77 359.98 333.23 359.98 361.92 348.31"/><polygon class="cls-33" points="149.5 359.98 156.09 359.98 235.53 359.98 238.57 359.98 211.47 247.39 149.5 359.98"/><polygon class="cls-34" points="343.65 152.01 343.24 158.6 367.16 152.01 356.22 152.01 343.65 152.01"/><polygon class="cls-35" points="303.52 152.01 343.24 158.6 339.58 152.01 303.52 152.01"/><polygon class="cls-29" points="339.58 152.01 343.24 158.6 343.65 152.01 339.58 152.01"/><path class="cls-36" d="M235.15,153.81L177,254.46a3.38,3.38,0,0,0-.42,1.64H136.07l79.74-138.18a3.14,3.14,0,0,1,1.19,1.15l0.11,0.11,18.08,31.41A3.49,3.49,0,0,1,235.15,153.81Z"/><path class="cls-37" d="M235.08,361.89l-18,31.27a3.51,3.51,0,0,1-1.22,1.15L136,256.14v0H176.6a3.09,3.09,0,0,0,.38,1.57,0.37,0.37,0,0,0,.07.17l58,100.58A3.41,3.41,0,0,1,235.08,361.89Z"/><path class="cls-38" d="M215.81,117.92L136.07,256.1h0v0l-20,34.66-19.1-33.12a3.09,3.09,0,0,1-.38-1.57,3.38,3.38,0,0,1,.42-1.64L116.31,221l58.75-101.74a3.4,3.4,0,0,1,3-1.75H214.1A3.58,3.58,0,0,1,215.81,117.92Z"/><path class="cls-36" d="M215.81,394.31a3.58,3.58,0,0,1-1.71.45H178a3.4,3.4,0,0,1-3-1.75l-53.72-93L116,290.79l20-34.66Z"/><path class="cls-38" d="M376.19,256.1L296.39,394.31a3.73,3.73,0,0,1-1.19-1.15l-0.07-.1L277,361.72a3.49,3.49,0,0,1,0-3.22l58.06-100.65a3.38,3.38,0,0,0,.49-1.75h40.57Z"/><path class="cls-36" d="M415.68,256.1a3.38,3.38,0,0,1-.49,1.75L337.06,393.16a3.42,3.42,0,0,1-2.9,1.61h-36a3.72,3.72,0,0,1-1.75-.45L376.19,256.1l20-34.62,19,32.91A3.35,3.35,0,0,1,415.68,256.1Z"/><path class="cls-36" d="M376.19,256.1H335.63a3.35,3.35,0,0,0-.49-1.71l-58-100.55a3.41,3.41,0,0,1,0-3.46l18.08-31.3a3.73,3.73,0,0,1,1.19-1.15Z"/><path class="cls-37" d="M396.2,221.44v0l-20,34.62L296.39,117.92a3.72,3.72,0,0,1,1.75-.45h36a3.42,3.42,0,0,1,2.9,1.61Z"/></g></svg>
\ No newline at end of file
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#b17c81;stroke:#b17c81;}.cls-10,.cls-11,.cls-12,.cls-13,.cls-3,.cls-4,.cls-5,.cls-6,.cls-7,.cls-8,.cls-9{stroke-width:1.51px;}.cls-4{fill:#a2747c;stroke:#a2747c;}.cls-5{fill:#996976;stroke:#996976;}.cls-6{fill:#aa787e;stroke:#aa787e;}.cls-7{fill:#b2777e;stroke:#b2777e;}.cls-8{fill:#b27a7f;stroke:#b27a7f;}.cls-9{fill:#c78485;stroke:#c78485;}.cls-10{fill:#c08184;stroke:#c08184;}.cls-11{fill:#c48485;stroke:#c48485;}.cls-12{fill:#d58b88;stroke:#d58b88;}.cls-13{fill:#e09790;stroke:#e09790;}.cls-14{clip-path:url(#clip-path-2);}.cls-15{fill:#4d4d4d;}.cls-16{fill:#e1e1e1;}.cls-17{fill:#c8c8c8;}.cls-18{fill:#c2c2c2;}.cls-19{fill:#c7c7c7;}.cls-20{fill:#cecece;}.cls-21{fill:#d3d3d3;}.cls-22{fill:#c6c6c6;}.cls-23{fill:#d5d5d5;}.cls-24{fill:#d0d0d0;}.cls-25{fill:#bfbfbf;}.cls-26{fill:#d9d9d9;}.cls-27{fill:#d4d4d4;}.cls-28{fill:#d8d8d8;}.cls-29{fill:#e2e2e2;}.cls-30{fill:#e4e4e4;}.cls-31{fill:#dedede;}.cls-32{fill:#c5c5c5;}.cls-33{fill:#d1d1d1;}.cls-34{fill:#ddd;}.cls-35{fill:#e3e3e3;}.cls-36{fill:#00b8e3;}.cls-37{fill:#33c6e9;}.cls-38{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="-1018.62" y="565.7" width="1881.24" height="1175.78"/></clipPath><clipPath id="clip-path-2"><rect class="cls-1" width="512" height="512"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M-42.82,358l245,24.8,199.4,2Z"/><path class="cls-4" d="M-42.82,358l444.44,26.79,227.18-2Z"/><path class="cls-5" d="M401.62,384.74L565.31,523.63,628.8,382.76Z"/><path class="cls-6" d="M202.22,382.76l54.56,14.88,144.84-12.9Z"/><path class="cls-7" d="M401.62,384.74L356,537.52l209.32-13.89Z"/><path class="cls-8" d="M256.78,397.64L356,537.52l45.63-152.78Z"/><path class="cls-9" d="M256.78,397.64L164.52,533.55l191.47,4Z"/><path class="cls-10" d="M202.22,382.76l-37.7,150.79,92.26-135.91Z"/><path class="cls-11" d="M-42.82,358L164.52,533.55l37.7-150.79Z"/><path class="cls-12" d="M-42.82,358l-51.59,137.9,258.93,37.7Z"/><path class="cls-13" d="M-94.41,495.85L-33.89,598l198.41-64.48Z"/></g><g class="cls-14"><path class="cls-15" d="M438.48,152a3.79,3.79,0,0,1-3.32-1.89L377.39,49.94A3.91,3.91,0,0,0,374,48.05H138.33A3.79,3.79,0,0,0,135,49.94L75,153.89a0,0,0,0,0,0,0L17.17,254.09a3.88,3.88,0,0,0,0,3.82L75,358l60,104a3.79,3.79,0,0,0,3.32,1.89H374a3.91,3.91,0,0,0,3.36-1.89L435.2,361.9a3.79,3.79,0,0,1,3.32-1.89h71.93a4.32,4.32,0,0,0,4.32-4.32V156.32a4.32,4.32,0,0,0-4.32-4.32h-72Z"/><path class="cls-1" d="M510.46,152H78.34A3.91,3.91,0,0,0,75,153.89s0,0.07,0,.07l-2.14,3.69L46.41,203.48,17.18,254.11a3.8,3.8,0,0,0,0,3.83l6.35,11L75,358.06A3.84,3.84,0,0,0,78.34,360H510.52a4.27,4.27,0,0,0,4.24-4.28V156.34A4.32,4.32,0,0,0,510.46,152Z"/><path class="cls-16" d="M88.1,245.5L23.53,268.94l-6.35-11a3.8,3.8,0,0,1,0-3.83l29.23-50.63Z"/><polygon class="cls-17" points="472.21 264.21 514.77 258.13 514.77 307.49 472.21 264.21"/><path class="cls-18" d="M472.21,264.21l42.55,43.28V355.7a4.27,4.27,0,0,1-4.24,4.28H461Z"/><polygon class="cls-19" points="472.21 264.21 461 359.98 401.46 359.98 383.42 316.53 472.21 264.21"/><polygon class="cls-20" points="472.21 264.21 514.77 212.41 514.77 258.13 472.21 264.21"/><path class="cls-21" d="M514.77,156.33v56.08l-42.55,51.8L440.12,152h70.33A4.32,4.32,0,0,1,514.77,156.33Z"/><polygon class="cls-22" points="401.46 359.98 370.06 359.98 361.92 348.31 383.42 316.53 401.46 359.98"/><polygon class="cls-23" points="472.21 264.21 354.42 214.42 416.37 152.01 440.12 152.01 472.21 264.21"/><path class="cls-24" d="M354.42,214.42l29,102.11,88.8-52.32Z"/><polygon class="cls-25" points="370.06 359.98 361.54 359.98 361.92 348.31 370.06 359.98"/><polygon class="cls-26" points="416.37 152.01 354.42 214.42 343.24 158.6 367.16 152.01 416.37 152.01"/><path class="cls-27" d="M354.42,214.42l-143,33L361.92,348.31Z"/><path class="cls-24" d="M354.42,214.42l7.49,133.9,21.5-31.78Z"/><path class="cls-26" d="M343.24,158.6L211.47,247.39l143-33Z"/><polygon class="cls-28" points="211.47 247.39 149.5 359.98 114.19 359.98 88.1 245.5 211.47 247.39"/><path class="cls-29" d="M147.94,152L88.1,245.5,72.85,157.64,75,153.94s0-.07,0-0.07A3.91,3.91,0,0,1,78.33,152h69.61Z"/><path class="cls-28" d="M114.19,360H78.33A3.84,3.84,0,0,1,75,358L23.53,268.94,88.1,245.5Z"/><polygon class="cls-30" points="88.1 245.5 46.41 203.47 72.85 157.64 88.1 245.5"/><polygon class="cls-31" points="276.77 152.01 235.53 152.01 172.39 152.01 211.47 247.39 343.24 158.6 303.52 152.01 276.77 152.01"/><polygon class="cls-31" points="156.09 152.01 147.94 152.01 88.1 245.5 211.47 247.39 172.39 152.01 156.09 152.01"/><polygon class="cls-32" points="333.23 359.98 356.22 359.98 361.54 359.98 361.92 348.31 333.23 359.98"/><polygon class="cls-24" points="361.92 348.31 211.47 247.39 238.57 359.98 276.77 359.98 333.23 359.98 361.92 348.31"/><polygon class="cls-33" points="149.5 359.98 156.09 359.98 235.53 359.98 238.57 359.98 211.47 247.39 149.5 359.98"/><polygon class="cls-34" points="343.65 152.01 343.24 158.6 367.16 152.01 356.22 152.01 343.65 152.01"/><polygon class="cls-35" points="303.52 152.01 343.24 158.6 339.58 152.01 303.52 152.01"/><polygon class="cls-29" points="339.58 152.01 343.24 158.6 343.65 152.01 339.58 152.01"/><path class="cls-36" d="M235.15,153.81L177,254.46a3.38,3.38,0,0,0-.42,1.64H136.07l79.74-138.18a3.14,3.14,0,0,1,1.19,1.15l0.11,0.11,18.08,31.41A3.49,3.49,0,0,1,235.15,153.81Z"/><path class="cls-37" d="M235.08,361.89l-18,31.27a3.51,3.51,0,0,1-1.22,1.15L136,256.14v0H176.6a3.09,3.09,0,0,0,.38,1.57,0.37,0.37,0,0,0,.07.17l58,100.58A3.41,3.41,0,0,1,235.08,361.89Z"/><path class="cls-38" d="M215.81,117.92L136.07,256.1h0v0l-20,34.66-19.1-33.12a3.09,3.09,0,0,1-.38-1.57,3.38,3.38,0,0,1,.42-1.64L116.31,221l58.75-101.74a3.4,3.4,0,0,1,3-1.75H214.1A3.58,3.58,0,0,1,215.81,117.92Z"/><path class="cls-36" d="M215.81,394.31a3.58,3.58,0,0,1-1.71.45H178a3.4,3.4,0,0,1-3-1.75l-53.72-93L116,290.79l20-34.66Z"/><path class="cls-38" d="M376.19,256.1L296.39,394.31a3.73,3.73,0,0,1-1.19-1.15l-0.07-.1L277,361.72a3.49,3.49,0,0,1,0-3.22l58.06-100.65a3.38,3.38,0,0,0,.49-1.75h40.57Z"/><path class="cls-36" d="M415.68,256.1a3.38,3.38,0,0,1-.49,1.75L337.06,393.16a3.42,3.42,0,0,1-2.9,1.61h-36a3.72,3.72,0,0,1-1.75-.45L376.19,256.1l20-34.62,19,32.91A3.35,3.35,0,0,1,415.68,256.1Z"/><path class="cls-36" d="M376.19,256.1H335.63a3.35,3.35,0,0,0-.49-1.71l-58-100.55a3.41,3.41,0,0,1,0-3.46l18.08-31.3a3.73,3.73,0,0,1,1.19-1.15Z"/><path class="cls-37" d="M396.2,221.44v0l-20,34.62L296.39,117.92a3.72,3.72,0,0,1,1.75-.45h36a3.42,3.42,0,0,1,2.9,1.61Z"/></g></svg>
\ No newline at end of file
misc/logo/keycloak_icon_64px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_icon_64px.svg b/misc/logo/keycloak_icon_64px.svg
index 3432039..7eef059 100644
--- a/misc/logo/keycloak_icon_64px.svg
+++ b/misc/logo/keycloak_icon_64px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="0.01" width="63.99" height="63.99"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M54.81,19a0.47,0.47,0,0,1-.41-0.24L47.18,6.24A0.49,0.49,0,0,0,46.76,6H17.3a0.47,0.47,0,0,0-.41.24l-7.5,13h0L2.15,31.76a0.48,0.48,0,0,0,0,.48L9.38,44.75l7.5,13a0.47,0.47,0,0,0,.41.24H46.76a0.49,0.49,0,0,0,.42-0.24L54.4,45.23A0.47,0.47,0,0,1,54.82,45h9a0.54,0.54,0,0,0,.54-0.54V19.54A0.54,0.54,0,0,0,63.81,19h-9Z"/><path class="cls-1" d="M63.81,19H9.8a0.49,0.49,0,0,0-.41.23h0l-0.27.46-3.3,5.73L2.16,31.76a0.48,0.48,0,0,0,0,.48l0.79,1.38L9.38,44.75A0.48,0.48,0,0,0,9.8,45h54a0.53,0.53,0,0,0,.53-0.53V19.54A0.54,0.54,0,0,0,63.81,19Z"/><path class="cls-4" d="M11,30.68L2.95,33.61,2.16,32.24a0.48,0.48,0,0,1,0-.48l3.65-6.33Z"/><polygon class="cls-5" points="59.03 33.02 64.35 32.26 64.35 38.43 59.03 33.02"/><path class="cls-6" d="M59,33l5.32,5.41v6a0.53,0.53,0,0,1-.53.53H57.63Z"/><polygon class="cls-7" points="59.03 33.02 57.63 44.99 50.19 44.99 47.93 39.56 59.03 33.02"/><polygon class="cls-8" points="59.03 33.02 64.35 26.55 64.35 32.26 59.03 33.02"/><path class="cls-9" d="M64.35,19.54v7L59,33,55,19h8.79A0.54,0.54,0,0,1,64.35,19.54Z"/><polygon class="cls-10" points="50.19 44.99 46.26 44.99 45.24 43.53 47.93 39.56 50.19 44.99"/><polygon class="cls-11" points="59.03 33.02 44.3 26.8 52.05 19 55.02 19 59.03 33.02"/><path class="cls-12" d="M44.31,26.8l3.62,12.76L59,33Z"/><polygon class="cls-13" points="46.26 44.99 45.19 44.99 45.24 43.53 46.26 44.99"/><polygon class="cls-14" points="52.05 19 44.3 26.8 42.91 19.82 45.9 19 52.05 19"/><path class="cls-15" d="M44.31,26.8L26.44,30.92l18.8,12.61Z"/><path class="cls-12" d="M44.31,26.8l0.94,16.74,2.69-4Z"/><path class="cls-14" d="M42.91,19.82L26.44,30.92,44.31,26.8Z"/><polygon class="cls-16" points="26.44 30.92 18.69 44.99 14.28 44.99 11.02 30.68 26.44 30.92"/><path class="cls-17" d="M18.5,19L11,30.68l-1.91-11,0.27-.46h0A0.49,0.49,0,0,1,9.8,19h8.7Z"/><path class="cls-16" d="M14.28,45H9.8a0.48,0.48,0,0,1-.42-0.24L2.95,33.61,11,30.68Z"/><polygon class="cls-18" points="11.02 30.68 5.81 25.43 9.11 19.7 11.02 30.68"/><polygon class="cls-19" points="34.6 19 29.45 19 21.55 19 26.44 30.92 42.91 19.82 37.94 19 34.6 19"/><polygon class="cls-19" points="19.52 19 18.5 19 11.02 30.68 26.44 30.92 21.55 19 19.52 19"/><polygon class="cls-20" points="41.66 44.99 44.53 44.99 45.19 44.99 45.24 43.53 41.66 44.99"/><polygon class="cls-12" points="45.24 43.53 26.44 30.92 29.83 44.99 34.6 44.99 41.66 44.99 45.24 43.53"/><polygon class="cls-21" points="18.69 44.99 19.52 44.99 29.45 44.99 29.83 44.99 26.44 30.92 18.69 44.99"/><polygon class="cls-22" points="42.96 19 42.91 19.82 45.9 19 44.53 19 42.96 19"/><polygon class="cls-23" points="37.94 19 42.91 19.82 42.45 19 37.94 19"/><polygon class="cls-17" points="42.45 19 42.91 19.82 42.96 19 42.45 19"/><path class="cls-24" d="M29.4,19.22L22.13,31.8a0.42,0.42,0,0,0-.05.21H17L27,14.74a0.39,0.39,0,0,1,.15.14h0l2.26,3.93A0.44,0.44,0,0,1,29.4,19.22Z"/><path class="cls-25" d="M29.39,45.23l-2.26,3.91a0.44,0.44,0,0,1-.15.14L17,32h5.07a0.39,0.39,0,0,0,0,.2v0L29.39,44.8A0.43,0.43,0,0,1,29.39,45.23Z"/><path class="cls-26" d="M27,14.74L17,32h0l-2.5,4.33-2.39-4.14a0.39,0.39,0,0,1,0-.2,0.42,0.42,0,0,1,.05-0.21l2.42-4.19L21.89,14.9a0.42,0.42,0,0,1,.37-0.22h4.51A0.45,0.45,0,0,1,27,14.74Z"/><path class="cls-24" d="M27,49.28a0.45,0.45,0,0,1-.21.06H22.26a0.42,0.42,0,0,1-.37-0.22L15.17,37.5l-0.66-1.15L17,32Z"/><path class="cls-26" d="M47,32l-10,17.27a0.47,0.47,0,0,1-.15-0.14h0l-2.26-3.92a0.44,0.44,0,0,1,0-.4l7.26-12.58A0.42,0.42,0,0,0,42,32H47Z"/><path class="cls-24" d="M52,32a0.42,0.42,0,0,1-.06.22L42.14,49.14a0.43,0.43,0,0,1-.36.2h-4.5a0.46,0.46,0,0,1-.22-0.06L47,32l2.5-4.33,2.37,4.11A0.42,0.42,0,0,1,52,32Z"/><path class="cls-24" d="M47,32H42a0.42,0.42,0,0,0-.06-0.21L34.64,19.23a0.43,0.43,0,0,1,0-.43l2.26-3.91a0.47,0.47,0,0,1,.15-0.14Z"/><path class="cls-25" d="M49.53,27.68h0L47,32l-10-17.27a0.46,0.46,0,0,1,.22-0.06h4.5a0.43,0.43,0,0,1,.36.2Z"/></g></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:#4d4d4d;}.cls-4{fill:#e1e1e1;}.cls-5{fill:#c8c8c8;}.cls-6{fill:#c2c2c2;}.cls-7{fill:#c7c7c7;}.cls-8{fill:#cecece;}.cls-9{fill:#d3d3d3;}.cls-10{fill:#c6c6c6;}.cls-11{fill:#d5d5d5;}.cls-12{fill:#d0d0d0;}.cls-13{fill:#bfbfbf;}.cls-14{fill:#d9d9d9;}.cls-15{fill:#d4d4d4;}.cls-16{fill:#d8d8d8;}.cls-17{fill:#e2e2e2;}.cls-18{fill:#e4e4e4;}.cls-19{fill:#dedede;}.cls-20{fill:#c5c5c5;}.cls-21{fill:#d1d1d1;}.cls-22{fill:#ddd;}.cls-23{fill:#e3e3e3;}.cls-24{fill:#00b8e3;}.cls-25{fill:#33c6e9;}.cls-26{fill:#008aaa;}</style><clipPath id="clip-path"><rect class="cls-1" x="0.01" width="63.99" height="63.99"/></clipPath></defs><title>keycloak_deliverables</title><g class="cls-2"><path class="cls-3" d="M54.81,19a0.47,0.47,0,0,1-.41-0.24L47.18,6.24A0.49,0.49,0,0,0,46.76,6H17.3a0.47,0.47,0,0,0-.41.24l-7.5,13h0L2.15,31.76a0.48,0.48,0,0,0,0,.48L9.38,44.75l7.5,13a0.47,0.47,0,0,0,.41.24H46.76a0.49,0.49,0,0,0,.42-0.24L54.4,45.23A0.47,0.47,0,0,1,54.82,45h9a0.54,0.54,0,0,0,.54-0.54V19.54A0.54,0.54,0,0,0,63.81,19h-9Z"/><path class="cls-1" d="M63.81,19H9.8a0.49,0.49,0,0,0-.41.23h0l-0.27.46-3.3,5.73L2.16,31.76a0.48,0.48,0,0,0,0,.48l0.79,1.38L9.38,44.75A0.48,0.48,0,0,0,9.8,45h54a0.53,0.53,0,0,0,.53-0.53V19.54A0.54,0.54,0,0,0,63.81,19Z"/><path class="cls-4" d="M11,30.68L2.95,33.61,2.16,32.24a0.48,0.48,0,0,1,0-.48l3.65-6.33Z"/><polygon class="cls-5" points="59.03 33.02 64.35 32.26 64.35 38.43 59.03 33.02"/><path class="cls-6" d="M59,33l5.32,5.41v6a0.53,0.53,0,0,1-.53.53H57.63Z"/><polygon class="cls-7" points="59.03 33.02 57.63 44.99 50.19 44.99 47.93 39.56 59.03 33.02"/><polygon class="cls-8" points="59.03 33.02 64.35 26.55 64.35 32.26 59.03 33.02"/><path class="cls-9" d="M64.35,19.54v7L59,33,55,19h8.79A0.54,0.54,0,0,1,64.35,19.54Z"/><polygon class="cls-10" points="50.19 44.99 46.26 44.99 45.24 43.53 47.93 39.56 50.19 44.99"/><polygon class="cls-11" points="59.03 33.02 44.3 26.8 52.05 19 55.02 19 59.03 33.02"/><path class="cls-12" d="M44.31,26.8l3.62,12.76L59,33Z"/><polygon class="cls-13" points="46.26 44.99 45.19 44.99 45.24 43.53 46.26 44.99"/><polygon class="cls-14" points="52.05 19 44.3 26.8 42.91 19.82 45.9 19 52.05 19"/><path class="cls-15" d="M44.31,26.8L26.44,30.92l18.8,12.61Z"/><path class="cls-12" d="M44.31,26.8l0.94,16.74,2.69-4Z"/><path class="cls-14" d="M42.91,19.82L26.44,30.92,44.31,26.8Z"/><polygon class="cls-16" points="26.44 30.92 18.69 44.99 14.28 44.99 11.02 30.68 26.44 30.92"/><path class="cls-17" d="M18.5,19L11,30.68l-1.91-11,0.27-.46h0A0.49,0.49,0,0,1,9.8,19h8.7Z"/><path class="cls-16" d="M14.28,45H9.8a0.48,0.48,0,0,1-.42-0.24L2.95,33.61,11,30.68Z"/><polygon class="cls-18" points="11.02 30.68 5.81 25.43 9.11 19.7 11.02 30.68"/><polygon class="cls-19" points="34.6 19 29.45 19 21.55 19 26.44 30.92 42.91 19.82 37.94 19 34.6 19"/><polygon class="cls-19" points="19.52 19 18.5 19 11.02 30.68 26.44 30.92 21.55 19 19.52 19"/><polygon class="cls-20" points="41.66 44.99 44.53 44.99 45.19 44.99 45.24 43.53 41.66 44.99"/><polygon class="cls-12" points="45.24 43.53 26.44 30.92 29.83 44.99 34.6 44.99 41.66 44.99 45.24 43.53"/><polygon class="cls-21" points="18.69 44.99 19.52 44.99 29.45 44.99 29.83 44.99 26.44 30.92 18.69 44.99"/><polygon class="cls-22" points="42.96 19 42.91 19.82 45.9 19 44.53 19 42.96 19"/><polygon class="cls-23" points="37.94 19 42.91 19.82 42.45 19 37.94 19"/><polygon class="cls-17" points="42.45 19 42.91 19.82 42.96 19 42.45 19"/><path class="cls-24" d="M29.4,19.22L22.13,31.8a0.42,0.42,0,0,0-.05.21H17L27,14.74a0.39,0.39,0,0,1,.15.14h0l2.26,3.93A0.44,0.44,0,0,1,29.4,19.22Z"/><path class="cls-25" d="M29.39,45.23l-2.26,3.91a0.44,0.44,0,0,1-.15.14L17,32h5.07a0.39,0.39,0,0,0,0,.2v0L29.39,44.8A0.43,0.43,0,0,1,29.39,45.23Z"/><path class="cls-26" d="M27,14.74L17,32h0l-2.5,4.33-2.39-4.14a0.39,0.39,0,0,1,0-.2,0.42,0.42,0,0,1,.05-0.21l2.42-4.19L21.89,14.9a0.42,0.42,0,0,1,.37-0.22h4.51A0.45,0.45,0,0,1,27,14.74Z"/><path class="cls-24" d="M27,49.28a0.45,0.45,0,0,1-.21.06H22.26a0.42,0.42,0,0,1-.37-0.22L15.17,37.5l-0.66-1.15L17,32Z"/><path class="cls-26" d="M47,32l-10,17.27a0.47,0.47,0,0,1-.15-0.14h0l-2.26-3.92a0.44,0.44,0,0,1,0-.4l7.26-12.58A0.42,0.42,0,0,0,42,32H47Z"/><path class="cls-24" d="M52,32a0.42,0.42,0,0,1-.06.22L42.14,49.14a0.43,0.43,0,0,1-.36.2h-4.5a0.46,0.46,0,0,1-.22-0.06L47,32l2.5-4.33,2.37,4.11A0.42,0.42,0,0,1,52,32Z"/><path class="cls-24" d="M47,32H42a0.42,0.42,0,0,0-.06-0.21L34.64,19.23a0.43,0.43,0,0,1,0-.43l2.26-3.91a0.47,0.47,0,0,1,.15-0.14Z"/><path class="cls-25" d="M49.53,27.68h0L47,32l-10-17.27a0.46,0.46,0,0,1,.22-0.06h4.5a0.43,0.43,0,0,1,.36.2Z"/></g></svg>
\ No newline at end of file
misc/logo/keycloak_logo_100px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_logo_100px.svg b/misc/logo/keycloak_logo_100px.svg
index e1130b6..0e3a658 100644
--- a/misc/logo/keycloak_logo_100px.svg
+++ b/misc/logo/keycloak_logo_100px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M95.1,54.6H92.93a0.09,0.09,0,0,1-.07,0l-0.17-.23-0.46-.62L91,52l-0.71-1a0.09,0.09,0,0,0-.14,0l-0.74.82L89.29,52a0.09,0.09,0,0,0,0,.06v2.48a0.09,0.09,0,0,1-.09.09H87.31a0.09,0.09,0,0,1-.09-0.09v-9a0.09,0.09,0,0,1,.09-0.09h1.87a0.09,0.09,0,0,1,.09.09v3.45a0.09,0.09,0,0,0,.16.06l1-1.12L92,46.22l0.72-.78a0.09,0.09,0,0,1,.07,0h2.3a0.09,0.09,0,0,1,.09.09,0.1,0.1,0,0,1,0,.06l-1,1.15-1.72,1.91-0.72.8a0.09,0.09,0,0,0,0,.11l0.89,1.25,0.81,1.15,0.1,0.14,0.62,0.86,0.64,0.9,0.45,0.63A0.09,0.09,0,0,1,95.1,54.6Zm-8.61-.13a0.09,0.09,0,0,1-.08.13h-2a0.09,0.09,0,0,1-.08-0.06l0-.09h0l-0.77-1.79a0.09,0.09,0,0,0-.08-0.06H79.72a0.09,0.09,0,0,0-.08.06l-0.11.27-0.69,1.61h0a0.09,0.09,0,0,1-.08.05h-2a0.09,0.09,0,0,1-.08-0.13l0.14-.32L77.75,52h0l0-.08,0-.09,0,0L78.16,51h0l2.41-5.57a0.09,0.09,0,0,1,.08-0.06h1.87a0.09,0.09,0,0,1,.08.06l1.25,2.9,0.62,1.43,0.69,1.6,1.31,3Zm-3.81-3.79-0.13-.31-0.44-1-0.44-1a0.09,0.09,0,0,0-.17,0l-0.78,1.8-0.24.55a0.09,0.09,0,0,0,.08.13h2A0.09,0.09,0,0,0,82.68,50.68Zm-5.89,1a3.93,3.93,0,0,1-.18.41,4.61,4.61,0,0,1-.89,1.19h0a4.91,4.91,0,0,1-.5.43,4.67,4.67,0,0,1-2.59.92H72.28a4.8,4.8,0,0,1-2.69-.76,4.88,4.88,0,0,1-.74-0.6l-0.26-.28a4.54,4.54,0,0,1-1.13-3.11,5.22,5.22,0,0,1,.06-0.8h0l0-.06,0.07-.1a4.46,4.46,0,0,1,1.31-2.42A4.89,4.89,0,0,1,69.55,46a4.52,4.52,0,0,1,1.64-.69h0a5.28,5.28,0,0,1,1.09-.11,4.72,4.72,0,0,1,3.43,1.36,4.5,4.5,0,0,1,1.37,2.88h0c0,0.17,0,.33,0,0.51A4.83,4.83,0,0,1,76.79,51.72ZM75,49.95a3,3,0,0,0-.71-2l-0.08-.09A2.52,2.52,0,0,0,72.29,47a2.78,2.78,0,0,0-.59.06,2.53,2.53,0,0,0-1.35.8,3,3,0,0,0-.79,2s0,0,0,.07A3,3,0,0,0,70.35,52a2.62,2.62,0,0,0,.24.23,2.52,2.52,0,0,0,.52.36,2.69,2.69,0,0,0,2.4,0,2.61,2.61,0,0,0,.64-0.48L74.23,52a3,3,0,0,0,.44-0.63A3.08,3.08,0,0,0,75,49.95Zm-7.67,2.82H63.61a0.09,0.09,0,0,1-.09-0.09V45.5a0.09,0.09,0,0,0-.05-0.08H61.56a0.09,0.09,0,0,0-.09.09v9h0a0.09,0.09,0,0,0,.09.09h5.79a0.09,0.09,0,0,0,.09-0.09V52.86A0.09,0.09,0,0,0,67.35,52.77ZM57.18,45.21l-0.45,0a4.72,4.72,0,0,0-3.43,1.37,4.93,4.93,0,0,0-.46.52h0A4.59,4.59,0,0,0,51.9,50a5,5,0,0,0,.3,1.75,4.28,4.28,0,0,0,.46.9h0a4.54,4.54,0,0,0,.61.73,4.65,4.65,0,0,0,.92.7h0l0.25,0.14,0.19,0.09h0a5.25,5.25,0,0,0,2.13.42,4.75,4.75,0,0,0,.68,0h0l0.42-.08A4.77,4.77,0,0,0,60,53.39c0.13-.12.26-0.25,0.38-0.39a0.09,0.09,0,0,0,0-.13l-1.19-1.22a0.09,0.09,0,0,0-.08,0l-0.05,0a3,3,0,0,1-2.41,1.12,2.68,2.68,0,0,1-.93-0.16,2.61,2.61,0,0,1-1-.62,2.51,2.51,0,0,1-.6-1,3.26,3.26,0,0,1-.18-1.1A2.66,2.66,0,0,1,54.73,48l0.11-.11a2.82,2.82,0,0,1,2-.76,3,3,0,0,1,2.35,1.13,0.09,0.09,0,0,0,.13,0L60.46,47a0.09,0.09,0,0,0,0-.12A4.83,4.83,0,0,0,57.18,45.21ZM52,46.15l0.35-.61a0.09,0.09,0,0,0-.08-0.13h-2a0.09,0.09,0,0,0-.08,0l-1.83,3.14h0l-0.1.07-0.07.06,0,0,0-.05,0-.08-1.8-3.11a0.09,0.09,0,0,0-.08,0h-2a0.09,0.09,0,0,0-.08.13L45,47.07l1.58,2.76,0.64,1.11a0.09,0.09,0,0,1,0,0v3.52a0.09,0.09,0,0,0,.09.09h1.87a0.09,0.09,0,0,0,.09-0.09V51a0.09,0.09,0,0,1,0,0l0.45-.79,1.71-3,0.35-.61L52,46.15h0Zm-8.63,6.63H38.82a0.09,0.09,0,0,1-.09-0.09V51a0.09,0.09,0,0,1,.09-0.09h3.94a0.09,0.09,0,0,0,.09-0.09V49.22a0.09,0.09,0,0,0-.09-0.09H38.82A0.09,0.09,0,0,1,38.73,49V47.32a0.09,0.09,0,0,1,.09-0.09h4.4a0.09,0.09,0,0,0,.09-0.09V45.5a0.09,0.09,0,0,0-.09-0.09H36.77a0.09,0.09,0,0,0-.09.09v9a0.09,0.09,0,0,0,.09.09h6.59a0.09,0.09,0,0,0,.09-0.09V52.87A0.09,0.09,0,0,0,43.36,52.78Zm-7.74,1.56-0.85-1.2L33.9,51.92l0,0-1.68-2.35a0.09,0.09,0,0,1,0-.11L33,48.51h0l0.67-.75L34.34,47l1.33-1.48a0.09,0.09,0,0,0-.07-0.15h-2.3a0.09,0.09,0,0,0-.07,0L31.82,47,30,49a0.09,0.09,0,0,1-.16-0.06V45.5a0.09,0.09,0,0,0-.09-0.09H27.83a0.09,0.09,0,0,0-.09.09h0v9a0.09,0.09,0,0,0,.09.09H29.7a0.09,0.09,0,0,0,.09-0.09V52a0.09,0.09,0,0,1,0-.06l0.39-.44,0.43-.48a0.09,0.09,0,0,1,.14,0l1.3,1.75L33,54.06l0.37,0.5a0.09,0.09,0,0,0,.07,0h2.17a0.09,0.09,0,0,0,.07-0.14Zm-9-8.95H7.54a0.17,0.17,0,0,0-.15.08h0l-0.09.16-1.17,2L4.83,49.92a0.17,0.17,0,0,0,0,.17l0.28,0.49,2.28,3.95a0.17,0.17,0,0,0,.15.09H26.68a0.19,0.19,0,0,0,.19-0.19V45.59A0.19,0.19,0,0,0,26.67,45.4Z"/></clipPath><linearGradient id="linear-gradient" x1="4.6" y1="50.14" x2="95.74" y2="50.14" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M23.49,45.39a0.17,0.17,0,0,1-.15-0.08l-2.56-4.44a0.17,0.17,0,0,0-.15-0.08H10.19a0.17,0.17,0,0,0-.15.08l-2.66,4.6h0L4.83,49.92a0.17,0.17,0,0,0,0,.17l2.56,4.43L10,59.12a0.17,0.17,0,0,0,.15.08H20.63a0.17,0.17,0,0,0,.15-0.08l2.56-4.44a0.17,0.17,0,0,1,.15-0.08h3.19a0.19,0.19,0,0,0,.19-0.19V45.59a0.19,0.19,0,0,0-.19-0.19H23.49Z"/><g class="cls-3"><rect class="cls-4" x="4.6" y="43.98" width="91.14" height="12.31"/></g><path class="cls-5" d="M8,49.54l-2.86,1-0.28-.49a0.17,0.17,0,0,1,0-.17l1.29-2.24Z"/><path class="cls-6" d="M95.1,54.6H93.92l-1.08-.68,1.88-.09,0.45,0.63A0.09,0.09,0,0,1,95.1,54.6Z"/><path class="cls-6" d="M93.92,54.6h-1a0.09,0.09,0,0,1-.07,0l-0.17-.23,0.16-.41Z"/><path class="cls-7" d="M95.17,45.5a0.1,0.1,0,0,1,0,.06l-1,1.15L94,46.06Z"/><path class="cls-8" d="M94.73,53.83l-1.88.09,1.24-1Z"/><path class="cls-9" d="M95.17,45.5L94,46.06l0.19-.65h0.84A0.09,0.09,0,0,1,95.17,45.5Z"/><path class="cls-10" d="M94.09,52.92l-1.24,1,0.63-1.86Z"/><polygon class="cls-11" points="94.24 45.41 94.05 46.06 92.95 45.41 94.24 45.41"/><path class="cls-12" d="M89.27,45.5v0.93l-2.05.16V45.5a0.09,0.09,0,0,1,.09-0.09h1.87A0.09,0.09,0,0,1,89.27,45.5Z"/><path class="cls-12" d="M94,46.06L92,46.22l0.72-.78a0.09,0.09,0,0,1,.07,0H93Z"/><path class="cls-13" d="M93.47,52.06l-0.63,1.86-0.62-.21L91,52l1.6-1.23,0.81,1.15Z"/><polygon class="cls-9" points="89.27 46.43 89.27 47.44 87.22 46.66 87.22 46.59 89.27 46.43"/><polygon class="cls-9" points="94.11 46.7 92.39 48.62 90.46 47.89 91.99 46.22 94.05 46.06 94.11 46.7"/><path class="cls-14" d="M92.56,50.78L91,52l-0.71-1a0.09,0.09,0,0,0-.14,0l-0.74.82L87.22,47V46.66l2.05,0.78v1.51a0.09,0.09,0,0,0,.16.06l1-1.12,1.93,0.73-0.72.8a0.09,0.09,0,0,0,0,.11Z"/><polygon class="cls-15" points="92.84 53.92 92.69 54.33 92.22 53.71 92.84 53.92"/><path class="cls-16" d="M89.38,51.87L89.29,52a0.09,0.09,0,0,0,0,.06v0.39l-2.05-1.74V47Z"/><path class="cls-10" d="M86.5,54.47a0.09,0.09,0,0,1-.08.13h-0.3l0.36-.17Z"/><path class="cls-10" d="M89.27,53.14v1.36a0.09,0.09,0,0,1-.09.09H87.31a0.09,0.09,0,0,1-.09-0.09V54.09Z"/><path class="cls-9" d="M86.48,54.43l-0.36.17H84.43a0.09,0.09,0,0,1-.08-0.06l0-.09h0l0.86-3.06Z"/><polygon class="cls-9" points="89.27 52.42 89.27 53.14 87.22 54.09 87.22 50.68 89.27 52.42"/><path class="cls-17" d="M85.17,51.4l-0.86,3.06-0.77-1.79a0.09,0.09,0,0,0-.08-0.06H79.72a0.09,0.09,0,0,0-.08.06l-0.11.27-1.74-1,0-.09,3.3-1H82.6a0.09,0.09,0,0,0,.08-0.13l-0.13-.31,1.92-.59Z"/><path class="cls-18" d="M81.13,50.81l-3.3,1,0,0,2.89-1.64-0.24.55a0.09,0.09,0,0,0,.08.13h0.56Z"/><polygon class="cls-18" points="84.47 49.79 82.55 50.38 82.11 49.35 83.86 48.36 84.47 49.79"/><polygon class="cls-12" points="79.52 52.93 78.83 54.54 78.83 54.55 77.75 51.98 77.75 51.98 77.79 51.91 79.52 52.93"/><path class="cls-19" d="M83.86,48.36l-1.74,1-0.44-1a0.09,0.09,0,0,0-.17,0l-0.78,1.8-2.89,1.64L78.16,51h0l3.19-5.63h1.17a0.09,0.09,0,0,1,.08.06Z"/><path class="cls-20" d="M76.73,48a4.55,4.55,0,0,1,.36,1.43Z"/><path class="cls-20" d="M81.35,45.41L78.16,51l2.41-5.57a0.09,0.09,0,0,1,.08-0.06h0.7Z"/><path class="cls-21" d="M77.11,49.94a4.83,4.83,0,0,1-.32,1.78l-2.12-.31A3.08,3.08,0,0,0,75,49.95a3,3,0,0,0-.71-2l0.83-1.88a4.77,4.77,0,0,1,.58.49,4.53,4.53,0,0,1,1,1.44l0.36,1.43h0C77.1,49.6,77.11,49.77,77.11,49.94Z"/><path class="cls-22" d="M74.76,52.6l1.85-.47a4.61,4.61,0,0,1-.89,1.19Z"/><path class="cls-22" d="M78.83,54.55a0.09,0.09,0,0,1-.08.05H77.41l-0.59-.45L77.75,52Z"/><path class="cls-18" d="M74.76,52.6l1,0.73h0a4.91,4.91,0,0,1-.5.43Z"/><path class="cls-18" d="M77.41,54.6H76.76a0.09,0.09,0,0,1-.08-0.13l0.14-.32Z"/><path class="cls-20" d="M76.79,51.72a3.93,3.93,0,0,1-.18.41l-1.85.47-0.61-.47L74.23,52a3,3,0,0,0,.44-0.63Z"/><path class="cls-22" d="M75.21,53.76a4.67,4.67,0,0,1-2.59.92l2.14-2.08Z"/><path class="cls-23" d="M75.14,46.07l-0.83,1.88-0.08-.09A2.52,2.52,0,0,0,72.29,47a2.78,2.78,0,0,0-.59.06L71.19,45.3a5.28,5.28,0,0,1,1.09-.11A4.76,4.76,0,0,1,75.14,46.07Z"/><path class="cls-24" d="M74.76,52.6l-2.14,2.08H72.28a4.8,4.8,0,0,1-2.69-.76l0.24-1.29h1.27a2.69,2.69,0,0,0,2.4,0h1.25Z"/><path class="cls-25" d="M71.7,47a2.53,2.53,0,0,0-1.35.8,3,3,0,0,0-.79,2l-2-.78,0,0,0.07-.1,2-3a4.52,4.52,0,0,1,1.64-.69h0Z"/><path class="cls-26" d="M70.59,52.27a2.52,2.52,0,0,0,.52.36H69.84Z"/><path class="cls-26" d="M74.76,52.6H73.51a2.61,2.61,0,0,0,.64-0.48Z"/><path class="cls-27" d="M70.59,52.27l-0.75.37-2.32-3.5h0l0-.06,0,0,2,0.78s0,0,0,.07A3,3,0,0,0,70.35,52,2.62,2.62,0,0,0,70.59,52.27Z"/><path class="cls-28" d="M69.55,46l-2,3a4.46,4.46,0,0,1,1.31-2.42A4.89,4.89,0,0,1,69.55,46Z"/><path class="cls-26" d="M63.93,54.6l3.51-1.16v1.07a0.09,0.09,0,0,1-.09.09H63.93Z"/><path class="cls-26" d="M69.84,52.64L69.6,53.93a4.88,4.88,0,0,1-.74-0.6l-0.26-.28Z"/><path class="cls-23" d="M67.44,52.86v0.57L63.93,54.6H62l1.81-1.83h3.51A0.09,0.09,0,0,1,67.44,52.86Z"/><path class="cls-23" d="M69.84,52.64l-1.24.41a4.54,4.54,0,0,1-1.13-3.11,5.22,5.22,0,0,1,.06-0.8Z"/><path class="cls-29" d="M63.84,52.77L62,54.6H61.56a0.09,0.09,0,0,1-.09-0.09h0l2.05-5.79v4a0.09,0.09,0,0,0,.09.09h0.22Z"/><path class="cls-30" d="M63.52,45.5V46l-0.05-.59A0.09,0.09,0,0,1,63.52,45.5Z"/><path class="cls-31" d="M60.46,46.86a0.09,0.09,0,0,1,0,.12l-1.15,1.31a0.09,0.09,0,0,1-.13,0,3.06,3.06,0,0,0-1.55-1l-0.45-2A4.83,4.83,0,0,1,60.46,46.86Z"/><path class="cls-31" d="M62.4,45.41l-0.92.94V45.5a0.09,0.09,0,0,1,.09-0.09H62.4Z"/><path class="cls-32" d="M63.52,46v2.21l-2.05.57V46.35l0.92-.94h1.07Z"/><path class="cls-33" d="M60.4,52.88a0.09,0.09,0,0,1,0,.13c-0.13.14-.25,0.27-0.38,0.39l-0.88-1.76a0.09,0.09,0,0,1,.08,0Z"/><polygon class="cls-33" points="63.52 48.22 63.52 48.7 61.47 54.5 61.47 48.79 63.52 48.22"/><path class="cls-28" d="M60,53.39a4.77,4.77,0,0,1-2.14,1.18L58,52.51a3.14,3.14,0,0,0,1.08-.84l0.05,0Z"/><path class="cls-34" d="M58,52.51l-0.12,2.07-0.42.08h0l-2.81-.37h0l-0.19-.09,1.3-1.57a2.68,2.68,0,0,0,.93.16A3.13,3.13,0,0,0,58,52.51Z"/><path class="cls-35" d="M55.75,52.63l-1.3,1.57-0.25-.14h0l-1.53-1.43h0a4.28,4.28,0,0,1-.46-0.9l2-.68a2.51,2.51,0,0,0,.6,1A2.61,2.61,0,0,0,55.75,52.63Z"/><polygon class="cls-36" points="51.34 46.35 51.99 46.15 51.76 46.56 51.34 46.35"/><path class="cls-36" d="M57.63,47.26a3,3,0,0,0-.81-0.11,2.82,2.82,0,0,0-2,.76L54.73,48l-1.89-.93h0a4.93,4.93,0,0,1,.46-0.52,4.72,4.72,0,0,1,3.43-1.37l0.45,0Z"/><polygon class="cls-37" points="51.34 46.35 51.76 46.56 51.41 47.17 51.34 46.35"/><path class="cls-37" d="M54,49.95a3.26,3.26,0,0,0,.18,1.1l-2,.68A5,5,0,0,1,51.9,50a4.59,4.59,0,0,1,.94-2.89L54.73,48A2.66,2.66,0,0,0,54,49.95Z"/><polygon class="cls-38" points="54.64 54.28 54.64 54.28 54.64 54.28 54.64 54.28"/><path class="cls-38" d="M57.46,54.65a4.75,4.75,0,0,1-.68,0,5.25,5.25,0,0,1-2.13-.42Z"/><path class="cls-39" d="M52.34,45.54L52,46.15l-0.66.2L51,45.41h1.26A0.09,0.09,0,0,1,52.34,45.54Z"/><polygon class="cls-40" points="49.24 53.49 49.24 53.73 48.77 53.43 49.24 53.49"/><path class="cls-34" d="M49.24,53.73v0.77a0.09,0.09,0,0,1-.09.09H48.71l0.06-1.17Z"/><polygon class="cls-41" points="48.77 53.43 49.24 53.19 49.24 53.49 48.77 53.43"/><path class="cls-41" d="M54.2,54.06a4.65,4.65,0,0,1-.92-0.7,4.54,4.54,0,0,1-.61-0.73Z"/><polygon class="cls-42" points="51.41 47.17 49.7 50.16 48.03 48.83 48.17 48.73 48.25 48.67 48.34 48.6 48.34 48.59 48.34 48.59 51.34 46.35 51.41 47.17"/><path class="cls-43" d="M49.7,50.16l-0.45.79a0.09,0.09,0,0,0,0,0v2.2l-0.46.24L48,48.83Z"/><path class="cls-44" d="M48.13,48.69l0,0L48,48.83l0.07-.19Z"/><path class="cls-44" d="M51.34,46.35l-3,2.24,1.83-3.14a0.09,0.09,0,0,1,.08,0H51Z"/><polygon class="cls-45" points="48.77 53.43 48.71 54.6 47.29 54.6 48.77 53.43"/><path class="cls-46" d="M43.31,45.5v0.63l-1.25-.72h1.16A0.09,0.09,0,0,1,43.31,45.5Z"/><path class="cls-46" d="M48.06,48.56l0,0.27L45,47.07l-0.87-1.53a0.09,0.09,0,0,1,.08-0.13h2a0.09,0.09,0,0,1,.08,0Z"/><polygon class="cls-47" points="48.1 48.64 48.03 48.83 48.06 48.56 48.1 48.64"/><path class="cls-37" d="M48.77,53.43L47.29,54.6h0a0.09,0.09,0,0,1-.09-0.09v-0.7Z"/><path class="cls-48" d="M47.19,52.59V51a0.09,0.09,0,0,0,0,0l-0.64-1.11,1.49-1,0.74,4.59Z"/><path class="cls-42" d="M42.94,54.6l0.51-1.11v1a0.09,0.09,0,0,1-.09.09H42.94Z"/><polygon class="cls-42" points="48.77 53.43 47.19 53.81 47.19 52.59 48.77 53.43"/><path class="cls-49" d="M43.31,46.12v1a0.09,0.09,0,0,1-.09.09H42.35l-1-1.83h0.7Z"/><polygon class="cls-49" points="48.03 48.83 46.54 49.83 44.96 47.07 48.03 48.83"/><polygon class="cls-50" points="42.35 47.23 41.44 47.23 40.08 45.48 40.19 45.41 41.35 45.41 42.35 47.23"/><path class="cls-51" d="M43.45,52.87v0.62L42.94,54.6h-0.7L36.9,52l1.84-.2v0.87a0.09,0.09,0,0,0,.09.09h4.54A0.09,0.09,0,0,1,43.45,52.87Z"/><polygon class="cls-52" points="41.44 47.23 39.23 47.23 40.08 45.48 41.44 47.23"/><path class="cls-52" d="M42.85,49.22v1.57a0.09,0.09,0,0,1-.09.09H38.82a0.09,0.09,0,0,0-.09.09v0.85L36.9,52l1.84-3.77V49a0.09,0.09,0,0,0,.09.09h3.94A0.09,0.09,0,0,1,42.85,49.22Z"/><polygon class="cls-53" points="42.24 54.6 37.71 54.6 36.9 52.02 42.24 54.6"/><path class="cls-54" d="M40.08,45.48l-0.85,1.75H38.82a0.09,0.09,0,0,0-.09.09v0.93L36.9,52l-0.22-.35v-4.6Z"/><path class="cls-55" d="M35.67,45.56L34.34,47l-0.25-1.63H35.6A0.09,0.09,0,0,1,35.67,45.56Z"/><path class="cls-55" d="M40.08,45.48l-3.4,1.59V45.5a0.09,0.09,0,0,1,.09-0.09H39.6Z"/><path class="cls-56" d="M34.77,53.15l0.85,1.2-2.08-.54Z"/><path class="cls-56" d="M37.71,54.6H36.77a0.09,0.09,0,0,1-.09-0.09V52.13L36.9,52Z"/><path class="cls-53" d="M35.63,54.6H33.78l-0.24-.8,2.08,0.54,0.08,0.11A0.09,0.09,0,0,1,35.63,54.6Z"/><path class="cls-57" d="M33.9,51.92l0.87,1.23-1.23.65,0.32-1.92Z"/><polygon class="cls-57" points="36.9 52.02 36.68 52.13 36.68 51.67 36.9 52.02"/><path class="cls-58" d="M33.87,51.88L33.54,53.8l-1.47-1-1.3-1.75a0.09,0.09,0,0,0-.14,0l-0.43.48-2.33-1.58L33,48.51l-0.82.91a0.09,0.09,0,0,0,0,.11Z"/><path class="cls-47" d="M33.78,54.6H33.46a0.09,0.09,0,0,1-.07,0L33,54.06l0.53-.26Z"/><polygon class="cls-59" points="28.79 45.73 29.79 45.49 29.79 46.15 28.79 45.73"/><path class="cls-59" d="M34.34,47l-0.65.72L31.82,47l1.42-1.55a0.09,0.09,0,0,1,.07,0h0.79Z"/><path class="cls-60" d="M33.69,47.75L33,48.5h0l-5.14,1.44,0.91-4.22,1,0.42v2.8A0.09,0.09,0,0,0,30,49l1.87-2Z"/><path class="cls-61" d="M27.87,49.95l2.33,1.58L29.82,52a0.09,0.09,0,0,0,0,.06v2.48a0.09,0.09,0,0,1-.09.09h0Z"/><polygon class="cls-61" points="33.55 53.8 33.01 54.06 32.08 52.8 33.55 53.8"/><polygon class="cls-62" points="24.98 50.36 26.86 50.09 26.86 52.28 24.98 50.36"/><polygon class="cls-62" points="29.68 54.6 29.14 54.6 27.74 53.17 27.74 49.97 27.88 49.95 29.68 54.6"/><path class="cls-61" d="M25,50.36l1.88,1.92v2.13a0.19,0.19,0,0,1-.19.19H24.48Z"/><path class="cls-61" d="M29.14,54.6H27.83a0.09,0.09,0,0,1-.09-0.09V53.17Z"/><polygon class="cls-63" points="24.98 50.36 24.48 54.6 21.85 54.6 21.05 52.68 24.98 50.36"/><polygon class="cls-64" points="24.98 50.36 26.86 48.07 26.86 50.09 24.98 50.36"/><polygon class="cls-64" points="28.79 45.73 27.88 49.95 27.74 49.97 27.74 47 28.79 45.73"/><path class="cls-65" d="M26.86,45.59v2.48L25,50.36l-1.42-5h3.11A0.19,0.19,0,0,1,26.86,45.59Z"/><polygon class="cls-65" points="28.79 45.73 27.74 47 27.74 45.51 28.79 45.73"/><polygon class="cls-58" points="21.85 54.6 20.46 54.6 20.09 54.09 21.05 52.68 21.85 54.6"/><polygon class="cls-66" points="24.98 50.36 19.76 48.16 22.51 45.4 23.56 45.4 24.98 50.36"/><path class="cls-67" d="M19.76,48.16L21,52.68,25,50.36Z"/><polygon class="cls-50" points="20.46 54.6 20.08 54.6 20.09 54.09 20.46 54.6"/><polygon class="cls-68" points="22.51 45.4 19.76 48.16 19.27 45.69 20.33 45.4 22.51 45.4"/><path class="cls-69" d="M19.76,48.16l-6.33,1.46,6.66,4.47Z"/><path class="cls-67" d="M19.76,48.16l0.33,5.93,1-1.41Z"/><path class="cls-68" d="M19.27,45.69l-5.84,3.93,6.33-1.46Z"/><polygon class="cls-70" points="13.43 49.62 10.69 54.6 9.13 54.6 7.97 49.53 13.43 49.62"/><path class="cls-71" d="M10.62,45.4L8,49.54,7.29,45.64l0.09-.16h0a0.17,0.17,0,0,1,.15-0.08h3.08Z"/><path class="cls-70" d="M9.13,54.6H7.54a0.17,0.17,0,0,1-.15-0.09L5.11,50.57l2.86-1Z"/><polygon class="cls-72" points="7.97 49.53 6.12 47.67 7.29 45.64 7.97 49.53"/><polygon class="cls-73" points="16.32 45.4 14.5 45.4 11.7 45.4 13.43 49.62 19.27 45.69 17.51 45.4 16.32 45.4"/><polygon class="cls-73" points="10.98 45.4 10.62 45.4 7.97 49.53 13.43 49.62 11.7 45.4 10.98 45.4"/><polygon class="cls-74" points="18.82 54.6 19.84 54.6 20.08 54.6 20.09 54.09 18.82 54.6"/><polygon class="cls-67" points="20.09 54.09 13.43 49.62 14.63 54.6 16.32 54.6 18.82 54.6 20.09 54.09"/><polygon class="cls-75" points="10.69 54.6 10.98 54.6 14.5 54.6 14.63 54.6 13.43 49.62 10.69 54.6"/><polygon class="cls-62" points="40.19 45.41 40.08 45.48 40.03 45.41 40.19 45.41"/><polygon class="cls-76" points="40.08 45.48 39.6 45.41 40.03 45.41 40.08 45.48"/><path class="cls-75" d="M29.79,45.49l-1,.23,0.28-.32H29.7A0.09,0.09,0,0,1,29.79,45.49Z"/><polygon class="cls-77" points="29.06 45.41 28.79 45.73 28.73 45.41 29.06 45.41"/><path class="cls-68" d="M28.79,45.73l-1-.22h0a0.09,0.09,0,0,1,.09-0.09h0.9Z"/><polygon class="cls-78" points="19.29 45.4 19.27 45.69 20.33 45.4 19.84 45.4 19.29 45.4"/><polygon class="cls-79" points="17.51 45.4 19.27 45.69 19.11 45.4 17.51 45.4"/><polygon class="cls-71" points="19.11 45.4 19.27 45.69 19.29 45.4 19.11 45.4"/><path class="cls-80" d="M14.48,45.47l-2.57,4.46a0.15,0.15,0,0,0,0,.07H10.09l3.53-6.12,0.05,0.05h0l0.8,1.39A0.15,0.15,0,0,1,14.48,45.47Z"/><path class="cls-81" d="M14.48,54.69l-0.8,1.38-0.05.05L10.09,50h1.8a0.14,0.14,0,0,0,0,.07h0l2.57,4.45A0.15,0.15,0,0,1,14.48,54.69Z"/><path class="cls-82" d="M13.63,43.89L10.09,50h0L9.21,51.54,8.36,50.07a0.14,0.14,0,0,1,0-.07,0.15,0.15,0,0,1,0-.07l0.86-1.48,2.6-4.5A0.15,0.15,0,0,1,12,43.87h1.6Z"/><path class="cls-80" d="M13.63,56.12l-0.08,0H12a0.15,0.15,0,0,1-.13-0.08L9.44,51.95l-0.24-.41L10.09,50Z"/><path class="cls-82" d="M20.73,50l-3.53,6.12-0.05-.05h0l-0.8-1.39a0.15,0.15,0,0,1,0-.14l2.57-4.46a0.15,0.15,0,0,0,0-.08h1.8Z"/><path class="cls-80" d="M22.48,50a0.15,0.15,0,0,1,0,.08l-3.46,6a0.15,0.15,0,0,1-.13.07h-1.6l-0.08,0L20.73,50l0.89-1.53,0.84,1.46A0.15,0.15,0,0,1,22.48,50Z"/><path class="cls-80" d="M20.73,50h-1.8a0.15,0.15,0,0,0,0-.08l-2.57-4.45a0.15,0.15,0,0,1,0-.15l0.8-1.39,0.05-.05Z"/><path class="cls-81" d="M21.61,48.47h0L20.73,50l-3.53-6.12,0.08,0h1.6a0.15,0.15,0,0,1,.13.07Z"/></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M95.1,54.6H92.93a0.09,0.09,0,0,1-.07,0l-0.17-.23-0.46-.62L91,52l-0.71-1a0.09,0.09,0,0,0-.14,0l-0.74.82L89.29,52a0.09,0.09,0,0,0,0,.06v2.48a0.09,0.09,0,0,1-.09.09H87.31a0.09,0.09,0,0,1-.09-0.09v-9a0.09,0.09,0,0,1,.09-0.09h1.87a0.09,0.09,0,0,1,.09.09v3.45a0.09,0.09,0,0,0,.16.06l1-1.12L92,46.22l0.72-.78a0.09,0.09,0,0,1,.07,0h2.3a0.09,0.09,0,0,1,.09.09,0.1,0.1,0,0,1,0,.06l-1,1.15-1.72,1.91-0.72.8a0.09,0.09,0,0,0,0,.11l0.89,1.25,0.81,1.15,0.1,0.14,0.62,0.86,0.64,0.9,0.45,0.63A0.09,0.09,0,0,1,95.1,54.6Zm-8.61-.13a0.09,0.09,0,0,1-.08.13h-2a0.09,0.09,0,0,1-.08-0.06l0-.09h0l-0.77-1.79a0.09,0.09,0,0,0-.08-0.06H79.72a0.09,0.09,0,0,0-.08.06l-0.11.27-0.69,1.61h0a0.09,0.09,0,0,1-.08.05h-2a0.09,0.09,0,0,1-.08-0.13l0.14-.32L77.75,52h0l0-.08,0-.09,0,0L78.16,51h0l2.41-5.57a0.09,0.09,0,0,1,.08-0.06h1.87a0.09,0.09,0,0,1,.08.06l1.25,2.9,0.62,1.43,0.69,1.6,1.31,3Zm-3.81-3.79-0.13-.31-0.44-1-0.44-1a0.09,0.09,0,0,0-.17,0l-0.78,1.8-0.24.55a0.09,0.09,0,0,0,.08.13h2A0.09,0.09,0,0,0,82.68,50.68Zm-5.89,1a3.93,3.93,0,0,1-.18.41,4.61,4.61,0,0,1-.89,1.19h0a4.91,4.91,0,0,1-.5.43,4.67,4.67,0,0,1-2.59.92H72.28a4.8,4.8,0,0,1-2.69-.76,4.88,4.88,0,0,1-.74-0.6l-0.26-.28a4.54,4.54,0,0,1-1.13-3.11,5.22,5.22,0,0,1,.06-0.8h0l0-.06,0.07-.1a4.46,4.46,0,0,1,1.31-2.42A4.89,4.89,0,0,1,69.55,46a4.52,4.52,0,0,1,1.64-.69h0a5.28,5.28,0,0,1,1.09-.11,4.72,4.72,0,0,1,3.43,1.36,4.5,4.5,0,0,1,1.37,2.88h0c0,0.17,0,.33,0,0.51A4.83,4.83,0,0,1,76.79,51.72ZM75,49.95a3,3,0,0,0-.71-2l-0.08-.09A2.52,2.52,0,0,0,72.29,47a2.78,2.78,0,0,0-.59.06,2.53,2.53,0,0,0-1.35.8,3,3,0,0,0-.79,2s0,0,0,.07A3,3,0,0,0,70.35,52a2.62,2.62,0,0,0,.24.23,2.52,2.52,0,0,0,.52.36,2.69,2.69,0,0,0,2.4,0,2.61,2.61,0,0,0,.64-0.48L74.23,52a3,3,0,0,0,.44-0.63A3.08,3.08,0,0,0,75,49.95Zm-7.67,2.82H63.61a0.09,0.09,0,0,1-.09-0.09V45.5a0.09,0.09,0,0,0-.05-0.08H61.56a0.09,0.09,0,0,0-.09.09v9h0a0.09,0.09,0,0,0,.09.09h5.79a0.09,0.09,0,0,0,.09-0.09V52.86A0.09,0.09,0,0,0,67.35,52.77ZM57.18,45.21l-0.45,0a4.72,4.72,0,0,0-3.43,1.37,4.93,4.93,0,0,0-.46.52h0A4.59,4.59,0,0,0,51.9,50a5,5,0,0,0,.3,1.75,4.28,4.28,0,0,0,.46.9h0a4.54,4.54,0,0,0,.61.73,4.65,4.65,0,0,0,.92.7h0l0.25,0.14,0.19,0.09h0a5.25,5.25,0,0,0,2.13.42,4.75,4.75,0,0,0,.68,0h0l0.42-.08A4.77,4.77,0,0,0,60,53.39c0.13-.12.26-0.25,0.38-0.39a0.09,0.09,0,0,0,0-.13l-1.19-1.22a0.09,0.09,0,0,0-.08,0l-0.05,0a3,3,0,0,1-2.41,1.12,2.68,2.68,0,0,1-.93-0.16,2.61,2.61,0,0,1-1-.62,2.51,2.51,0,0,1-.6-1,3.26,3.26,0,0,1-.18-1.1A2.66,2.66,0,0,1,54.73,48l0.11-.11a2.82,2.82,0,0,1,2-.76,3,3,0,0,1,2.35,1.13,0.09,0.09,0,0,0,.13,0L60.46,47a0.09,0.09,0,0,0,0-.12A4.83,4.83,0,0,0,57.18,45.21ZM52,46.15l0.35-.61a0.09,0.09,0,0,0-.08-0.13h-2a0.09,0.09,0,0,0-.08,0l-1.83,3.14h0l-0.1.07-0.07.06,0,0,0-.05,0-.08-1.8-3.11a0.09,0.09,0,0,0-.08,0h-2a0.09,0.09,0,0,0-.08.13L45,47.07l1.58,2.76,0.64,1.11a0.09,0.09,0,0,1,0,0v3.52a0.09,0.09,0,0,0,.09.09h1.87a0.09,0.09,0,0,0,.09-0.09V51a0.09,0.09,0,0,1,0,0l0.45-.79,1.71-3,0.35-.61L52,46.15h0Zm-8.63,6.63H38.82a0.09,0.09,0,0,1-.09-0.09V51a0.09,0.09,0,0,1,.09-0.09h3.94a0.09,0.09,0,0,0,.09-0.09V49.22a0.09,0.09,0,0,0-.09-0.09H38.82A0.09,0.09,0,0,1,38.73,49V47.32a0.09,0.09,0,0,1,.09-0.09h4.4a0.09,0.09,0,0,0,.09-0.09V45.5a0.09,0.09,0,0,0-.09-0.09H36.77a0.09,0.09,0,0,0-.09.09v9a0.09,0.09,0,0,0,.09.09h6.59a0.09,0.09,0,0,0,.09-0.09V52.87A0.09,0.09,0,0,0,43.36,52.78Zm-7.74,1.56-0.85-1.2L33.9,51.92l0,0-1.68-2.35a0.09,0.09,0,0,1,0-.11L33,48.51h0l0.67-.75L34.34,47l1.33-1.48a0.09,0.09,0,0,0-.07-0.15h-2.3a0.09,0.09,0,0,0-.07,0L31.82,47,30,49a0.09,0.09,0,0,1-.16-0.06V45.5a0.09,0.09,0,0,0-.09-0.09H27.83a0.09,0.09,0,0,0-.09.09h0v9a0.09,0.09,0,0,0,.09.09H29.7a0.09,0.09,0,0,0,.09-0.09V52a0.09,0.09,0,0,1,0-.06l0.39-.44,0.43-.48a0.09,0.09,0,0,1,.14,0l1.3,1.75L33,54.06l0.37,0.5a0.09,0.09,0,0,0,.07,0h2.17a0.09,0.09,0,0,0,.07-0.14Zm-9-8.95H7.54a0.17,0.17,0,0,0-.15.08h0l-0.09.16-1.17,2L4.83,49.92a0.17,0.17,0,0,0,0,.17l0.28,0.49,2.28,3.95a0.17,0.17,0,0,0,.15.09H26.68a0.19,0.19,0,0,0,.19-0.19V45.59A0.19,0.19,0,0,0,26.67,45.4Z"/></clipPath><linearGradient id="linear-gradient" x1="4.6" y1="50.14" x2="95.74" y2="50.14" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M23.49,45.39a0.17,0.17,0,0,1-.15-0.08l-2.56-4.44a0.17,0.17,0,0,0-.15-0.08H10.19a0.17,0.17,0,0,0-.15.08l-2.66,4.6h0L4.83,49.92a0.17,0.17,0,0,0,0,.17l2.56,4.43L10,59.12a0.17,0.17,0,0,0,.15.08H20.63a0.17,0.17,0,0,0,.15-0.08l2.56-4.44a0.17,0.17,0,0,1,.15-0.08h3.19a0.19,0.19,0,0,0,.19-0.19V45.59a0.19,0.19,0,0,0-.19-0.19H23.49Z"/><g class="cls-3"><rect class="cls-4" x="4.6" y="43.98" width="91.14" height="12.31"/></g><path class="cls-5" d="M8,49.54l-2.86,1-0.28-.49a0.17,0.17,0,0,1,0-.17l1.29-2.24Z"/><path class="cls-6" d="M95.1,54.6H93.92l-1.08-.68,1.88-.09,0.45,0.63A0.09,0.09,0,0,1,95.1,54.6Z"/><path class="cls-6" d="M93.92,54.6h-1a0.09,0.09,0,0,1-.07,0l-0.17-.23,0.16-.41Z"/><path class="cls-7" d="M95.17,45.5a0.1,0.1,0,0,1,0,.06l-1,1.15L94,46.06Z"/><path class="cls-8" d="M94.73,53.83l-1.88.09,1.24-1Z"/><path class="cls-9" d="M95.17,45.5L94,46.06l0.19-.65h0.84A0.09,0.09,0,0,1,95.17,45.5Z"/><path class="cls-10" d="M94.09,52.92l-1.24,1,0.63-1.86Z"/><polygon class="cls-11" points="94.24 45.41 94.05 46.06 92.95 45.41 94.24 45.41"/><path class="cls-12" d="M89.27,45.5v0.93l-2.05.16V45.5a0.09,0.09,0,0,1,.09-0.09h1.87A0.09,0.09,0,0,1,89.27,45.5Z"/><path class="cls-12" d="M94,46.06L92,46.22l0.72-.78a0.09,0.09,0,0,1,.07,0H93Z"/><path class="cls-13" d="M93.47,52.06l-0.63,1.86-0.62-.21L91,52l1.6-1.23,0.81,1.15Z"/><polygon class="cls-9" points="89.27 46.43 89.27 47.44 87.22 46.66 87.22 46.59 89.27 46.43"/><polygon class="cls-9" points="94.11 46.7 92.39 48.62 90.46 47.89 91.99 46.22 94.05 46.06 94.11 46.7"/><path class="cls-14" d="M92.56,50.78L91,52l-0.71-1a0.09,0.09,0,0,0-.14,0l-0.74.82L87.22,47V46.66l2.05,0.78v1.51a0.09,0.09,0,0,0,.16.06l1-1.12,1.93,0.73-0.72.8a0.09,0.09,0,0,0,0,.11Z"/><polygon class="cls-15" points="92.84 53.92 92.69 54.33 92.22 53.71 92.84 53.92"/><path class="cls-16" d="M89.38,51.87L89.29,52a0.09,0.09,0,0,0,0,.06v0.39l-2.05-1.74V47Z"/><path class="cls-10" d="M86.5,54.47a0.09,0.09,0,0,1-.08.13h-0.3l0.36-.17Z"/><path class="cls-10" d="M89.27,53.14v1.36a0.09,0.09,0,0,1-.09.09H87.31a0.09,0.09,0,0,1-.09-0.09V54.09Z"/><path class="cls-9" d="M86.48,54.43l-0.36.17H84.43a0.09,0.09,0,0,1-.08-0.06l0-.09h0l0.86-3.06Z"/><polygon class="cls-9" points="89.27 52.42 89.27 53.14 87.22 54.09 87.22 50.68 89.27 52.42"/><path class="cls-17" d="M85.17,51.4l-0.86,3.06-0.77-1.79a0.09,0.09,0,0,0-.08-0.06H79.72a0.09,0.09,0,0,0-.08.06l-0.11.27-1.74-1,0-.09,3.3-1H82.6a0.09,0.09,0,0,0,.08-0.13l-0.13-.31,1.92-.59Z"/><path class="cls-18" d="M81.13,50.81l-3.3,1,0,0,2.89-1.64-0.24.55a0.09,0.09,0,0,0,.08.13h0.56Z"/><polygon class="cls-18" points="84.47 49.79 82.55 50.38 82.11 49.35 83.86 48.36 84.47 49.79"/><polygon class="cls-12" points="79.52 52.93 78.83 54.54 78.83 54.55 77.75 51.98 77.75 51.98 77.79 51.91 79.52 52.93"/><path class="cls-19" d="M83.86,48.36l-1.74,1-0.44-1a0.09,0.09,0,0,0-.17,0l-0.78,1.8-2.89,1.64L78.16,51h0l3.19-5.63h1.17a0.09,0.09,0,0,1,.08.06Z"/><path class="cls-20" d="M76.73,48a4.55,4.55,0,0,1,.36,1.43Z"/><path class="cls-20" d="M81.35,45.41L78.16,51l2.41-5.57a0.09,0.09,0,0,1,.08-0.06h0.7Z"/><path class="cls-21" d="M77.11,49.94a4.83,4.83,0,0,1-.32,1.78l-2.12-.31A3.08,3.08,0,0,0,75,49.95a3,3,0,0,0-.71-2l0.83-1.88a4.77,4.77,0,0,1,.58.49,4.53,4.53,0,0,1,1,1.44l0.36,1.43h0C77.1,49.6,77.11,49.77,77.11,49.94Z"/><path class="cls-22" d="M74.76,52.6l1.85-.47a4.61,4.61,0,0,1-.89,1.19Z"/><path class="cls-22" d="M78.83,54.55a0.09,0.09,0,0,1-.08.05H77.41l-0.59-.45L77.75,52Z"/><path class="cls-18" d="M74.76,52.6l1,0.73h0a4.91,4.91,0,0,1-.5.43Z"/><path class="cls-18" d="M77.41,54.6H76.76a0.09,0.09,0,0,1-.08-0.13l0.14-.32Z"/><path class="cls-20" d="M76.79,51.72a3.93,3.93,0,0,1-.18.41l-1.85.47-0.61-.47L74.23,52a3,3,0,0,0,.44-0.63Z"/><path class="cls-22" d="M75.21,53.76a4.67,4.67,0,0,1-2.59.92l2.14-2.08Z"/><path class="cls-23" d="M75.14,46.07l-0.83,1.88-0.08-.09A2.52,2.52,0,0,0,72.29,47a2.78,2.78,0,0,0-.59.06L71.19,45.3a5.28,5.28,0,0,1,1.09-.11A4.76,4.76,0,0,1,75.14,46.07Z"/><path class="cls-24" d="M74.76,52.6l-2.14,2.08H72.28a4.8,4.8,0,0,1-2.69-.76l0.24-1.29h1.27a2.69,2.69,0,0,0,2.4,0h1.25Z"/><path class="cls-25" d="M71.7,47a2.53,2.53,0,0,0-1.35.8,3,3,0,0,0-.79,2l-2-.78,0,0,0.07-.1,2-3a4.52,4.52,0,0,1,1.64-.69h0Z"/><path class="cls-26" d="M70.59,52.27a2.52,2.52,0,0,0,.52.36H69.84Z"/><path class="cls-26" d="M74.76,52.6H73.51a2.61,2.61,0,0,0,.64-0.48Z"/><path class="cls-27" d="M70.59,52.27l-0.75.37-2.32-3.5h0l0-.06,0,0,2,0.78s0,0,0,.07A3,3,0,0,0,70.35,52,2.62,2.62,0,0,0,70.59,52.27Z"/><path class="cls-28" d="M69.55,46l-2,3a4.46,4.46,0,0,1,1.31-2.42A4.89,4.89,0,0,1,69.55,46Z"/><path class="cls-26" d="M63.93,54.6l3.51-1.16v1.07a0.09,0.09,0,0,1-.09.09H63.93Z"/><path class="cls-26" d="M69.84,52.64L69.6,53.93a4.88,4.88,0,0,1-.74-0.6l-0.26-.28Z"/><path class="cls-23" d="M67.44,52.86v0.57L63.93,54.6H62l1.81-1.83h3.51A0.09,0.09,0,0,1,67.44,52.86Z"/><path class="cls-23" d="M69.84,52.64l-1.24.41a4.54,4.54,0,0,1-1.13-3.11,5.22,5.22,0,0,1,.06-0.8Z"/><path class="cls-29" d="M63.84,52.77L62,54.6H61.56a0.09,0.09,0,0,1-.09-0.09h0l2.05-5.79v4a0.09,0.09,0,0,0,.09.09h0.22Z"/><path class="cls-30" d="M63.52,45.5V46l-0.05-.59A0.09,0.09,0,0,1,63.52,45.5Z"/><path class="cls-31" d="M60.46,46.86a0.09,0.09,0,0,1,0,.12l-1.15,1.31a0.09,0.09,0,0,1-.13,0,3.06,3.06,0,0,0-1.55-1l-0.45-2A4.83,4.83,0,0,1,60.46,46.86Z"/><path class="cls-31" d="M62.4,45.41l-0.92.94V45.5a0.09,0.09,0,0,1,.09-0.09H62.4Z"/><path class="cls-32" d="M63.52,46v2.21l-2.05.57V46.35l0.92-.94h1.07Z"/><path class="cls-33" d="M60.4,52.88a0.09,0.09,0,0,1,0,.13c-0.13.14-.25,0.27-0.38,0.39l-0.88-1.76a0.09,0.09,0,0,1,.08,0Z"/><polygon class="cls-33" points="63.52 48.22 63.52 48.7 61.47 54.5 61.47 48.79 63.52 48.22"/><path class="cls-28" d="M60,53.39a4.77,4.77,0,0,1-2.14,1.18L58,52.51a3.14,3.14,0,0,0,1.08-.84l0.05,0Z"/><path class="cls-34" d="M58,52.51l-0.12,2.07-0.42.08h0l-2.81-.37h0l-0.19-.09,1.3-1.57a2.68,2.68,0,0,0,.93.16A3.13,3.13,0,0,0,58,52.51Z"/><path class="cls-35" d="M55.75,52.63l-1.3,1.57-0.25-.14h0l-1.53-1.43h0a4.28,4.28,0,0,1-.46-0.9l2-.68a2.51,2.51,0,0,0,.6,1A2.61,2.61,0,0,0,55.75,52.63Z"/><polygon class="cls-36" points="51.34 46.35 51.99 46.15 51.76 46.56 51.34 46.35"/><path class="cls-36" d="M57.63,47.26a3,3,0,0,0-.81-0.11,2.82,2.82,0,0,0-2,.76L54.73,48l-1.89-.93h0a4.93,4.93,0,0,1,.46-0.52,4.72,4.72,0,0,1,3.43-1.37l0.45,0Z"/><polygon class="cls-37" points="51.34 46.35 51.76 46.56 51.41 47.17 51.34 46.35"/><path class="cls-37" d="M54,49.95a3.26,3.26,0,0,0,.18,1.1l-2,.68A5,5,0,0,1,51.9,50a4.59,4.59,0,0,1,.94-2.89L54.73,48A2.66,2.66,0,0,0,54,49.95Z"/><polygon class="cls-38" points="54.64 54.28 54.64 54.28 54.64 54.28 54.64 54.28"/><path class="cls-38" d="M57.46,54.65a4.75,4.75,0,0,1-.68,0,5.25,5.25,0,0,1-2.13-.42Z"/><path class="cls-39" d="M52.34,45.54L52,46.15l-0.66.2L51,45.41h1.26A0.09,0.09,0,0,1,52.34,45.54Z"/><polygon class="cls-40" points="49.24 53.49 49.24 53.73 48.77 53.43 49.24 53.49"/><path class="cls-34" d="M49.24,53.73v0.77a0.09,0.09,0,0,1-.09.09H48.71l0.06-1.17Z"/><polygon class="cls-41" points="48.77 53.43 49.24 53.19 49.24 53.49 48.77 53.43"/><path class="cls-41" d="M54.2,54.06a4.65,4.65,0,0,1-.92-0.7,4.54,4.54,0,0,1-.61-0.73Z"/><polygon class="cls-42" points="51.41 47.17 49.7 50.16 48.03 48.83 48.17 48.73 48.25 48.67 48.34 48.6 48.34 48.59 48.34 48.59 51.34 46.35 51.41 47.17"/><path class="cls-43" d="M49.7,50.16l-0.45.79a0.09,0.09,0,0,0,0,0v2.2l-0.46.24L48,48.83Z"/><path class="cls-44" d="M48.13,48.69l0,0L48,48.83l0.07-.19Z"/><path class="cls-44" d="M51.34,46.35l-3,2.24,1.83-3.14a0.09,0.09,0,0,1,.08,0H51Z"/><polygon class="cls-45" points="48.77 53.43 48.71 54.6 47.29 54.6 48.77 53.43"/><path class="cls-46" d="M43.31,45.5v0.63l-1.25-.72h1.16A0.09,0.09,0,0,1,43.31,45.5Z"/><path class="cls-46" d="M48.06,48.56l0,0.27L45,47.07l-0.87-1.53a0.09,0.09,0,0,1,.08-0.13h2a0.09,0.09,0,0,1,.08,0Z"/><polygon class="cls-47" points="48.1 48.64 48.03 48.83 48.06 48.56 48.1 48.64"/><path class="cls-37" d="M48.77,53.43L47.29,54.6h0a0.09,0.09,0,0,1-.09-0.09v-0.7Z"/><path class="cls-48" d="M47.19,52.59V51a0.09,0.09,0,0,0,0,0l-0.64-1.11,1.49-1,0.74,4.59Z"/><path class="cls-42" d="M42.94,54.6l0.51-1.11v1a0.09,0.09,0,0,1-.09.09H42.94Z"/><polygon class="cls-42" points="48.77 53.43 47.19 53.81 47.19 52.59 48.77 53.43"/><path class="cls-49" d="M43.31,46.12v1a0.09,0.09,0,0,1-.09.09H42.35l-1-1.83h0.7Z"/><polygon class="cls-49" points="48.03 48.83 46.54 49.83 44.96 47.07 48.03 48.83"/><polygon class="cls-50" points="42.35 47.23 41.44 47.23 40.08 45.48 40.19 45.41 41.35 45.41 42.35 47.23"/><path class="cls-51" d="M43.45,52.87v0.62L42.94,54.6h-0.7L36.9,52l1.84-.2v0.87a0.09,0.09,0,0,0,.09.09h4.54A0.09,0.09,0,0,1,43.45,52.87Z"/><polygon class="cls-52" points="41.44 47.23 39.23 47.23 40.08 45.48 41.44 47.23"/><path class="cls-52" d="M42.85,49.22v1.57a0.09,0.09,0,0,1-.09.09H38.82a0.09,0.09,0,0,0-.09.09v0.85L36.9,52l1.84-3.77V49a0.09,0.09,0,0,0,.09.09h3.94A0.09,0.09,0,0,1,42.85,49.22Z"/><polygon class="cls-53" points="42.24 54.6 37.71 54.6 36.9 52.02 42.24 54.6"/><path class="cls-54" d="M40.08,45.48l-0.85,1.75H38.82a0.09,0.09,0,0,0-.09.09v0.93L36.9,52l-0.22-.35v-4.6Z"/><path class="cls-55" d="M35.67,45.56L34.34,47l-0.25-1.63H35.6A0.09,0.09,0,0,1,35.67,45.56Z"/><path class="cls-55" d="M40.08,45.48l-3.4,1.59V45.5a0.09,0.09,0,0,1,.09-0.09H39.6Z"/><path class="cls-56" d="M34.77,53.15l0.85,1.2-2.08-.54Z"/><path class="cls-56" d="M37.71,54.6H36.77a0.09,0.09,0,0,1-.09-0.09V52.13L36.9,52Z"/><path class="cls-53" d="M35.63,54.6H33.78l-0.24-.8,2.08,0.54,0.08,0.11A0.09,0.09,0,0,1,35.63,54.6Z"/><path class="cls-57" d="M33.9,51.92l0.87,1.23-1.23.65,0.32-1.92Z"/><polygon class="cls-57" points="36.9 52.02 36.68 52.13 36.68 51.67 36.9 52.02"/><path class="cls-58" d="M33.87,51.88L33.54,53.8l-1.47-1-1.3-1.75a0.09,0.09,0,0,0-.14,0l-0.43.48-2.33-1.58L33,48.51l-0.82.91a0.09,0.09,0,0,0,0,.11Z"/><path class="cls-47" d="M33.78,54.6H33.46a0.09,0.09,0,0,1-.07,0L33,54.06l0.53-.26Z"/><polygon class="cls-59" points="28.79 45.73 29.79 45.49 29.79 46.15 28.79 45.73"/><path class="cls-59" d="M34.34,47l-0.65.72L31.82,47l1.42-1.55a0.09,0.09,0,0,1,.07,0h0.79Z"/><path class="cls-60" d="M33.69,47.75L33,48.5h0l-5.14,1.44,0.91-4.22,1,0.42v2.8A0.09,0.09,0,0,0,30,49l1.87-2Z"/><path class="cls-61" d="M27.87,49.95l2.33,1.58L29.82,52a0.09,0.09,0,0,0,0,.06v2.48a0.09,0.09,0,0,1-.09.09h0Z"/><polygon class="cls-61" points="33.55 53.8 33.01 54.06 32.08 52.8 33.55 53.8"/><polygon class="cls-62" points="24.98 50.36 26.86 50.09 26.86 52.28 24.98 50.36"/><polygon class="cls-62" points="29.68 54.6 29.14 54.6 27.74 53.17 27.74 49.97 27.88 49.95 29.68 54.6"/><path class="cls-61" d="M25,50.36l1.88,1.92v2.13a0.19,0.19,0,0,1-.19.19H24.48Z"/><path class="cls-61" d="M29.14,54.6H27.83a0.09,0.09,0,0,1-.09-0.09V53.17Z"/><polygon class="cls-63" points="24.98 50.36 24.48 54.6 21.85 54.6 21.05 52.68 24.98 50.36"/><polygon class="cls-64" points="24.98 50.36 26.86 48.07 26.86 50.09 24.98 50.36"/><polygon class="cls-64" points="28.79 45.73 27.88 49.95 27.74 49.97 27.74 47 28.79 45.73"/><path class="cls-65" d="M26.86,45.59v2.48L25,50.36l-1.42-5h3.11A0.19,0.19,0,0,1,26.86,45.59Z"/><polygon class="cls-65" points="28.79 45.73 27.74 47 27.74 45.51 28.79 45.73"/><polygon class="cls-58" points="21.85 54.6 20.46 54.6 20.09 54.09 21.05 52.68 21.85 54.6"/><polygon class="cls-66" points="24.98 50.36 19.76 48.16 22.51 45.4 23.56 45.4 24.98 50.36"/><path class="cls-67" d="M19.76,48.16L21,52.68,25,50.36Z"/><polygon class="cls-50" points="20.46 54.6 20.08 54.6 20.09 54.09 20.46 54.6"/><polygon class="cls-68" points="22.51 45.4 19.76 48.16 19.27 45.69 20.33 45.4 22.51 45.4"/><path class="cls-69" d="M19.76,48.16l-6.33,1.46,6.66,4.47Z"/><path class="cls-67" d="M19.76,48.16l0.33,5.93,1-1.41Z"/><path class="cls-68" d="M19.27,45.69l-5.84,3.93,6.33-1.46Z"/><polygon class="cls-70" points="13.43 49.62 10.69 54.6 9.13 54.6 7.97 49.53 13.43 49.62"/><path class="cls-71" d="M10.62,45.4L8,49.54,7.29,45.64l0.09-.16h0a0.17,0.17,0,0,1,.15-0.08h3.08Z"/><path class="cls-70" d="M9.13,54.6H7.54a0.17,0.17,0,0,1-.15-0.09L5.11,50.57l2.86-1Z"/><polygon class="cls-72" points="7.97 49.53 6.12 47.67 7.29 45.64 7.97 49.53"/><polygon class="cls-73" points="16.32 45.4 14.5 45.4 11.7 45.4 13.43 49.62 19.27 45.69 17.51 45.4 16.32 45.4"/><polygon class="cls-73" points="10.98 45.4 10.62 45.4 7.97 49.53 13.43 49.62 11.7 45.4 10.98 45.4"/><polygon class="cls-74" points="18.82 54.6 19.84 54.6 20.08 54.6 20.09 54.09 18.82 54.6"/><polygon class="cls-67" points="20.09 54.09 13.43 49.62 14.63 54.6 16.32 54.6 18.82 54.6 20.09 54.09"/><polygon class="cls-75" points="10.69 54.6 10.98 54.6 14.5 54.6 14.63 54.6 13.43 49.62 10.69 54.6"/><polygon class="cls-62" points="40.19 45.41 40.08 45.48 40.03 45.41 40.19 45.41"/><polygon class="cls-76" points="40.08 45.48 39.6 45.41 40.03 45.41 40.08 45.48"/><path class="cls-75" d="M29.79,45.49l-1,.23,0.28-.32H29.7A0.09,0.09,0,0,1,29.79,45.49Z"/><polygon class="cls-77" points="29.06 45.41 28.79 45.73 28.73 45.41 29.06 45.41"/><path class="cls-68" d="M28.79,45.73l-1-.22h0a0.09,0.09,0,0,1,.09-0.09h0.9Z"/><polygon class="cls-78" points="19.29 45.4 19.27 45.69 20.33 45.4 19.84 45.4 19.29 45.4"/><polygon class="cls-79" points="17.51 45.4 19.27 45.69 19.11 45.4 17.51 45.4"/><polygon class="cls-71" points="19.11 45.4 19.27 45.69 19.29 45.4 19.11 45.4"/><path class="cls-80" d="M14.48,45.47l-2.57,4.46a0.15,0.15,0,0,0,0,.07H10.09l3.53-6.12,0.05,0.05h0l0.8,1.39A0.15,0.15,0,0,1,14.48,45.47Z"/><path class="cls-81" d="M14.48,54.69l-0.8,1.38-0.05.05L10.09,50h1.8a0.14,0.14,0,0,0,0,.07h0l2.57,4.45A0.15,0.15,0,0,1,14.48,54.69Z"/><path class="cls-82" d="M13.63,43.89L10.09,50h0L9.21,51.54,8.36,50.07a0.14,0.14,0,0,1,0-.07,0.15,0.15,0,0,1,0-.07l0.86-1.48,2.6-4.5A0.15,0.15,0,0,1,12,43.87h1.6Z"/><path class="cls-80" d="M13.63,56.12l-0.08,0H12a0.15,0.15,0,0,1-.13-0.08L9.44,51.95l-0.24-.41L10.09,50Z"/><path class="cls-82" d="M20.73,50l-3.53,6.12-0.05-.05h0l-0.8-1.39a0.15,0.15,0,0,1,0-.14l2.57-4.46a0.15,0.15,0,0,0,0-.08h1.8Z"/><path class="cls-80" d="M22.48,50a0.15,0.15,0,0,1,0,.08l-3.46,6a0.15,0.15,0,0,1-.13.07h-1.6l-0.08,0L20.73,50l0.89-1.53,0.84,1.46A0.15,0.15,0,0,1,22.48,50Z"/><path class="cls-80" d="M20.73,50h-1.8a0.15,0.15,0,0,0,0-.08l-2.57-4.45a0.15,0.15,0,0,1,0-.15l0.8-1.39,0.05-.05Z"/><path class="cls-81" d="M21.61,48.47h0L20.73,50l-3.53-6.12,0.08,0h1.6a0.15,0.15,0,0,1,.13.07Z"/></svg>
\ No newline at end of file
misc/logo/keycloak_logo_200px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_logo_200px.svg b/misc/logo/keycloak_logo_200px.svg
index 9eeb729..af4b1da 100644
--- a/misc/logo/keycloak_logo_200px.svg
+++ b/misc/logo/keycloak_logo_200px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 200 200"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M193.75,109.56h-4.51a0.19,0.19,0,0,1-.15-0.08l-0.35-.48-1-1.29-2.63-3.54-1.47-2a0.19,0.19,0,0,0-.29,0l-1.54,1.71-0.17.2a0.18,0.18,0,0,0,0,.12v5.16a0.19,0.19,0,0,1-.19.19h-3.89a0.19,0.19,0,0,1-.19-0.19V90.64a0.19,0.19,0,0,1,.19-0.19h3.89a0.19,0.19,0,0,1,.19.19v7.18a0.19,0.19,0,0,0,.32.13l2.15-2.33,3.19-3.47,1.5-1.63a0.19,0.19,0,0,1,.14-0.06h4.77a0.19,0.19,0,0,1,.19.19,0.21,0.21,0,0,1,0,.12l-2.15,2.39-3.58,4-1.49,1.65a0.18,0.18,0,0,0,0,.23l1.86,2.6,1.69,2.38,0.21,0.29,1.28,1.79L193,108l0.93,1.3A0.19,0.19,0,0,1,193.75,109.56Zm-17.89-.26a0.19,0.19,0,0,1-.17.26h-4.13a0.18,0.18,0,0,1-.17-0.11l-0.08-.18h0l-1.6-3.71a0.18,0.18,0,0,0-.17-0.11h-7.76a0.19,0.19,0,0,0-.17.11l-0.24.55-1.44,3.35h0a0.19,0.19,0,0,1-.17.11h-4.13a0.19,0.19,0,0,1-.17-0.26l0.29-.66,1.95-4.51h0l0.07-.16,0.08-.19,0-.09,0.65-1.5h0l5-11.59a0.19,0.19,0,0,1,.17-0.11h3.88a0.18,0.18,0,0,1,.17.11l2.6,6,1.29,3,1.44,3.33,2.73,6.31Zm-7.93-7.87-0.27-.64-0.91-2.14-0.91-2.11a0.19,0.19,0,0,0-.35,0l-1.62,3.75-0.5,1.14a0.19,0.19,0,0,0,.17.26h4.22A0.19,0.19,0,0,0,167.94,101.42Zm-12.25,2.15a8.18,8.18,0,0,1-.38.85,9.59,9.59,0,0,1-1.85,2.48h0a10.2,10.2,0,0,1-1,.9,9.7,9.7,0,0,1-5.39,1.91l-0.7,0a10,10,0,0,1-5.59-1.58,10.15,10.15,0,0,1-1.54-1.25c-0.19-.19-0.37-0.38-0.54-0.57a9.44,9.44,0,0,1-2.35-6.46,10.84,10.84,0,0,1,.12-1.66h0l-0.09-.13,0.14-.21a9.26,9.26,0,0,1,2.72-5,10.17,10.17,0,0,1,1.44-1.18A9.39,9.39,0,0,1,144,90.24h0a11,11,0,0,1,2.27-.23,9.81,9.81,0,0,1,7.13,2.83,9.35,9.35,0,0,1,2.85,6h0c0,0.34,0,.7,0,1.05A10,10,0,0,1,155.69,103.58ZM152,99.9a6.26,6.26,0,0,0-1.47-4.16l-0.17-.2a5.24,5.24,0,0,0-4-1.8,5.77,5.77,0,0,0-1.23.13,5.26,5.26,0,0,0-2.8,1.67,6.21,6.21,0,0,0-1.64,4.21c0,0.05,0,.1,0,0.15a6.2,6.2,0,0,0,1.64,4.35,5.44,5.44,0,0,0,.5.48,5.24,5.24,0,0,0,1.08.74,5.59,5.59,0,0,0,5,0,5.43,5.43,0,0,0,1.33-1l0.17-.17a6.2,6.2,0,0,0,.92-1.31A6.39,6.39,0,0,0,152,99.9Zm-15.94,5.86h-7.77a0.19,0.19,0,0,1-.19-0.18V90.64a0.18,0.18,0,0,0-.11-0.17l-0.08,0H124a0.19,0.19,0,0,0-.19.19v18.73a0.19,0.19,0,0,0,.19.19h12a0.19,0.19,0,0,0,.19-0.19v-3.43A0.19,0.19,0,0,0,136.06,105.76Zm-21.14-15.7c-0.31,0-.62,0-0.94,0a9.81,9.81,0,0,0-7.12,2.84,10.25,10.25,0,0,0-1,1.09h0a9.55,9.55,0,0,0-1.95,6,10.29,10.29,0,0,0,.62,3.64,8.89,8.89,0,0,0,1,1.87h0a9.43,9.43,0,0,0,1.27,1.52,9.67,9.67,0,0,0,1.91,1.45h0l0.52,0.28,0.39,0.18h0a10.9,10.9,0,0,0,4.43.87,9.88,9.88,0,0,0,1.42-.1h0c0.3,0,.59-0.1.88-0.17a9.91,9.91,0,0,0,4.45-2.46c0.27-.25.54-0.52,0.8-0.8a0.19,0.19,0,0,0,0-.26l-2.46-2.54a0.18,0.18,0,0,0-.17-0.05,0.2,0.2,0,0,0-.11.07,6.26,6.26,0,0,1-5,2.33,5.57,5.57,0,0,1-1.93-.33,5.42,5.42,0,0,1-2-1.29,5.22,5.22,0,0,1-1.25-2,6.78,6.78,0,0,1-.37-2.29,5.53,5.53,0,0,1,1.48-4l0.23-.22a5.86,5.86,0,0,1,4.11-1.57,6.17,6.17,0,0,1,4.89,2.35,0.18,0.18,0,0,0,.28,0l2.4-2.72a0.19,0.19,0,0,0,0-.25A10,10,0,0,0,114.93,90.05ZM104.15,92l0.72-1.26a0.19,0.19,0,0,0-.16-0.28h-4.19a0.19,0.19,0,0,0-.16.09l-3.8,6.53h0l-0.2.15-0.15.12a0.2,0.2,0,0,1-.08-0.07l-0.06-.11L96,97l-3.75-6.46a0.19,0.19,0,0,0-.16-0.09H87.86a0.19,0.19,0,0,0-.16.28l1.82,3.18,3.29,5.75L94.13,102a0.19,0.19,0,0,1,0,.09v7.31a0.19,0.19,0,0,0,.19.19h3.89a0.19,0.19,0,0,0,.19-0.19v-7.31a0.19,0.19,0,0,1,0-.09l0.94-1.64,3.56-6.22,0.73-1.27,0.48-.84h0ZM86.2,105.79H76.76a0.19,0.19,0,0,1-.19-0.19V102a0.19,0.19,0,0,1,.19-0.19h8.18a0.19,0.19,0,0,0,.19-0.19V98.37a0.19,0.19,0,0,0-.19-0.19H76.76A0.19,0.19,0,0,1,76.58,98V94.44a0.19,0.19,0,0,1,.19-0.19H85.9a0.19,0.19,0,0,0,.19-0.19V90.64a0.19,0.19,0,0,0-.19-0.19H72.5a0.19,0.19,0,0,0-.19.19v18.73a0.19,0.19,0,0,0,.19.19H86.2a0.19,0.19,0,0,0,.19-0.19V106A0.19,0.19,0,0,0,86.2,105.79ZM70.12,109l-1.77-2.48L66.53,104l-0.07-.1L63,99a0.19,0.19,0,0,1,0-.23l1.7-1.89h0l1.4-1.56,1.35-1.5,2.77-3.07a0.19,0.19,0,0,0-.14-0.31H65.3a0.19,0.19,0,0,0-.14.06l-3,3.21-3.88,4.22A0.19,0.19,0,0,1,58,97.82V90.64a0.19,0.19,0,0,0-.19-0.18H53.93a0.19,0.19,0,0,0-.19.19v18.73a0.19,0.19,0,0,0,.19.19h3.89a0.19,0.19,0,0,0,.19-0.19v-5.16a0.18,0.18,0,0,1,0-.12l0.81-.91,0.9-1a0.19,0.19,0,0,1,.29,0l2.7,3.63,1.94,2.61,0.78,1a0.18,0.18,0,0,0,.15.08h4.52a0.19,0.19,0,0,0,.15-0.3Zm-18.6-18.6H11.74a0.36,0.36,0,0,0-.3.17h0l-0.2.34L8.8,95.17,6.11,99.83a0.35,0.35,0,0,0,0,.35l0.58,1,4.74,8.2a0.35,0.35,0,0,0,.31.18H51.52a0.39,0.39,0,0,0,.39-0.39V90.83A0.4,0.4,0,0,0,51.51,90.43Z"/></clipPath><linearGradient id="linear-gradient" x1="5.63" y1="100.28" x2="195.08" y2="100.28" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M44.89,90.43a0.35,0.35,0,0,1-.31-0.17L39.26,81A0.36,0.36,0,0,0,39,80.86H17.26A0.35,0.35,0,0,0,17,81L11.43,90.6h0L6.11,99.82a0.36,0.36,0,0,0,0,.35l5.32,9.22L17,119a0.35,0.35,0,0,0,.31.17H39a0.36,0.36,0,0,0,.31-0.17l5.32-9.22a0.35,0.35,0,0,1,.31-0.17h6.62a0.4,0.4,0,0,0,.4-0.4V90.83a0.4,0.4,0,0,0-.4-0.4H44.89Z"/><g class="cls-3"><rect class="cls-4" x="5.63" y="87.49" width="189.45" height="25.59"/></g><path class="cls-5" d="M12.64,99l-5.94,2.16-0.58-1a0.35,0.35,0,0,1,0-.35L8.8,95.16Z"/><path class="cls-6" d="M193.75,109.56H191.3l-2.24-1.4L193,108l0.93,1.3A0.19,0.19,0,0,1,193.75,109.56Z"/><path class="cls-6" d="M191.3,109.56h-2.06a0.19,0.19,0,0,1-.15-0.08l-0.35-.48,0.33-.85Z"/><path class="cls-7" d="M193.88,90.64a0.21,0.21,0,0,1,0,.12l-2.15,2.39-0.13-1.34Z"/><path class="cls-8" d="M193,108l-3.91.2,2.58-2.07Z"/><path class="cls-9" d="M193.88,90.64l-2.33,1.17,0.4-1.36h1.75A0.19,0.19,0,0,1,193.88,90.64Z"/><path class="cls-10" d="M191.64,106.08l-2.58,2.07,1.3-3.87Z"/><polygon class="cls-11" points="191.95 90.45 191.55 91.81 189.28 90.45 191.95 90.45"/><path class="cls-12" d="M181.62,90.64v1.93l-4.26.33V90.64a0.19,0.19,0,0,1,.19-0.19h3.89A0.19,0.19,0,0,1,181.62,90.64Z"/><path class="cls-12" d="M191.55,91.81l-4.26.33,1.5-1.63a0.19,0.19,0,0,1,.14-0.06h0.37Z"/><path class="cls-13" d="M190.36,104.29l-1.3,3.87-1.29-.44-2.63-3.54,3.32-2.56,1.69,2.38Z"/><polygon class="cls-9" points="181.62 92.57 181.62 94.67 177.36 93.06 177.36 92.9 181.62 92.57"/><polygon class="cls-9" points="191.68 93.15 188.11 97.13 184.09 95.61 187.29 92.14 191.55 91.81 191.68 93.15"/><path class="cls-14" d="M188.46,101.61l-3.32,2.56-1.47-2a0.19,0.19,0,0,0-.29,0l-1.54,1.71-4.49-10.18V93.06l4.26,1.61v3.14a0.19,0.19,0,0,0,.32.13l2.15-2.33,4,1.52-1.49,1.65a0.18,0.18,0,0,0,0,.23Z"/><polygon class="cls-15" points="189.06 108.15 188.73 109 187.77 107.71 189.06 108.15"/><path class="cls-16" d="M181.85,103.89l-0.17.2a0.18,0.18,0,0,0,0,.12V105l-4.26-3.62V93.71Z"/><path class="cls-10" d="M175.86,109.29a0.19,0.19,0,0,1-.17.26h-0.62l0.76-.35Z"/><path class="cls-10" d="M181.62,106.53v2.84a0.19,0.19,0,0,1-.19.19h-3.89a0.19,0.19,0,0,1-.19-0.19V108.5Z"/><path class="cls-9" d="M175.82,109.21l-0.76.35h-3.51a0.18,0.18,0,0,1-.17-0.11l-0.08-.18h0l1.79-6.36Z"/><polygon class="cls-9" points="181.62 105.03 181.62 106.53 177.36 108.5 177.36 101.41 181.62 105.03"/><path class="cls-17" d="M173.1,102.9l-1.79,6.36-1.6-3.71a0.18,0.18,0,0,0-.17-0.11h-7.76a0.19,0.19,0,0,0-.17.11l-0.24.55L157.76,104l0.08-.19,6.87-2.09h3.06a0.19,0.19,0,0,0,.17-0.26l-0.27-.64,4-1.22Z"/><path class="cls-18" d="M164.71,101.68l-6.87,2.09,0-.09,6-3.4-0.5,1.14a0.19,0.19,0,0,0,.17.26h1.16Z"/><polygon class="cls-18" points="171.66 99.57 167.66 100.78 166.75 98.65 170.37 96.59 171.66 99.57"/><polygon class="cls-12" points="161.36 106.09 159.93 109.44 159.92 109.45 157.69 104.12 157.69 104.12 157.75 103.96 161.36 106.09"/><path class="cls-19" d="M170.37,96.59l-3.62,2.06-0.91-2.11a0.19,0.19,0,0,0-.35,0l-1.62,3.75-6,3.4,0.65-1.5h0l6.63-11.7h2.43a0.18,0.18,0,0,1,.17.11Z"/><path class="cls-20" d="M155.55,95.84a9.45,9.45,0,0,1,.75,3Z"/><path class="cls-20" d="M165.17,90.45l-6.63,11.7,5-11.59a0.19,0.19,0,0,1,.17-0.11h1.45Z"/><path class="cls-21" d="M156.35,99.88a10,10,0,0,1-.66,3.69l-4.4-.64a6.39,6.39,0,0,0,.71-3,6.26,6.26,0,0,0-1.47-4.16l1.72-3.9a9.92,9.92,0,0,1,1.2,1,9.41,9.41,0,0,1,2.1,3l0.75,3h0C156.34,99.17,156.35,99.52,156.35,99.88Z"/><path class="cls-22" d="M151.47,105.4l3.84-1a9.59,9.59,0,0,1-1.85,2.48Z"/><path class="cls-22" d="M159.92,109.45a0.19,0.19,0,0,1-.17.11H157l-1.23-.93,1.95-4.51Z"/><path class="cls-18" d="M151.47,105.4l2,1.51h0a10.2,10.2,0,0,1-1,.9Z"/><path class="cls-18" d="M157,109.56h-1.34a0.19,0.19,0,0,1-.17-0.26l0.29-.66Z"/><path class="cls-20" d="M155.69,103.58a8.18,8.18,0,0,1-.38.85l-3.84,1-1.27-1,0.17-.17a6.2,6.2,0,0,0,.92-1.31Z"/><path class="cls-22" d="M152.41,107.81a9.7,9.7,0,0,1-5.39,1.91l4.45-4.33Z"/><path class="cls-23" d="M152.25,91.83l-1.72,3.9-0.17-.2a5.24,5.24,0,0,0-4-1.8,5.77,5.77,0,0,0-1.23.13L144,90.24a11,11,0,0,1,2.27-.23A9.9,9.9,0,0,1,152.25,91.83Z"/><path class="cls-24" d="M151.47,105.4L147,109.73l-0.7,0a10,10,0,0,1-5.59-1.58l0.5-2.68,2.65,0a5.59,5.59,0,0,0,5,0Z"/><path class="cls-25" d="M145.1,93.86a5.26,5.26,0,0,0-2.8,1.67,6.21,6.21,0,0,0-1.64,4.21l-4.24-1.62-0.1,0,0.14-.21,4.16-6.21A9.39,9.39,0,0,1,144,90.24h0Z"/><path class="cls-26" d="M142.8,104.72a5.24,5.24,0,0,0,1.08.74l-2.65,0Z"/><path class="cls-26" d="M151.47,105.4l-2.6,0a5.43,5.43,0,0,0,1.33-1Z"/><path class="cls-27" d="M142.8,104.72l-1.57.76-4.82-7.26h0l-0.09-.13,0.1,0,4.24,1.62c0,0.05,0,.1,0,0.15a6.2,6.2,0,0,0,1.64,4.35A5.44,5.44,0,0,0,142.8,104.72Z"/><path class="cls-28" d="M140.63,91.67l-4.16,6.21a9.26,9.26,0,0,1,2.72-5A10.17,10.17,0,0,1,140.63,91.67Z"/><path class="cls-26" d="M129,109.56l7.29-2.42v2.23a0.19,0.19,0,0,1-.19.19H129Z"/><path class="cls-26" d="M141.23,105.49l-0.5,2.68a10.15,10.15,0,0,1-1.54-1.25c-0.19-.19-0.37-0.38-0.54-0.57Z"/><path class="cls-23" d="M136.25,105.94v1.19L129,109.56h-4l3.75-3.8h7.3A0.19,0.19,0,0,1,136.25,105.94Z"/><path class="cls-23" d="M141.23,105.49l-2.59.86a9.44,9.44,0,0,1-2.35-6.46,10.84,10.84,0,0,1,.12-1.66Z"/><path class="cls-29" d="M128.76,105.76l-3.75,3.8h-1a0.19,0.19,0,0,1-.19-0.19v0l4.26-12v8.26a0.19,0.19,0,0,0,.19.18h0.47Z"/><path class="cls-30" d="M128.11,90.64V91.7L128,90.47A0.18,0.18,0,0,1,128.11,90.64Z"/><path class="cls-31" d="M121.75,93.47a0.19,0.19,0,0,1,0,.25l-2.4,2.72a0.18,0.18,0,0,1-.28,0,6.37,6.37,0,0,0-3.21-2.13l-0.93-4.25A10,10,0,0,1,121.75,93.47Z"/><path class="cls-31" d="M125.77,90.45l-1.92,2V90.64a0.19,0.19,0,0,1,.19-0.19h1.73Z"/><path class="cls-32" d="M128.11,91.7v4.6l-4.26,1.18V92.4l1.92-2h2.15l0.08,0Z"/><path class="cls-33" d="M121.63,106a0.19,0.19,0,0,1,0,.26c-0.26.29-.53,0.56-0.8,0.8L119,103.39a0.18,0.18,0,0,1,.17.05Z"/><polygon class="cls-33" points="128.11 96.31 128.11 97.31 123.84 109.35 123.84 97.48 128.11 96.31"/><path class="cls-28" d="M120.84,107a9.91,9.91,0,0,1-4.45,2.46l0.25-4.29a6.52,6.52,0,0,0,2.25-1.75,0.2,0.2,0,0,1,.11-0.07Z"/><path class="cls-34" d="M116.64,105.21l-0.25,4.29c-0.29.07-.58,0.13-0.88,0.17h0l-5.85-.77h0l-0.39-.18,2.7-3.27a5.57,5.57,0,0,0,1.93.33A6.51,6.51,0,0,0,116.64,105.21Z"/><path class="cls-35" d="M111.95,105.46l-2.7,3.27-0.52-.28h0l-3.17-3h0a8.89,8.89,0,0,1-1-1.87l4.14-1.41a5.22,5.22,0,0,0,1.25,2A5.42,5.42,0,0,0,111.95,105.46Z"/><polygon class="cls-36" points="102.78 92.41 104.15 92 103.66 92.84 102.78 92.41"/><path class="cls-36" d="M115.86,94.3a6.31,6.31,0,0,0-1.68-.22,5.86,5.86,0,0,0-4.11,1.57l-0.23.22-3.94-1.93h0a10.25,10.25,0,0,1,1-1.09A9.81,9.81,0,0,1,114,90c0.32,0,.63,0,0.94,0Z"/><polygon class="cls-37" points="102.78 92.41 103.66 92.84 102.94 94.11 102.78 92.41"/><path class="cls-37" d="M108.36,99.89a6.78,6.78,0,0,0,.37,2.29l-4.14,1.41a10.29,10.29,0,0,1-.62-3.64,9.55,9.55,0,0,1,1.95-6l3.94,1.93A5.53,5.53,0,0,0,108.36,99.89Z"/><polygon class="cls-38" points="109.64 108.9 109.65 108.9 109.65 108.91 109.64 108.9"/><path class="cls-38" d="M115.5,109.67a9.88,9.88,0,0,1-1.42.1,10.9,10.9,0,0,1-4.43-.87Z"/><path class="cls-39" d="M104.87,90.73L104.15,92l-1.36.42-0.69-2h2.61A0.19,0.19,0,0,1,104.87,90.73Z"/><polygon class="cls-40" points="98.42 107.26 98.42 107.76 97.45 107.12 98.42 107.26"/><path class="cls-34" d="M98.42,107.76v1.61a0.19,0.19,0,0,1-.19.19H97.32l0.13-2.44Z"/><polygon class="cls-41" points="97.45 107.12 98.42 106.63 98.42 107.26 97.45 107.12"/><path class="cls-41" d="M108.72,108.44a9.67,9.67,0,0,1-1.91-1.45,9.43,9.43,0,0,1-1.27-1.52Z"/><polygon class="cls-42" points="102.94 94.11 99.38 100.33 95.9 97.57 96.2 97.35 96.35 97.23 96.56 97.08 96.56 97.08 96.56 97.08 102.78 92.41 102.94 94.11"/><path class="cls-43" d="M99.38,100.33L98.44,102a0.19,0.19,0,0,0,0,.09v4.56l-1,.5L95.9,97.57Z"/><path class="cls-44" d="M96.12,97.28a0.2,0.2,0,0,0,.08.07l-0.3.22,0.16-.4Z"/><path class="cls-44" d="M102.78,92.41l-6.22,4.67,3.8-6.53a0.19,0.19,0,0,1,.16-0.09h1.58Z"/><polygon class="cls-45" points="97.45 107.12 97.32 109.56 94.37 109.56 97.45 107.12"/><path class="cls-46" d="M86.09,90.64v1.3l-2.6-1.49H85.9A0.19,0.19,0,0,1,86.09,90.64Z"/><path class="cls-46" d="M96,97l-0.06.57-6.39-3.67L87.7,90.73a0.19,0.19,0,0,1,.16-0.28H92a0.19,0.19,0,0,1,.16.09Z"/><polygon class="cls-47" points="96.06 97.17 95.9 97.57 95.96 97.01 96.06 97.17"/><path class="cls-37" d="M97.45,107.12l-3.08,2.44h0a0.19,0.19,0,0,1-.19-0.19v-1.45Z"/><path class="cls-48" d="M94.15,105.39v-3.33a0.19,0.19,0,0,0,0-.09L92.8,99.65l3.1-2.08,1.55,9.55Z"/><path class="cls-42" d="M85.33,109.56l1.06-2.3v2.11a0.19,0.19,0,0,1-.19.19H85.33Z"/><polygon class="cls-42" points="97.45 107.12 94.15 107.92 94.15 105.39 97.45 107.12"/><path class="cls-49" d="M86.09,91.94v2.12a0.19,0.19,0,0,1-.19.19H84.1L82,90.45H83.5Z"/><polygon class="cls-49" points="95.9 97.57 92.8 99.65 89.52 93.91 95.9 97.57"/><polygon class="cls-50" points="84.1 94.25 82.21 94.25 79.39 90.61 79.61 90.45 82.03 90.45 84.1 94.25"/><path class="cls-51" d="M86.39,106v1.29l-1.06,2.3H83.87L72.76,104.2l3.81-.41v1.81a0.19,0.19,0,0,0,.19.19H86.2A0.19,0.19,0,0,1,86.39,106Z"/><polygon class="cls-52" points="82.21 94.25 77.61 94.25 79.39 90.61 82.21 94.25"/><path class="cls-52" d="M85.13,98.37v3.26a0.19,0.19,0,0,1-.19.19H76.76a0.19,0.19,0,0,0-.19.19v1.78l-3.81.41,3.81-7.83V98a0.19,0.19,0,0,0,.19.19h8.18A0.19,0.19,0,0,1,85.13,98.37Z"/><polygon class="cls-53" points="83.87 109.56 74.45 109.56 72.76 104.2 83.87 109.56"/><path class="cls-54" d="M79.39,90.61l-1.78,3.64H76.76a0.19,0.19,0,0,0-.19.19v1.93l-3.81,7.83-0.45-.73V93.91Z"/><path class="cls-55" d="M70.21,90.76l-2.77,3.07-0.51-3.39h3.14A0.19,0.19,0,0,1,70.21,90.76Z"/><path class="cls-55" d="M79.39,90.61l-7.07,3.3V90.64a0.19,0.19,0,0,1,.19-0.19h5.88Z"/><path class="cls-56" d="M68.34,106.54L70.12,109,65.8,107.9Z"/><path class="cls-56" d="M74.45,109.56H72.5a0.19,0.19,0,0,1-.19-0.19v-4.94l0.45-.24Z"/><path class="cls-53" d="M70.13,109.56H66.29l-0.5-1.66L70.12,109l0.17,0.23A0.19,0.19,0,0,1,70.13,109.56Z"/><path class="cls-57" d="M66.53,104l1.81,2.55L65.8,107.9l0.67-4Z"/><polygon class="cls-57" points="72.76 104.2 72.31 104.43 72.31 103.46 72.76 104.2"/><path class="cls-58" d="M66.46,103.9l-0.67,4-3-2.07L60,102.2a0.19,0.19,0,0,0-.29,0l-0.9,1L54,99.89l10.69-3L63,98.78A0.19,0.19,0,0,0,63,99Z"/><path class="cls-47" d="M66.29,109.56H65.61a0.18,0.18,0,0,1-.15-0.08l-0.78-1,1.11-.54Z"/><polygon class="cls-59" points="55.91 91.12 58 90.64 58 91.99 55.91 91.12"/><path class="cls-59" d="M67.44,93.84l-1.35,1.5L62.2,93.72l3-3.21a0.19,0.19,0,0,1,.14-0.06h1.63Z"/><path class="cls-60" d="M66.1,95.33l-1.4,1.56h0L54,99.89l1.89-8.77L58,92v5.83a0.19,0.19,0,0,0,.32.13l3.88-4.22Z"/><path class="cls-61" d="M54,99.89l4.85,3.29-0.81.91a0.18,0.18,0,0,0,0,.12v5.16a0.19,0.19,0,0,1-.19.19H57.76Z"/><polygon class="cls-61" points="65.8 107.9 64.68 108.43 62.75 105.83 65.8 107.9"/><polygon class="cls-62" points="47.99 100.76 51.91 100.2 51.91 104.74 47.99 100.76"/><polygon class="cls-62" points="57.76 109.56 56.65 109.56 53.74 106.6 53.74 99.93 54.01 99.89 57.76 109.56"/><path class="cls-61" d="M48,100.76l3.92,4v4.44a0.39,0.39,0,0,1-.39.39H47Z"/><path class="cls-61" d="M56.65,109.56H53.93a0.19,0.19,0,0,1-.19-0.19V106.6Z"/><polygon class="cls-63" points="47.99 100.76 46.96 109.57 41.48 109.57 39.82 105.57 47.99 100.76"/><polygon class="cls-64" points="47.99 100.76 51.91 95.99 51.91 100.2 47.99 100.76"/><polygon class="cls-64" points="55.91 91.12 54.01 99.89 53.74 99.93 53.74 93.76 55.91 91.12"/><path class="cls-65" d="M51.91,90.83V96L48,100.76,45,90.43h6.47A0.4,0.4,0,0,1,51.91,90.83Z"/><polygon class="cls-65" points="55.91 91.12 53.74 93.76 53.74 90.66 55.91 91.12"/><polygon class="cls-58" points="41.48 109.57 38.59 109.57 37.84 108.5 39.82 105.57 41.48 109.57"/><polygon class="cls-66" points="47.99 100.76 37.15 96.17 42.85 90.43 45.04 90.43 47.99 100.76"/><path class="cls-67" d="M37.15,96.17l2.67,9.4L48,100.76Z"/><polygon class="cls-50" points="38.59 109.57 37.8 109.57 37.84 108.5 38.59 109.57"/><polygon class="cls-68" points="42.85 90.43 37.15 96.17 36.12 91.03 38.32 90.43 42.85 90.43"/><path class="cls-69" d="M37.15,96.17L24,99.21l13.85,9.29Z"/><path class="cls-67" d="M37.15,96.17l0.69,12.32,2-2.93Z"/><path class="cls-68" d="M36.12,91L24,99.21l13.16-3Z"/><polygon class="cls-70" points="23.99 99.21 18.29 109.57 15.04 109.57 12.64 99.03 23.99 99.21"/><path class="cls-71" d="M18.15,90.43L12.64,99l-1.4-8.09,0.2-.34h0a0.36,0.36,0,0,1,.3-0.17h6.41Z"/><path class="cls-70" d="M15,109.57h-3.3a0.35,0.35,0,0,1-.31-0.18l-4.74-8.2L12.64,99Z"/><polygon class="cls-72" points="12.64 99.03 8.8 95.17 11.23 90.95 12.64 99.03"/><polygon class="cls-73" points="30 90.43 26.21 90.43 20.4 90.43 23.99 99.21 36.12 91.03 32.47 90.43 30 90.43"/><polygon class="cls-73" points="18.89 90.43 18.15 90.43 12.64 99.03 23.99 99.21 20.4 90.43 18.89 90.43"/><polygon class="cls-74" points="35.2 109.57 37.32 109.57 37.8 109.57 37.84 108.5 35.2 109.57"/><polygon class="cls-67" points="37.84 108.5 23.99 99.21 26.49 109.57 30 109.57 35.2 109.57 37.84 108.5"/><polygon class="cls-75" points="18.29 109.57 18.89 109.57 26.21 109.57 26.49 109.57 23.99 99.21 18.29 109.57"/><polygon class="cls-62" points="79.61 90.45 79.39 90.61 79.28 90.45 79.61 90.45"/><polygon class="cls-76" points="79.39 90.61 78.39 90.45 79.28 90.45 79.39 90.61"/><path class="cls-75" d="M58,90.64l-2.1.49,0.57-.67h1.33A0.19,0.19,0,0,1,58,90.64Z"/><polygon class="cls-77" points="56.48 90.45 55.91 91.12 55.79 90.45 56.48 90.45"/><path class="cls-68" d="M55.9,91.12l-2.17-.46v0a0.19,0.19,0,0,1,.19-0.19h1.86Z"/><polygon class="cls-78" points="36.16 90.43 36.12 91.03 38.32 90.43 37.32 90.43 36.16 90.43"/><polygon class="cls-79" points="32.47 90.43 36.12 91.03 35.78 90.43 32.47 90.43"/><polygon class="cls-71" points="35.78 90.43 36.12 91.03 36.16 90.43 35.78 90.43"/><path class="cls-80" d="M26.17,90.59l-5.35,9.26a0.31,0.31,0,0,0,0,.15H17.05l7.34-12.72a0.29,0.29,0,0,1,.11.11h0l1.66,2.89A0.32,0.32,0,0,1,26.17,90.59Z"/><path class="cls-81" d="M26.17,109.75l-1.66,2.88a0.32,0.32,0,0,1-.11.11L17,100h3.73a0.28,0.28,0,0,0,0,.14v0l5.34,9.26A0.31,0.31,0,0,1,26.17,109.75Z"/><path class="cls-82" d="M24.39,87.29L17.05,100h0l-1.84,3.19-1.76-3a0.28,0.28,0,0,1,0-.14,0.31,0.31,0,0,1,0-.15l1.78-3.08,5.41-9.36a0.31,0.31,0,0,1,.27-0.16h3.32A0.33,0.33,0,0,1,24.39,87.29Z"/><path class="cls-80" d="M24.39,112.73a0.33,0.33,0,0,1-.16,0H20.92a0.31,0.31,0,0,1-.27-0.16l-4.94-8.56-0.49-.85L17,100Z"/><path class="cls-82" d="M39.15,100l-7.35,12.72a0.34,0.34,0,0,1-.11-0.11h0L30,109.73a0.32,0.32,0,0,1,0-.3l5.34-9.26a0.31,0.31,0,0,0,0-.16h3.73Z"/><path class="cls-80" d="M42.79,100a0.31,0.31,0,0,1,0,.16l-7.19,12.45a0.31,0.31,0,0,1-.27.15H32a0.34,0.34,0,0,1-.16,0L39.15,100,41,96.82l1.75,3A0.31,0.31,0,0,1,42.79,100Z"/><path class="cls-80" d="M39.15,100H35.42a0.31,0.31,0,0,0,0-.16L30,90.6a0.31,0.31,0,0,1,0-.32L31.7,87.4a0.34,0.34,0,0,1,.11-0.11Z"/><path class="cls-81" d="M41,96.82h0L39.15,100,31.81,87.29a0.34,0.34,0,0,1,.16,0h3.32a0.31,0.31,0,0,1,.27.15Z"/></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M193.75,109.56h-4.51a0.19,0.19,0,0,1-.15-0.08l-0.35-.48-1-1.29-2.63-3.54-1.47-2a0.19,0.19,0,0,0-.29,0l-1.54,1.71-0.17.2a0.18,0.18,0,0,0,0,.12v5.16a0.19,0.19,0,0,1-.19.19h-3.89a0.19,0.19,0,0,1-.19-0.19V90.64a0.19,0.19,0,0,1,.19-0.19h3.89a0.19,0.19,0,0,1,.19.19v7.18a0.19,0.19,0,0,0,.32.13l2.15-2.33,3.19-3.47,1.5-1.63a0.19,0.19,0,0,1,.14-0.06h4.77a0.19,0.19,0,0,1,.19.19,0.21,0.21,0,0,1,0,.12l-2.15,2.39-3.58,4-1.49,1.65a0.18,0.18,0,0,0,0,.23l1.86,2.6,1.69,2.38,0.21,0.29,1.28,1.79L193,108l0.93,1.3A0.19,0.19,0,0,1,193.75,109.56Zm-17.89-.26a0.19,0.19,0,0,1-.17.26h-4.13a0.18,0.18,0,0,1-.17-0.11l-0.08-.18h0l-1.6-3.71a0.18,0.18,0,0,0-.17-0.11h-7.76a0.19,0.19,0,0,0-.17.11l-0.24.55-1.44,3.35h0a0.19,0.19,0,0,1-.17.11h-4.13a0.19,0.19,0,0,1-.17-0.26l0.29-.66,1.95-4.51h0l0.07-.16,0.08-.19,0-.09,0.65-1.5h0l5-11.59a0.19,0.19,0,0,1,.17-0.11h3.88a0.18,0.18,0,0,1,.17.11l2.6,6,1.29,3,1.44,3.33,2.73,6.31Zm-7.93-7.87-0.27-.64-0.91-2.14-0.91-2.11a0.19,0.19,0,0,0-.35,0l-1.62,3.75-0.5,1.14a0.19,0.19,0,0,0,.17.26h4.22A0.19,0.19,0,0,0,167.94,101.42Zm-12.25,2.15a8.18,8.18,0,0,1-.38.85,9.59,9.59,0,0,1-1.85,2.48h0a10.2,10.2,0,0,1-1,.9,9.7,9.7,0,0,1-5.39,1.91l-0.7,0a10,10,0,0,1-5.59-1.58,10.15,10.15,0,0,1-1.54-1.25c-0.19-.19-0.37-0.38-0.54-0.57a9.44,9.44,0,0,1-2.35-6.46,10.84,10.84,0,0,1,.12-1.66h0l-0.09-.13,0.14-.21a9.26,9.26,0,0,1,2.72-5,10.17,10.17,0,0,1,1.44-1.18A9.39,9.39,0,0,1,144,90.24h0a11,11,0,0,1,2.27-.23,9.81,9.81,0,0,1,7.13,2.83,9.35,9.35,0,0,1,2.85,6h0c0,0.34,0,.7,0,1.05A10,10,0,0,1,155.69,103.58ZM152,99.9a6.26,6.26,0,0,0-1.47-4.16l-0.17-.2a5.24,5.24,0,0,0-4-1.8,5.77,5.77,0,0,0-1.23.13,5.26,5.26,0,0,0-2.8,1.67,6.21,6.21,0,0,0-1.64,4.21c0,0.05,0,.1,0,0.15a6.2,6.2,0,0,0,1.64,4.35,5.44,5.44,0,0,0,.5.48,5.24,5.24,0,0,0,1.08.74,5.59,5.59,0,0,0,5,0,5.43,5.43,0,0,0,1.33-1l0.17-.17a6.2,6.2,0,0,0,.92-1.31A6.39,6.39,0,0,0,152,99.9Zm-15.94,5.86h-7.77a0.19,0.19,0,0,1-.19-0.18V90.64a0.18,0.18,0,0,0-.11-0.17l-0.08,0H124a0.19,0.19,0,0,0-.19.19v18.73a0.19,0.19,0,0,0,.19.19h12a0.19,0.19,0,0,0,.19-0.19v-3.43A0.19,0.19,0,0,0,136.06,105.76Zm-21.14-15.7c-0.31,0-.62,0-0.94,0a9.81,9.81,0,0,0-7.12,2.84,10.25,10.25,0,0,0-1,1.09h0a9.55,9.55,0,0,0-1.95,6,10.29,10.29,0,0,0,.62,3.64,8.89,8.89,0,0,0,1,1.87h0a9.43,9.43,0,0,0,1.27,1.52,9.67,9.67,0,0,0,1.91,1.45h0l0.52,0.28,0.39,0.18h0a10.9,10.9,0,0,0,4.43.87,9.88,9.88,0,0,0,1.42-.1h0c0.3,0,.59-0.1.88-0.17a9.91,9.91,0,0,0,4.45-2.46c0.27-.25.54-0.52,0.8-0.8a0.19,0.19,0,0,0,0-.26l-2.46-2.54a0.18,0.18,0,0,0-.17-0.05,0.2,0.2,0,0,0-.11.07,6.26,6.26,0,0,1-5,2.33,5.57,5.57,0,0,1-1.93-.33,5.42,5.42,0,0,1-2-1.29,5.22,5.22,0,0,1-1.25-2,6.78,6.78,0,0,1-.37-2.29,5.53,5.53,0,0,1,1.48-4l0.23-.22a5.86,5.86,0,0,1,4.11-1.57,6.17,6.17,0,0,1,4.89,2.35,0.18,0.18,0,0,0,.28,0l2.4-2.72a0.19,0.19,0,0,0,0-.25A10,10,0,0,0,114.93,90.05ZM104.15,92l0.72-1.26a0.19,0.19,0,0,0-.16-0.28h-4.19a0.19,0.19,0,0,0-.16.09l-3.8,6.53h0l-0.2.15-0.15.12a0.2,0.2,0,0,1-.08-0.07l-0.06-.11L96,97l-3.75-6.46a0.19,0.19,0,0,0-.16-0.09H87.86a0.19,0.19,0,0,0-.16.28l1.82,3.18,3.29,5.75L94.13,102a0.19,0.19,0,0,1,0,.09v7.31a0.19,0.19,0,0,0,.19.19h3.89a0.19,0.19,0,0,0,.19-0.19v-7.31a0.19,0.19,0,0,1,0-.09l0.94-1.64,3.56-6.22,0.73-1.27,0.48-.84h0ZM86.2,105.79H76.76a0.19,0.19,0,0,1-.19-0.19V102a0.19,0.19,0,0,1,.19-0.19h8.18a0.19,0.19,0,0,0,.19-0.19V98.37a0.19,0.19,0,0,0-.19-0.19H76.76A0.19,0.19,0,0,1,76.58,98V94.44a0.19,0.19,0,0,1,.19-0.19H85.9a0.19,0.19,0,0,0,.19-0.19V90.64a0.19,0.19,0,0,0-.19-0.19H72.5a0.19,0.19,0,0,0-.19.19v18.73a0.19,0.19,0,0,0,.19.19H86.2a0.19,0.19,0,0,0,.19-0.19V106A0.19,0.19,0,0,0,86.2,105.79ZM70.12,109l-1.77-2.48L66.53,104l-0.07-.1L63,99a0.19,0.19,0,0,1,0-.23l1.7-1.89h0l1.4-1.56,1.35-1.5,2.77-3.07a0.19,0.19,0,0,0-.14-0.31H65.3a0.19,0.19,0,0,0-.14.06l-3,3.21-3.88,4.22A0.19,0.19,0,0,1,58,97.82V90.64a0.19,0.19,0,0,0-.19-0.18H53.93a0.19,0.19,0,0,0-.19.19v18.73a0.19,0.19,0,0,0,.19.19h3.89a0.19,0.19,0,0,0,.19-0.19v-5.16a0.18,0.18,0,0,1,0-.12l0.81-.91,0.9-1a0.19,0.19,0,0,1,.29,0l2.7,3.63,1.94,2.61,0.78,1a0.18,0.18,0,0,0,.15.08h4.52a0.19,0.19,0,0,0,.15-0.3Zm-18.6-18.6H11.74a0.36,0.36,0,0,0-.3.17h0l-0.2.34L8.8,95.17,6.11,99.83a0.35,0.35,0,0,0,0,.35l0.58,1,4.74,8.2a0.35,0.35,0,0,0,.31.18H51.52a0.39,0.39,0,0,0,.39-0.39V90.83A0.4,0.4,0,0,0,51.51,90.43Z"/></clipPath><linearGradient id="linear-gradient" x1="5.63" y1="100.28" x2="195.08" y2="100.28" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M44.89,90.43a0.35,0.35,0,0,1-.31-0.17L39.26,81A0.36,0.36,0,0,0,39,80.86H17.26A0.35,0.35,0,0,0,17,81L11.43,90.6h0L6.11,99.82a0.36,0.36,0,0,0,0,.35l5.32,9.22L17,119a0.35,0.35,0,0,0,.31.17H39a0.36,0.36,0,0,0,.31-0.17l5.32-9.22a0.35,0.35,0,0,1,.31-0.17h6.62a0.4,0.4,0,0,0,.4-0.4V90.83a0.4,0.4,0,0,0-.4-0.4H44.89Z"/><g class="cls-3"><rect class="cls-4" x="5.63" y="87.49" width="189.45" height="25.59"/></g><path class="cls-5" d="M12.64,99l-5.94,2.16-0.58-1a0.35,0.35,0,0,1,0-.35L8.8,95.16Z"/><path class="cls-6" d="M193.75,109.56H191.3l-2.24-1.4L193,108l0.93,1.3A0.19,0.19,0,0,1,193.75,109.56Z"/><path class="cls-6" d="M191.3,109.56h-2.06a0.19,0.19,0,0,1-.15-0.08l-0.35-.48,0.33-.85Z"/><path class="cls-7" d="M193.88,90.64a0.21,0.21,0,0,1,0,.12l-2.15,2.39-0.13-1.34Z"/><path class="cls-8" d="M193,108l-3.91.2,2.58-2.07Z"/><path class="cls-9" d="M193.88,90.64l-2.33,1.17,0.4-1.36h1.75A0.19,0.19,0,0,1,193.88,90.64Z"/><path class="cls-10" d="M191.64,106.08l-2.58,2.07,1.3-3.87Z"/><polygon class="cls-11" points="191.95 90.45 191.55 91.81 189.28 90.45 191.95 90.45"/><path class="cls-12" d="M181.62,90.64v1.93l-4.26.33V90.64a0.19,0.19,0,0,1,.19-0.19h3.89A0.19,0.19,0,0,1,181.62,90.64Z"/><path class="cls-12" d="M191.55,91.81l-4.26.33,1.5-1.63a0.19,0.19,0,0,1,.14-0.06h0.37Z"/><path class="cls-13" d="M190.36,104.29l-1.3,3.87-1.29-.44-2.63-3.54,3.32-2.56,1.69,2.38Z"/><polygon class="cls-9" points="181.62 92.57 181.62 94.67 177.36 93.06 177.36 92.9 181.62 92.57"/><polygon class="cls-9" points="191.68 93.15 188.11 97.13 184.09 95.61 187.29 92.14 191.55 91.81 191.68 93.15"/><path class="cls-14" d="M188.46,101.61l-3.32,2.56-1.47-2a0.19,0.19,0,0,0-.29,0l-1.54,1.71-4.49-10.18V93.06l4.26,1.61v3.14a0.19,0.19,0,0,0,.32.13l2.15-2.33,4,1.52-1.49,1.65a0.18,0.18,0,0,0,0,.23Z"/><polygon class="cls-15" points="189.06 108.15 188.73 109 187.77 107.71 189.06 108.15"/><path class="cls-16" d="M181.85,103.89l-0.17.2a0.18,0.18,0,0,0,0,.12V105l-4.26-3.62V93.71Z"/><path class="cls-10" d="M175.86,109.29a0.19,0.19,0,0,1-.17.26h-0.62l0.76-.35Z"/><path class="cls-10" d="M181.62,106.53v2.84a0.19,0.19,0,0,1-.19.19h-3.89a0.19,0.19,0,0,1-.19-0.19V108.5Z"/><path class="cls-9" d="M175.82,109.21l-0.76.35h-3.51a0.18,0.18,0,0,1-.17-0.11l-0.08-.18h0l1.79-6.36Z"/><polygon class="cls-9" points="181.62 105.03 181.62 106.53 177.36 108.5 177.36 101.41 181.62 105.03"/><path class="cls-17" d="M173.1,102.9l-1.79,6.36-1.6-3.71a0.18,0.18,0,0,0-.17-0.11h-7.76a0.19,0.19,0,0,0-.17.11l-0.24.55L157.76,104l0.08-.19,6.87-2.09h3.06a0.19,0.19,0,0,0,.17-0.26l-0.27-.64,4-1.22Z"/><path class="cls-18" d="M164.71,101.68l-6.87,2.09,0-.09,6-3.4-0.5,1.14a0.19,0.19,0,0,0,.17.26h1.16Z"/><polygon class="cls-18" points="171.66 99.57 167.66 100.78 166.75 98.65 170.37 96.59 171.66 99.57"/><polygon class="cls-12" points="161.36 106.09 159.93 109.44 159.92 109.45 157.69 104.12 157.69 104.12 157.75 103.96 161.36 106.09"/><path class="cls-19" d="M170.37,96.59l-3.62,2.06-0.91-2.11a0.19,0.19,0,0,0-.35,0l-1.62,3.75-6,3.4,0.65-1.5h0l6.63-11.7h2.43a0.18,0.18,0,0,1,.17.11Z"/><path class="cls-20" d="M155.55,95.84a9.45,9.45,0,0,1,.75,3Z"/><path class="cls-20" d="M165.17,90.45l-6.63,11.7,5-11.59a0.19,0.19,0,0,1,.17-0.11h1.45Z"/><path class="cls-21" d="M156.35,99.88a10,10,0,0,1-.66,3.69l-4.4-.64a6.39,6.39,0,0,0,.71-3,6.26,6.26,0,0,0-1.47-4.16l1.72-3.9a9.92,9.92,0,0,1,1.2,1,9.41,9.41,0,0,1,2.1,3l0.75,3h0C156.34,99.17,156.35,99.52,156.35,99.88Z"/><path class="cls-22" d="M151.47,105.4l3.84-1a9.59,9.59,0,0,1-1.85,2.48Z"/><path class="cls-22" d="M159.92,109.45a0.19,0.19,0,0,1-.17.11H157l-1.23-.93,1.95-4.51Z"/><path class="cls-18" d="M151.47,105.4l2,1.51h0a10.2,10.2,0,0,1-1,.9Z"/><path class="cls-18" d="M157,109.56h-1.34a0.19,0.19,0,0,1-.17-0.26l0.29-.66Z"/><path class="cls-20" d="M155.69,103.58a8.18,8.18,0,0,1-.38.85l-3.84,1-1.27-1,0.17-.17a6.2,6.2,0,0,0,.92-1.31Z"/><path class="cls-22" d="M152.41,107.81a9.7,9.7,0,0,1-5.39,1.91l4.45-4.33Z"/><path class="cls-23" d="M152.25,91.83l-1.72,3.9-0.17-.2a5.24,5.24,0,0,0-4-1.8,5.77,5.77,0,0,0-1.23.13L144,90.24a11,11,0,0,1,2.27-.23A9.9,9.9,0,0,1,152.25,91.83Z"/><path class="cls-24" d="M151.47,105.4L147,109.73l-0.7,0a10,10,0,0,1-5.59-1.58l0.5-2.68,2.65,0a5.59,5.59,0,0,0,5,0Z"/><path class="cls-25" d="M145.1,93.86a5.26,5.26,0,0,0-2.8,1.67,6.21,6.21,0,0,0-1.64,4.21l-4.24-1.62-0.1,0,0.14-.21,4.16-6.21A9.39,9.39,0,0,1,144,90.24h0Z"/><path class="cls-26" d="M142.8,104.72a5.24,5.24,0,0,0,1.08.74l-2.65,0Z"/><path class="cls-26" d="M151.47,105.4l-2.6,0a5.43,5.43,0,0,0,1.33-1Z"/><path class="cls-27" d="M142.8,104.72l-1.57.76-4.82-7.26h0l-0.09-.13,0.1,0,4.24,1.62c0,0.05,0,.1,0,0.15a6.2,6.2,0,0,0,1.64,4.35A5.44,5.44,0,0,0,142.8,104.72Z"/><path class="cls-28" d="M140.63,91.67l-4.16,6.21a9.26,9.26,0,0,1,2.72-5A10.17,10.17,0,0,1,140.63,91.67Z"/><path class="cls-26" d="M129,109.56l7.29-2.42v2.23a0.19,0.19,0,0,1-.19.19H129Z"/><path class="cls-26" d="M141.23,105.49l-0.5,2.68a10.15,10.15,0,0,1-1.54-1.25c-0.19-.19-0.37-0.38-0.54-0.57Z"/><path class="cls-23" d="M136.25,105.94v1.19L129,109.56h-4l3.75-3.8h7.3A0.19,0.19,0,0,1,136.25,105.94Z"/><path class="cls-23" d="M141.23,105.49l-2.59.86a9.44,9.44,0,0,1-2.35-6.46,10.84,10.84,0,0,1,.12-1.66Z"/><path class="cls-29" d="M128.76,105.76l-3.75,3.8h-1a0.19,0.19,0,0,1-.19-0.19v0l4.26-12v8.26a0.19,0.19,0,0,0,.19.18h0.47Z"/><path class="cls-30" d="M128.11,90.64V91.7L128,90.47A0.18,0.18,0,0,1,128.11,90.64Z"/><path class="cls-31" d="M121.75,93.47a0.19,0.19,0,0,1,0,.25l-2.4,2.72a0.18,0.18,0,0,1-.28,0,6.37,6.37,0,0,0-3.21-2.13l-0.93-4.25A10,10,0,0,1,121.75,93.47Z"/><path class="cls-31" d="M125.77,90.45l-1.92,2V90.64a0.19,0.19,0,0,1,.19-0.19h1.73Z"/><path class="cls-32" d="M128.11,91.7v4.6l-4.26,1.18V92.4l1.92-2h2.15l0.08,0Z"/><path class="cls-33" d="M121.63,106a0.19,0.19,0,0,1,0,.26c-0.26.29-.53,0.56-0.8,0.8L119,103.39a0.18,0.18,0,0,1,.17.05Z"/><polygon class="cls-33" points="128.11 96.31 128.11 97.31 123.84 109.35 123.84 97.48 128.11 96.31"/><path class="cls-28" d="M120.84,107a9.91,9.91,0,0,1-4.45,2.46l0.25-4.29a6.52,6.52,0,0,0,2.25-1.75,0.2,0.2,0,0,1,.11-0.07Z"/><path class="cls-34" d="M116.64,105.21l-0.25,4.29c-0.29.07-.58,0.13-0.88,0.17h0l-5.85-.77h0l-0.39-.18,2.7-3.27a5.57,5.57,0,0,0,1.93.33A6.51,6.51,0,0,0,116.64,105.21Z"/><path class="cls-35" d="M111.95,105.46l-2.7,3.27-0.52-.28h0l-3.17-3h0a8.89,8.89,0,0,1-1-1.87l4.14-1.41a5.22,5.22,0,0,0,1.25,2A5.42,5.42,0,0,0,111.95,105.46Z"/><polygon class="cls-36" points="102.78 92.41 104.15 92 103.66 92.84 102.78 92.41"/><path class="cls-36" d="M115.86,94.3a6.31,6.31,0,0,0-1.68-.22,5.86,5.86,0,0,0-4.11,1.57l-0.23.22-3.94-1.93h0a10.25,10.25,0,0,1,1-1.09A9.81,9.81,0,0,1,114,90c0.32,0,.63,0,0.94,0Z"/><polygon class="cls-37" points="102.78 92.41 103.66 92.84 102.94 94.11 102.78 92.41"/><path class="cls-37" d="M108.36,99.89a6.78,6.78,0,0,0,.37,2.29l-4.14,1.41a10.29,10.29,0,0,1-.62-3.64,9.55,9.55,0,0,1,1.95-6l3.94,1.93A5.53,5.53,0,0,0,108.36,99.89Z"/><polygon class="cls-38" points="109.64 108.9 109.65 108.9 109.65 108.91 109.64 108.9"/><path class="cls-38" d="M115.5,109.67a9.88,9.88,0,0,1-1.42.1,10.9,10.9,0,0,1-4.43-.87Z"/><path class="cls-39" d="M104.87,90.73L104.15,92l-1.36.42-0.69-2h2.61A0.19,0.19,0,0,1,104.87,90.73Z"/><polygon class="cls-40" points="98.42 107.26 98.42 107.76 97.45 107.12 98.42 107.26"/><path class="cls-34" d="M98.42,107.76v1.61a0.19,0.19,0,0,1-.19.19H97.32l0.13-2.44Z"/><polygon class="cls-41" points="97.45 107.12 98.42 106.63 98.42 107.26 97.45 107.12"/><path class="cls-41" d="M108.72,108.44a9.67,9.67,0,0,1-1.91-1.45,9.43,9.43,0,0,1-1.27-1.52Z"/><polygon class="cls-42" points="102.94 94.11 99.38 100.33 95.9 97.57 96.2 97.35 96.35 97.23 96.56 97.08 96.56 97.08 96.56 97.08 102.78 92.41 102.94 94.11"/><path class="cls-43" d="M99.38,100.33L98.44,102a0.19,0.19,0,0,0,0,.09v4.56l-1,.5L95.9,97.57Z"/><path class="cls-44" d="M96.12,97.28a0.2,0.2,0,0,0,.08.07l-0.3.22,0.16-.4Z"/><path class="cls-44" d="M102.78,92.41l-6.22,4.67,3.8-6.53a0.19,0.19,0,0,1,.16-0.09h1.58Z"/><polygon class="cls-45" points="97.45 107.12 97.32 109.56 94.37 109.56 97.45 107.12"/><path class="cls-46" d="M86.09,90.64v1.3l-2.6-1.49H85.9A0.19,0.19,0,0,1,86.09,90.64Z"/><path class="cls-46" d="M96,97l-0.06.57-6.39-3.67L87.7,90.73a0.19,0.19,0,0,1,.16-0.28H92a0.19,0.19,0,0,1,.16.09Z"/><polygon class="cls-47" points="96.06 97.17 95.9 97.57 95.96 97.01 96.06 97.17"/><path class="cls-37" d="M97.45,107.12l-3.08,2.44h0a0.19,0.19,0,0,1-.19-0.19v-1.45Z"/><path class="cls-48" d="M94.15,105.39v-3.33a0.19,0.19,0,0,0,0-.09L92.8,99.65l3.1-2.08,1.55,9.55Z"/><path class="cls-42" d="M85.33,109.56l1.06-2.3v2.11a0.19,0.19,0,0,1-.19.19H85.33Z"/><polygon class="cls-42" points="97.45 107.12 94.15 107.92 94.15 105.39 97.45 107.12"/><path class="cls-49" d="M86.09,91.94v2.12a0.19,0.19,0,0,1-.19.19H84.1L82,90.45H83.5Z"/><polygon class="cls-49" points="95.9 97.57 92.8 99.65 89.52 93.91 95.9 97.57"/><polygon class="cls-50" points="84.1 94.25 82.21 94.25 79.39 90.61 79.61 90.45 82.03 90.45 84.1 94.25"/><path class="cls-51" d="M86.39,106v1.29l-1.06,2.3H83.87L72.76,104.2l3.81-.41v1.81a0.19,0.19,0,0,0,.19.19H86.2A0.19,0.19,0,0,1,86.39,106Z"/><polygon class="cls-52" points="82.21 94.25 77.61 94.25 79.39 90.61 82.21 94.25"/><path class="cls-52" d="M85.13,98.37v3.26a0.19,0.19,0,0,1-.19.19H76.76a0.19,0.19,0,0,0-.19.19v1.78l-3.81.41,3.81-7.83V98a0.19,0.19,0,0,0,.19.19h8.18A0.19,0.19,0,0,1,85.13,98.37Z"/><polygon class="cls-53" points="83.87 109.56 74.45 109.56 72.76 104.2 83.87 109.56"/><path class="cls-54" d="M79.39,90.61l-1.78,3.64H76.76a0.19,0.19,0,0,0-.19.19v1.93l-3.81,7.83-0.45-.73V93.91Z"/><path class="cls-55" d="M70.21,90.76l-2.77,3.07-0.51-3.39h3.14A0.19,0.19,0,0,1,70.21,90.76Z"/><path class="cls-55" d="M79.39,90.61l-7.07,3.3V90.64a0.19,0.19,0,0,1,.19-0.19h5.88Z"/><path class="cls-56" d="M68.34,106.54L70.12,109,65.8,107.9Z"/><path class="cls-56" d="M74.45,109.56H72.5a0.19,0.19,0,0,1-.19-0.19v-4.94l0.45-.24Z"/><path class="cls-53" d="M70.13,109.56H66.29l-0.5-1.66L70.12,109l0.17,0.23A0.19,0.19,0,0,1,70.13,109.56Z"/><path class="cls-57" d="M66.53,104l1.81,2.55L65.8,107.9l0.67-4Z"/><polygon class="cls-57" points="72.76 104.2 72.31 104.43 72.31 103.46 72.76 104.2"/><path class="cls-58" d="M66.46,103.9l-0.67,4-3-2.07L60,102.2a0.19,0.19,0,0,0-.29,0l-0.9,1L54,99.89l10.69-3L63,98.78A0.19,0.19,0,0,0,63,99Z"/><path class="cls-47" d="M66.29,109.56H65.61a0.18,0.18,0,0,1-.15-0.08l-0.78-1,1.11-.54Z"/><polygon class="cls-59" points="55.91 91.12 58 90.64 58 91.99 55.91 91.12"/><path class="cls-59" d="M67.44,93.84l-1.35,1.5L62.2,93.72l3-3.21a0.19,0.19,0,0,1,.14-0.06h1.63Z"/><path class="cls-60" d="M66.1,95.33l-1.4,1.56h0L54,99.89l1.89-8.77L58,92v5.83a0.19,0.19,0,0,0,.32.13l3.88-4.22Z"/><path class="cls-61" d="M54,99.89l4.85,3.29-0.81.91a0.18,0.18,0,0,0,0,.12v5.16a0.19,0.19,0,0,1-.19.19H57.76Z"/><polygon class="cls-61" points="65.8 107.9 64.68 108.43 62.75 105.83 65.8 107.9"/><polygon class="cls-62" points="47.99 100.76 51.91 100.2 51.91 104.74 47.99 100.76"/><polygon class="cls-62" points="57.76 109.56 56.65 109.56 53.74 106.6 53.74 99.93 54.01 99.89 57.76 109.56"/><path class="cls-61" d="M48,100.76l3.92,4v4.44a0.39,0.39,0,0,1-.39.39H47Z"/><path class="cls-61" d="M56.65,109.56H53.93a0.19,0.19,0,0,1-.19-0.19V106.6Z"/><polygon class="cls-63" points="47.99 100.76 46.96 109.57 41.48 109.57 39.82 105.57 47.99 100.76"/><polygon class="cls-64" points="47.99 100.76 51.91 95.99 51.91 100.2 47.99 100.76"/><polygon class="cls-64" points="55.91 91.12 54.01 99.89 53.74 99.93 53.74 93.76 55.91 91.12"/><path class="cls-65" d="M51.91,90.83V96L48,100.76,45,90.43h6.47A0.4,0.4,0,0,1,51.91,90.83Z"/><polygon class="cls-65" points="55.91 91.12 53.74 93.76 53.74 90.66 55.91 91.12"/><polygon class="cls-58" points="41.48 109.57 38.59 109.57 37.84 108.5 39.82 105.57 41.48 109.57"/><polygon class="cls-66" points="47.99 100.76 37.15 96.17 42.85 90.43 45.04 90.43 47.99 100.76"/><path class="cls-67" d="M37.15,96.17l2.67,9.4L48,100.76Z"/><polygon class="cls-50" points="38.59 109.57 37.8 109.57 37.84 108.5 38.59 109.57"/><polygon class="cls-68" points="42.85 90.43 37.15 96.17 36.12 91.03 38.32 90.43 42.85 90.43"/><path class="cls-69" d="M37.15,96.17L24,99.21l13.85,9.29Z"/><path class="cls-67" d="M37.15,96.17l0.69,12.32,2-2.93Z"/><path class="cls-68" d="M36.12,91L24,99.21l13.16-3Z"/><polygon class="cls-70" points="23.99 99.21 18.29 109.57 15.04 109.57 12.64 99.03 23.99 99.21"/><path class="cls-71" d="M18.15,90.43L12.64,99l-1.4-8.09,0.2-.34h0a0.36,0.36,0,0,1,.3-0.17h6.41Z"/><path class="cls-70" d="M15,109.57h-3.3a0.35,0.35,0,0,1-.31-0.18l-4.74-8.2L12.64,99Z"/><polygon class="cls-72" points="12.64 99.03 8.8 95.17 11.23 90.95 12.64 99.03"/><polygon class="cls-73" points="30 90.43 26.21 90.43 20.4 90.43 23.99 99.21 36.12 91.03 32.47 90.43 30 90.43"/><polygon class="cls-73" points="18.89 90.43 18.15 90.43 12.64 99.03 23.99 99.21 20.4 90.43 18.89 90.43"/><polygon class="cls-74" points="35.2 109.57 37.32 109.57 37.8 109.57 37.84 108.5 35.2 109.57"/><polygon class="cls-67" points="37.84 108.5 23.99 99.21 26.49 109.57 30 109.57 35.2 109.57 37.84 108.5"/><polygon class="cls-75" points="18.29 109.57 18.89 109.57 26.21 109.57 26.49 109.57 23.99 99.21 18.29 109.57"/><polygon class="cls-62" points="79.61 90.45 79.39 90.61 79.28 90.45 79.61 90.45"/><polygon class="cls-76" points="79.39 90.61 78.39 90.45 79.28 90.45 79.39 90.61"/><path class="cls-75" d="M58,90.64l-2.1.49,0.57-.67h1.33A0.19,0.19,0,0,1,58,90.64Z"/><polygon class="cls-77" points="56.48 90.45 55.91 91.12 55.79 90.45 56.48 90.45"/><path class="cls-68" d="M55.9,91.12l-2.17-.46v0a0.19,0.19,0,0,1,.19-0.19h1.86Z"/><polygon class="cls-78" points="36.16 90.43 36.12 91.03 38.32 90.43 37.32 90.43 36.16 90.43"/><polygon class="cls-79" points="32.47 90.43 36.12 91.03 35.78 90.43 32.47 90.43"/><polygon class="cls-71" points="35.78 90.43 36.12 91.03 36.16 90.43 35.78 90.43"/><path class="cls-80" d="M26.17,90.59l-5.35,9.26a0.31,0.31,0,0,0,0,.15H17.05l7.34-12.72a0.29,0.29,0,0,1,.11.11h0l1.66,2.89A0.32,0.32,0,0,1,26.17,90.59Z"/><path class="cls-81" d="M26.17,109.75l-1.66,2.88a0.32,0.32,0,0,1-.11.11L17,100h3.73a0.28,0.28,0,0,0,0,.14v0l5.34,9.26A0.31,0.31,0,0,1,26.17,109.75Z"/><path class="cls-82" d="M24.39,87.29L17.05,100h0l-1.84,3.19-1.76-3a0.28,0.28,0,0,1,0-.14,0.31,0.31,0,0,1,0-.15l1.78-3.08,5.41-9.36a0.31,0.31,0,0,1,.27-0.16h3.32A0.33,0.33,0,0,1,24.39,87.29Z"/><path class="cls-80" d="M24.39,112.73a0.33,0.33,0,0,1-.16,0H20.92a0.31,0.31,0,0,1-.27-0.16l-4.94-8.56-0.49-.85L17,100Z"/><path class="cls-82" d="M39.15,100l-7.35,12.72a0.34,0.34,0,0,1-.11-0.11h0L30,109.73a0.32,0.32,0,0,1,0-.3l5.34-9.26a0.31,0.31,0,0,0,0-.16h3.73Z"/><path class="cls-80" d="M42.79,100a0.31,0.31,0,0,1,0,.16l-7.19,12.45a0.31,0.31,0,0,1-.27.15H32a0.34,0.34,0,0,1-.16,0L39.15,100,41,96.82l1.75,3A0.31,0.31,0,0,1,42.79,100Z"/><path class="cls-80" d="M39.15,100H35.42a0.31,0.31,0,0,0,0-.16L30,90.6a0.31,0.31,0,0,1,0-.32L31.7,87.4a0.34,0.34,0,0,1,.11-0.11Z"/><path class="cls-81" d="M41,96.82h0L39.15,100,31.81,87.29a0.34,0.34,0,0,1,.16,0h3.32a0.31,0.31,0,0,1,.27.15Z"/></svg>
\ No newline at end of file
misc/logo/keycloak_logo_450px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_logo_450px.svg b/misc/logo/keycloak_logo_450px.svg
index 29be2bc..17ef3c3 100644
--- a/misc/logo/keycloak_logo_450px.svg
+++ b/misc/logo/keycloak_logo_450px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 450 450"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M428,245.69h-9.77a0.42,0.42,0,0,1-.33-0.17l-0.76-1L415,241.7,409.32,234l-3.18-4.28a0.41,0.41,0,0,0-.63,0l-3.33,3.71-0.38.43a0.4,0.4,0,0,0-.1.27v11.16a0.41,0.41,0,0,1-.41.41h-8.42a0.41,0.41,0,0,1-.41-0.41V204.74a0.4,0.4,0,0,1,.41-0.41h8.42a0.41,0.41,0,0,1,.41.41v15.53a0.4,0.4,0,0,0,.7.28l4.65-5L414,208l3.24-3.52a0.41,0.41,0,0,1,.3-0.13h10.34a0.4,0.4,0,0,1,.41.42,0.46,0.46,0,0,1-.1.25l-4.66,5.17-7.74,8.61-3.23,3.58a0.4,0.4,0,0,0,0,.5l4,5.63,3.66,5.16,0.45,0.63,2.77,3.88,2.89,4.06,2,2.82A0.41,0.41,0,0,1,428,245.69Zm-38.72-.57a0.41,0.41,0,0,1-.37.57h-8.94a0.4,0.4,0,0,1-.37-0.25l-0.18-.4h0l-3.46-8a0.4,0.4,0,0,0-.37-0.25h-16.8a0.41,0.41,0,0,0-.38.25l-0.52,1.2-3.12,7.25h0a0.41,0.41,0,0,1-.36.23h-8.94a0.41,0.41,0,0,1-.37-0.57l0.62-1.44,4.22-9.76h0l0.15-.34,0.18-.41,0.08-.2,1.4-3.25v0h0l10.84-25.09a0.41,0.41,0,0,1,.37-0.25h8.4a0.4,0.4,0,0,1,.37.25l5.64,13,2.79,6.44,3.12,7.21,5.9,13.66Zm-17.16-17-0.59-1.38-2-4.63-2-4.57a0.41,0.41,0,0,0-.75,0l-3.51,8.11-1.07,2.48a0.4,0.4,0,0,0,.37.56h9.13A0.4,0.4,0,0,0,372.07,228.08Zm-26.51,4.66a17.7,17.7,0,0,1-.83,1.84,20.76,20.76,0,0,1-4,5.37l0,0a22.08,22.08,0,0,1-2.26,1.94,21,21,0,0,1-11.68,4.14c-0.5,0-1,0-1.51,0a21.6,21.6,0,0,1-12.1-3.42,22,22,0,0,1-3.34-2.7c-0.41-.41-0.81-0.82-1.18-1.24a20.43,20.43,0,0,1-5.1-14,23.47,23.47,0,0,1,.27-3.6h0l-0.19-.28,0.3-.45a20.05,20.05,0,0,1,5.89-10.91A22,22,0,0,1,313,207a20.33,20.33,0,0,1,7.39-3.09h0a23.77,23.77,0,0,1,4.92-.49,21.25,21.25,0,0,1,15.45,6.13,20.25,20.25,0,0,1,6.17,12.94h0c0.07,0.74.1,1.51,0.1,2.28A21.76,21.76,0,0,1,345.56,232.74Zm-8-8a13.54,13.54,0,0,0-3.18-9,5.22,5.22,0,0,0-.36-0.43,11.34,11.34,0,0,0-8.73-3.9,12.49,12.49,0,0,0-2.67.28,11.4,11.4,0,0,0-6.06,3.62,13.44,13.44,0,0,0-3.55,9.12c0,0.11,0,.21,0,0.32a13.41,13.41,0,0,0,3.56,9.41,11.78,11.78,0,0,0,1.07,1,11.35,11.35,0,0,0,2.33,1.6,12.09,12.09,0,0,0,10.81-.09,11.76,11.76,0,0,0,2.87-2.18l0.36-.38a13.42,13.42,0,0,0,2-2.83A13.84,13.84,0,0,0,337.59,224.77Zm-34.51,12.69H286.25a0.4,0.4,0,0,1-.41-0.4V204.74a0.4,0.4,0,0,0-.23-0.36,0.35,0.35,0,0,0-.17,0H277a0.4,0.4,0,0,0-.41.41v40.55a0.41,0.41,0,0,0,.41.41h26a0.41,0.41,0,0,0,.41-0.41v-7.42A0.41,0.41,0,0,0,303.07,237.46Zm-45.76-34c-0.67-.05-1.34-0.08-2-0.08a21.24,21.24,0,0,0-15.42,6.15,22.18,22.18,0,0,0-2.08,2.35h0a20.67,20.67,0,0,0-4.22,13,22.27,22.27,0,0,0,1.35,7.89,19.26,19.26,0,0,0,2.08,4.05h0a20.42,20.42,0,0,0,2.74,3.28,20.93,20.93,0,0,0,4.13,3.14h0c0.37,0.21.75,0.42,1.13,0.61s0.56,0.27.85,0.39h0a23.61,23.61,0,0,0,9.6,1.88,21.39,21.39,0,0,0,3.07-.22h0c0.64-.09,1.27-0.21,1.9-0.36a21.44,21.44,0,0,0,9.63-5.32c0.58-.54,1.16-1.12,1.73-1.74a0.41,0.41,0,0,0,0-.56l-5.34-5.49a0.39,0.39,0,0,0-.36-0.12,0.44,0.44,0,0,0-.24.14,13.55,13.55,0,0,1-10.84,5,12.05,12.05,0,0,1-4.18-.71,11.73,11.73,0,0,1-4.28-2.79,11.29,11.29,0,0,1-2.7-4.3,14.68,14.68,0,0,1-.79-5,12,12,0,0,1,3.21-8.7l0.49-.47a12.68,12.68,0,0,1,8.91-3.4,13.35,13.35,0,0,1,10.59,5.08,0.4,0.4,0,0,0,.61,0l5.19-5.89a0.42,0.42,0,0,0,0-.55A21.73,21.73,0,0,0,257.32,203.46ZM234,207.67l1.57-2.74a0.4,0.4,0,0,0-.35-0.61h-9.07a0.41,0.41,0,0,0-.35.2l-8.22,14.15h0l-0.44.32-0.33.25a0.42,0.42,0,0,1-.17-0.16l-0.14-.23-0.21-.35-8.12-14a0.41,0.41,0,0,0-.35-0.2h-9.07a0.41,0.41,0,0,0-.35.61l3.93,6.88,7.12,12.44,2.87,5a0.41,0.41,0,0,1,.06.2v15.82a0.41,0.41,0,0,0,.41.41h8.42a0.41,0.41,0,0,0,.41-0.41V229.46a0.41,0.41,0,0,1,.06-0.2l2-3.55,7.7-13.46,1.57-2.74,1-1.83h0Zm-38.85,29.85H174.7a0.41,0.41,0,0,1-.41-0.41v-7.77a0.41,0.41,0,0,1,.41-0.41h17.71a0.41,0.41,0,0,0,.41-0.41v-7.06a0.41,0.41,0,0,0-.41-0.41H174.7a0.41,0.41,0,0,1-.41-0.41V213a0.41,0.41,0,0,1,.41-0.41h19.78a0.41,0.41,0,0,0,.41-0.41v-7.41a0.41,0.41,0,0,0-.41-0.41h-29a0.4,0.4,0,0,0-.41.41v40.55a0.41,0.41,0,0,0,.41.41h29.66a0.41,0.41,0,0,0,.41-0.41v-7.36A0.41,0.41,0,0,0,195.13,237.52Zm-34.82,7-3.84-5.38-3.93-5.52-0.14-.21q-5.38-7.57-7.54-10.58a0.4,0.4,0,0,1,0-.5l3.69-4.09h0l3-3.37,2.92-3.24,6-6.66a0.4,0.4,0,0,0-.3-0.67H149.88a0.41,0.41,0,0,0-.3.13l-6.4,7-8.4,9.13a0.4,0.4,0,0,1-.7-0.28V204.73a0.4,0.4,0,0,0-.41-0.4h-8.42a0.4,0.4,0,0,0-.41.41v40.55a0.41,0.41,0,0,0,.41.41h8.42a0.41,0.41,0,0,0,.41-0.41V234.13a0.4,0.4,0,0,1,.1-0.27l1.75-2,2-2.17a0.41,0.41,0,0,1,.63,0l5.84,7.85,4.19,5.65,1.68,2.27a0.4,0.4,0,0,0,.32.17h9.78a0.41,0.41,0,0,0,.33-0.65ZM120,204.28H33.93a0.78,0.78,0,0,0-.66.37s0,0,0,0l-0.43.74-5.27,9.13-5.82,10.09a0.76,0.76,0,0,0,0,.76L23,227.58l10.25,17.76a0.77,0.77,0,0,0,.67.39H120a0.85,0.85,0,0,0,.85-0.85V205.14A0.86,0.86,0,0,0,120,204.28Z"/></clipPath><linearGradient id="linear-gradient" x1="20.71" y1="225.61" x2="430.83" y2="225.61" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M105.69,204.28a0.76,0.76,0,0,1-.66-0.38l-11.51-20a0.78,0.78,0,0,0-.67-0.38h-47a0.76,0.76,0,0,0-.66.38l-12,20.71h0l-11.52,20a0.77,0.77,0,0,0,0,.76l11.52,19.95,12,20.73a0.76,0.76,0,0,0,.66.38h47a0.78,0.78,0,0,0,.67-0.38l11.52-20a0.76,0.76,0,0,1,.66-0.38H120a0.86,0.86,0,0,0,.86-0.86V205.14a0.86,0.86,0,0,0-.86-0.86H105.69Z"/><g class="cls-3"><rect class="cls-4" x="20.71" y="197.91" width="410.13" height="55.4"/></g><path class="cls-5" d="M35.87,222.91L23,227.58l-1.27-2.19a0.76,0.76,0,0,1,0-.76l5.82-10.09Z"/><path class="cls-6" d="M428,245.69h-5.31l-4.85-3,8.47-.43,2,2.82A0.41,0.41,0,0,1,428,245.69Z"/><path class="cls-6" d="M422.64,245.69h-4.46a0.42,0.42,0,0,1-.33-0.17l-0.76-1,0.71-1.84Z"/><path class="cls-7" d="M428.24,204.75a0.46,0.46,0,0,1-.1.25l-4.66,5.17-0.29-2.9Z"/><path class="cls-8" d="M426.27,242.23l-8.47.43,5.58-4.49Z"/><path class="cls-9" d="M428.24,204.75l-5,2.52,0.86-2.94h3.78A0.4,0.4,0,0,1,428.24,204.75Z"/><path class="cls-10" d="M423.38,238.16l-5.58,4.49,2.81-8.37Z"/><polygon class="cls-11" points="424.05 204.33 423.19 207.27 418.29 204.33 424.05 204.33"/><path class="cls-12" d="M401.71,204.73v4.19l-9.23.72v-4.9a0.4,0.4,0,0,1,.41-0.41h8.42A0.41,0.41,0,0,1,401.71,204.73Z"/><path class="cls-12" d="M423.19,207.27L414,208l3.24-3.52a0.41,0.41,0,0,1,.3-0.13h0.79Z"/><path class="cls-13" d="M420.61,234.28l-2.81,8.37-2.79-1L409.32,234l7.19-5.55,3.66,5.16Z"/><polygon class="cls-9" points="401.7 208.92 401.7 213.47 392.48 209.97 392.48 209.64 401.7 208.92"/><polygon class="cls-9" points="423.48 210.17 415.74 218.78 407.06 215.5 413.97 207.98 423.19 207.27 423.48 210.17"/><path class="cls-14" d="M416.5,228.49L409.32,234l-3.18-4.28a0.41,0.41,0,0,0-.63,0l-3.33,3.71-9.71-22V210l9.23,3.49v6.8a0.4,0.4,0,0,0,.7.28l4.65-5,8.69,3.29-3.23,3.58a0.4,0.4,0,0,0,0,.5Z"/><polygon class="cls-15" points="417.8 242.65 417.09 244.49 415 241.7 417.8 242.65"/><path class="cls-16" d="M402.19,233.43l-0.38.43a0.4,0.4,0,0,0-.1.27v1.75L392.48,228V211.39Z"/><path class="cls-10" d="M389.23,245.12a0.41,0.41,0,0,1-.37.57h-1.35l1.64-.76Z"/><path class="cls-10" d="M401.71,239.14v6.14a0.41,0.41,0,0,1-.41.41h-8.42a0.41,0.41,0,0,1-.41-0.41V243.4Z"/><path class="cls-9" d="M389.15,244.93l-1.64.76h-7.59a0.4,0.4,0,0,1-.37-0.25l-0.18-.4h0l3.88-13.76Z"/><polygon class="cls-9" points="401.7 235.88 401.7 239.14 392.48 243.4 392.48 228.04 401.7 235.88"/><path class="cls-17" d="M383.25,231.28L379.37,245l-3.46-8a0.4,0.4,0,0,0-.37-0.25h-16.8a0.41,0.41,0,0,0-.38.25l-0.52,1.2L350,233.57l0.18-.41,14.87-4.52h6.62a0.4,0.4,0,0,0,.37-0.56l-0.59-1.38,8.65-2.63Z"/><path class="cls-18" d="M365.08,228.64l-14.87,4.52,0.08-.2,13-7.36-1.07,2.48a0.4,0.4,0,0,0,.37.56h2.5Z"/><polygon class="cls-18" points="380.13 224.06 371.48 226.7 369.5 222.07 377.35 217.62 380.13 224.06"/><path class="cls-12" d="M357.85,238.2l-3.12,7.25h0l-4.84-11.53h0l0.15-.34Z"/><path class="cls-19" d="M377.35,217.62l-7.85,4.45-2-4.57a0.41,0.41,0,0,0-.75,0l-3.51,8.11-13,7.36,1.4-3.25v0h0l14.36-25.33h5.25a0.4,0.4,0,0,1,.37.25Z"/><path class="cls-20" d="M345.26,216a20.46,20.46,0,0,1,1.63,6.44Z"/><path class="cls-20" d="M366.08,204.33l-14.36,25.33,10.84-25.09a0.41,0.41,0,0,1,.37-0.25h3.15Z"/><path class="cls-21" d="M347,224.74a21.76,21.76,0,0,1-1.43,8l-9.52-1.4a13.84,13.84,0,0,0,1.55-6.57,13.54,13.54,0,0,0-3.18-9l3.72-8.44a21.47,21.47,0,0,1,2.6,2.19,20.37,20.37,0,0,1,4.54,6.5l1.63,6.44h0C347,223.2,347,224,347,224.74Z"/><path class="cls-22" d="M336.42,236.69l8.32-2.1a20.76,20.76,0,0,1-4,5.37Z"/><path class="cls-22" d="M354.72,245.46a0.41,0.41,0,0,1-.36.23h-6l-2.65-2,4.22-9.76Z"/><path class="cls-18" d="M336.42,236.69l4.33,3.27,0,0a22.08,22.08,0,0,1-2.26,1.94Z"/><path class="cls-18" d="M348.32,245.69h-2.9a0.41,0.41,0,0,1-.37-0.57l0.62-1.44Z"/><path class="cls-20" d="M345.56,232.74a17.7,17.7,0,0,1-.83,1.84l-8.32,2.1-2.74-2.13,0.36-.38a13.42,13.42,0,0,0,2-2.83Z"/><path class="cls-22" d="M338.46,241.92a21,21,0,0,1-11.68,4.14l9.63-9.37Z"/><path class="cls-23" d="M338.12,207.32l-3.72,8.44a5.22,5.22,0,0,0-.36-0.43,11.34,11.34,0,0,0-8.73-3.9,12.49,12.49,0,0,0-2.67.28l-2.29-7.85a23.77,23.77,0,0,1,4.92-.49A21.44,21.44,0,0,1,338.12,207.32Z"/><path class="cls-24" d="M336.42,236.69l-9.63,9.37c-0.5,0-1,0-1.51,0a21.6,21.6,0,0,1-12.1-3.42l1.08-5.8,5.73,0a12.09,12.09,0,0,0,10.81-.09Z"/><path class="cls-25" d="M322.64,211.71a11.4,11.4,0,0,0-6.06,3.62,13.44,13.44,0,0,0-3.55,9.12l-9.17-3.5-0.21-.08,0.3-.45L313,207a20.33,20.33,0,0,1,7.39-3.09h0Z"/><path class="cls-26" d="M317.66,235.22a11.35,11.35,0,0,0,2.33,1.6l-5.73,0Z"/><path class="cls-26" d="M336.42,236.69l-5.62,0a11.76,11.76,0,0,0,2.87-2.18Z"/><path class="cls-27" d="M317.66,235.22l-3.4,1.65-10.43-15.73h0l-0.19-.28,0.21,0.08,9.17,3.5c0,0.11,0,.21,0,0.32a13.41,13.41,0,0,0,3.56,9.41A11.78,11.78,0,0,0,317.66,235.22Z"/><path class="cls-28" d="M313,207l-9,13.45a20.05,20.05,0,0,1,5.89-10.91A22,22,0,0,1,313,207Z"/><path class="cls-26" d="M287.69,245.69l15.79-5.24v4.83a0.41,0.41,0,0,1-.41.41H287.69Z"/><path class="cls-26" d="M314.26,236.88l-1.08,5.8a22,22,0,0,1-3.34-2.7c-0.41-.41-0.81-0.82-1.18-1.24Z"/><path class="cls-23" d="M303.48,237.87v2.59l-15.79,5.24h-8.55l8.13-8.23h15.81A0.41,0.41,0,0,1,303.48,237.87Z"/><path class="cls-23" d="M314.26,236.88l-5.6,1.86a20.43,20.43,0,0,1-5.1-14,23.47,23.47,0,0,1,.27-3.6Z"/><path class="cls-29" d="M287.26,237.46l-8.13,8.23H277a0.41,0.41,0,0,1-.41-0.41v0l9.23-26.08v17.89a0.4,0.4,0,0,0,.41.4h1Z"/><path class="cls-30" d="M285.85,204.73V207l-0.23-2.67A0.4,0.4,0,0,1,285.85,204.73Z"/><path class="cls-31" d="M272.08,210.85a0.42,0.42,0,0,1,0,.55l-5.19,5.89a0.4,0.4,0,0,1-.61,0,13.78,13.78,0,0,0-7-4.61l-2-9.21A21.73,21.73,0,0,1,272.08,210.85Z"/><path class="cls-31" d="M280.78,204.33l-4.16,4.23v-3.82a0.4,0.4,0,0,1,.41-0.41h3.75Z"/><path class="cls-32" d="M285.85,207v10l-9.23,2.55v-11l4.16-4.23h4.66a0.35,0.35,0,0,1,.17,0Z"/><path class="cls-33" d="M271.82,238a0.41,0.41,0,0,1,0,.56c-0.56.62-1.14,1.2-1.73,1.74l-4-7.92a0.39,0.39,0,0,1,.36.12Z"/><polygon class="cls-33" points="285.85 217 285.85 219.17 276.62 245.25 276.62 219.55 285.85 217"/><path class="cls-28" d="M270.11,240.26a21.44,21.44,0,0,1-9.63,5.32l0.54-9.3a14.11,14.11,0,0,0,4.86-3.79,0.44,0.44,0,0,1,.24-0.14Z"/><path class="cls-34" d="M261,236.28l-0.54,9.3c-0.63.15-1.26,0.28-1.9,0.36h0l-12.67-1.66h0q-0.43-.19-0.85-0.39l5.85-7.07a12.05,12.05,0,0,0,4.18.71A14.09,14.09,0,0,0,261,236.28Z"/><path class="cls-35" d="M250.86,236.81L245,243.88c-0.39-.19-0.76-0.4-1.13-0.61h0L237,236.85h0a19.26,19.26,0,0,1-2.08-4.05l9-3a11.29,11.29,0,0,0,2.7,4.3A11.73,11.73,0,0,0,250.86,236.81Z"/><polygon class="cls-36" points="231.03 208.57 233.97 207.68 232.93 209.51 231.03 208.57"/><path class="cls-36" d="M259.34,212.67a13.67,13.67,0,0,0-3.64-.47,12.68,12.68,0,0,0-8.91,3.4l-0.49.47-8.52-4.18h0a22.18,22.18,0,0,1,2.08-2.35,21.24,21.24,0,0,1,15.42-6.15c0.69,0,1.36,0,2,.08Z"/><polygon class="cls-37" points="231.03 208.57 232.93 209.51 231.35 212.25 231.03 208.57"/><path class="cls-37" d="M243.09,224.77a14.68,14.68,0,0,0,.79,5l-9,3a22.27,22.27,0,0,1-1.35-7.89,20.67,20.67,0,0,1,4.22-13l8.52,4.18A12,12,0,0,0,243.09,224.77Z"/><path class="cls-38" d="M245.88,244.27h0Z"/><path class="cls-38" d="M258.56,245.94a21.39,21.39,0,0,1-3.07.22,23.61,23.61,0,0,1-9.6-1.88Z"/><path class="cls-39" d="M235.54,204.93L234,207.67l-3,.9-1.49-4.24h5.65A0.4,0.4,0,0,1,235.54,204.93Z"/><polygon class="cls-40" points="221.57 240.73 221.57 241.81 219.48 240.42 221.57 240.73"/><path class="cls-34" d="M221.57,241.81v3.48a0.41,0.41,0,0,1-.41.41h-2l0.28-5.27Z"/><polygon class="cls-41" points="219.48 240.42 221.57 239.34 221.57 240.73 219.48 240.42"/><path class="cls-41" d="M243.88,243.27a20.93,20.93,0,0,1-4.13-3.14,20.42,20.42,0,0,1-2.74-3.28Z"/><polygon class="cls-42" points="231.35 212.25 223.65 225.71 216.13 219.75 216.78 219.26 217.11 219.01 217.55 218.69 217.55 218.68 217.55 218.67 231.03 208.57 231.35 212.25"/><path class="cls-43" d="M223.65,225.71l-2,3.55a0.41,0.41,0,0,0-.06.2v9.88l-2.09,1.07-3.35-20.67Z"/><path class="cls-44" d="M216.6,219.11a0.42,0.42,0,0,0,.17.16l-0.65.48,0.34-.87Z"/><path class="cls-44" d="M231,208.57l-13.47,10.1,8.22-14.15a0.41,0.41,0,0,1,.35-0.2h3.42Z"/><polygon class="cls-45" points="219.48 240.42 219.2 245.69 212.81 245.69 219.48 240.42"/><path class="cls-46" d="M194.89,204.73v2.82l-5.62-3.23h5.21A0.41,0.41,0,0,1,194.89,204.73Z"/><path class="cls-46" d="M216.26,218.52l-0.13,1.22-13.83-7.94-3.93-6.88a0.41,0.41,0,0,1,.35-0.61h9.07a0.41,0.41,0,0,1,.35.2Z"/><polygon class="cls-47" points="216.47 218.87 216.13 219.75 216.26 218.52 216.47 218.87"/><path class="cls-37" d="M219.48,240.42l-6.67,5.27h-0.06a0.41,0.41,0,0,1-.41-0.41v-3.14Z"/><path class="cls-48" d="M212.34,236.68v-7.21a0.41,0.41,0,0,0-.06-0.2l-2.87-5,6.71-4.5,3.35,20.67Z"/><path class="cls-42" d="M193.24,245.69l2.3-5v4.57a0.41,0.41,0,0,1-.41.41h-1.89Z"/><polygon class="cls-42" points="219.48 240.42 212.34 242.15 212.34 236.68 219.48 240.42"/><path class="cls-49" d="M194.89,207.55v4.59a0.41,0.41,0,0,1-.41.41h-3.9l-4.48-8.22h3.17Z"/><polygon class="cls-49" points="216.13 219.75 209.42 224.25 202.3 211.81 216.13 219.75"/><polygon class="cls-50" points="190.58 212.55 186.49 212.55 180.37 204.66 180.85 204.33 186.1 204.33 190.58 212.55"/><path class="cls-51" d="M195.53,237.93v2.79l-2.3,5h-3.15L166,234.08l8.26-.89v3.93a0.41,0.41,0,0,0,.41.41h20.43A0.41,0.41,0,0,1,195.53,237.93Z"/><polygon class="cls-52" points="186.49 212.55 176.53 212.55 180.37 204.66 186.49 212.55"/><path class="cls-52" d="M192.82,221.48v7.06a0.41,0.41,0,0,1-.41.41H174.7a0.41,0.41,0,0,0-.41.41v3.84l-8.26.89,8.26-16.94v3.53a0.41,0.41,0,0,0,.41.41h17.71A0.41,0.41,0,0,1,192.82,221.48Z"/><polygon class="cls-53" points="190.09 245.69 169.69 245.69 166.03 234.08 190.09 245.69"/><path class="cls-54" d="M180.37,204.66l-3.84,7.89H174.7a0.41,0.41,0,0,0-.41.41v4.18L166,234.08l-1-1.59V211.81Z"/><path class="cls-55" d="M160.51,205l-6,6.66-1.11-7.33h6.79A0.4,0.4,0,0,1,160.51,205Z"/><path class="cls-55" d="M180.37,204.66l-15.31,7.14v-7.08a0.4,0.4,0,0,1,.41-0.41h12.74Z"/><path class="cls-56" d="M156.47,239.17l3.84,5.38L151,242.09Z"/><path class="cls-56" d="M169.69,245.69h-4.22a0.41,0.41,0,0,1-.41-0.41V234.6l1-.52Z"/><path class="cls-53" d="M160.33,245.69H152l-1.08-3.6,9.35,2.45,0.36,0.5A0.41,0.41,0,0,1,160.33,245.69Z"/><path class="cls-57" d="M152.54,233.65l3.93,5.52L151,242.09l1.44-8.65Z"/><polygon class="cls-57" points="166.03 234.08 165.06 234.6 165.06 232.5 166.03 234.08"/><path class="cls-58" d="M152.4,233.44L151,242.09l-6.6-4.48-5.84-7.85a0.41,0.41,0,0,0-.63,0l-2,2.17-10.49-7.12,23.13-6.5-3.69,4.09a0.4,0.4,0,0,0,0,.5Q147,225.87,152.4,233.44Z"/><path class="cls-47" d="M152,245.69h-1.48a0.4,0.4,0,0,1-.32-0.17l-1.68-2.27,2.41-1.16Z"/><polygon class="cls-59" points="129.54 205.78 134.08 204.73 134.08 207.66 129.54 205.78"/><path class="cls-59" d="M154.52,211.66l-2.92,3.24-8.43-3.48,6.4-7a0.41,0.41,0,0,1,.3-0.13h3.54Z"/><path class="cls-60" d="M151.61,214.9l-3,3.37h0l-23.13,6.5,4.1-19,4.54,1.88v12.61a0.4,0.4,0,0,0,.7.28l8.4-9.13Z"/><path class="cls-61" d="M125.44,224.77l10.49,7.12-1.75,2a0.4,0.4,0,0,0-.1.27v11.16a0.41,0.41,0,0,1-.41.41h-0.12Z"/><polygon class="cls-61" points="150.95 242.09 148.55 243.26 144.35 237.61 150.95 242.09"/><polygon class="cls-62" points="112.41 226.64 120.89 225.43 120.89 235.26 112.41 226.64"/><polygon class="cls-62" points="133.56 245.69 131.16 245.69 124.85 239.28 124.85 224.85 125.44 224.77 133.56 245.69"/><path class="cls-61" d="M112.41,226.64l8.48,8.62v9.61a0.85,0.85,0,0,1-.85.85h-9.87Z"/><path class="cls-61" d="M131.16,245.69h-5.9a0.41,0.41,0,0,1-.41-0.41v-6Z"/><polygon class="cls-63" points="112.41 226.64 110.17 245.72 98.31 245.72 94.72 237.06 112.41 226.64"/><polygon class="cls-64" points="112.41 226.64 120.89 216.31 120.89 225.43 112.41 226.64"/><polygon class="cls-64" points="129.54 205.78 125.44 224.77 124.85 224.85 124.85 211.49 129.54 205.78"/><path class="cls-65" d="M120.89,205.14v11.17l-8.48,10.32L106,204.28h14A0.86,0.86,0,0,1,120.89,205.14Z"/><polygon class="cls-65" points="129.54 205.78 124.85 211.49 124.85 204.78 129.54 205.78"/><polygon class="cls-58" points="98.31 245.72 92.05 245.72 90.43 243.39 94.72 237.06 98.31 245.72"/><polygon class="cls-66" points="112.41 226.64 88.94 216.71 101.28 204.28 106.01 204.28 112.41 226.64"/><path class="cls-67" d="M88.94,216.71l5.78,20.35,17.69-10.43Z"/><polygon class="cls-50" points="92.05 245.72 90.36 245.72 90.43 243.39 92.05 245.72"/><polygon class="cls-68" points="101.28 204.28 88.94 216.71 86.71 205.59 91.48 204.28 101.28 204.28"/><path class="cls-69" d="M88.94,216.71l-28.49,6.57,30,20.11Z"/><path class="cls-67" d="M88.94,216.71l1.49,26.68,4.28-6.33Z"/><path class="cls-68" d="M86.71,205.59L60.45,223.28l28.49-6.57Z"/><polygon class="cls-70" points="60.45 223.28 48.1 245.72 41.07 245.72 35.87 222.91 60.45 223.28"/><path class="cls-71" d="M47.8,204.28L35.87,222.91l-3-17.51,0.43-.74s0,0,0,0a0.78,0.78,0,0,1,.66-0.37H47.8Z"/><path class="cls-70" d="M41.07,245.72H33.93a0.77,0.77,0,0,1-.67-0.39L23,227.58l12.87-4.67Z"/><polygon class="cls-72" points="35.87 222.91 27.56 214.53 32.83 205.4 35.87 222.91"/><polygon class="cls-73" points="73.47 204.28 65.25 204.28 52.67 204.28 60.45 223.28 86.71 205.59 78.8 204.28 73.47 204.28"/><polygon class="cls-73" points="49.42 204.28 47.8 204.28 35.87 222.91 60.45 223.28 52.67 204.28 49.42 204.28"/><polygon class="cls-74" points="84.72 245.72 89.3 245.72 90.36 245.72 90.43 243.39 84.72 245.72"/><polygon class="cls-67" points="90.43 243.39 60.45 223.28 65.85 245.72 73.47 245.72 84.72 245.72 90.43 243.39"/><polygon class="cls-75" points="48.1 245.72 49.42 245.72 65.25 245.72 65.85 245.72 60.45 223.28 48.1 245.72"/><polygon class="cls-62" points="180.85 204.33 180.37 204.66 180.14 204.33 180.85 204.33"/><polygon class="cls-76" points="180.37 204.66 178.21 204.33 180.14 204.33 180.37 204.66"/><path class="cls-75" d="M134.08,204.73l-4.54,1.05,1.24-1.45h2.89A0.4,0.4,0,0,1,134.08,204.73Z"/><polygon class="cls-77" points="130.78 204.33 129.54 205.78 129.28 204.33 130.78 204.33"/><path class="cls-68" d="M129.54,205.78l-4.69-1v0a0.4,0.4,0,0,1,.41-0.41h4Z"/><polygon class="cls-78" points="86.79 204.28 86.71 205.59 91.48 204.28 89.3 204.28 86.79 204.28"/><polygon class="cls-79" points="78.8 204.28 86.71 205.59 85.98 204.28 78.8 204.28"/><polygon class="cls-71" points="85.98 204.28 86.71 205.59 86.79 204.28 85.98 204.28"/><path class="cls-80" d="M65.17,204.64L53.59,224.69a0.67,0.67,0,0,0-.08.33H45.43l15.89-27.53a0.63,0.63,0,0,1,.24.23l0,0,3.6,6.26A0.69,0.69,0,0,1,65.17,204.64Z"/><path class="cls-81" d="M65.16,246.1l-3.6,6.23a0.7,0.7,0,0,1-.24.23L45.42,225h8.08a0.62,0.62,0,0,0,.08.31,0.07,0.07,0,0,0,0,0l11.56,20A0.68,0.68,0,0,1,65.16,246.1Z"/><path class="cls-82" d="M61.32,197.49L45.43,225h0l-4,6.91-3.8-6.6a0.62,0.62,0,0,1-.08-0.31,0.67,0.67,0,0,1,.08-0.33L41.49,218,53.2,197.74a0.68,0.68,0,0,1,.59-0.35H61A0.71,0.71,0,0,1,61.32,197.49Z"/><path class="cls-80" d="M61.32,252.56a0.71,0.71,0,0,1-.34.09H53.79a0.68,0.68,0,0,1-.59-0.35L42.5,233.77l-1.06-1.84,4-6.91Z"/><path class="cls-82" d="M93.28,225l-15.9,27.54a0.74,0.74,0,0,1-.24-0.23v0l-3.6-6.24a0.69,0.69,0,0,1,0-.64L85.1,225.37a0.67,0.67,0,0,0,.1-0.35h8.08Z"/><path class="cls-80" d="M101.14,225a0.67,0.67,0,0,1-.1.35l-15.57,27a0.68,0.68,0,0,1-.58.32H77.72a0.74,0.74,0,0,1-.35-0.09L93.28,225l4-6.9,3.78,6.56A0.67,0.67,0,0,1,101.14,225Z"/><path class="cls-80" d="M93.28,225H85.19a0.67,0.67,0,0,0-.1-0.34l-11.56-20a0.68,0.68,0,0,1,0-.69l3.6-6.24a0.74,0.74,0,0,1,.24-0.23Z"/><path class="cls-81" d="M97.26,218.11h0l-4,6.9-15.9-27.53a0.74,0.74,0,0,1,.35-0.09H84.9a0.68,0.68,0,0,1,.58.32Z"/></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 450"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M428,245.69h-9.77a0.42,0.42,0,0,1-.33-0.17l-0.76-1L415,241.7,409.32,234l-3.18-4.28a0.41,0.41,0,0,0-.63,0l-3.33,3.71-0.38.43a0.4,0.4,0,0,0-.1.27v11.16a0.41,0.41,0,0,1-.41.41h-8.42a0.41,0.41,0,0,1-.41-0.41V204.74a0.4,0.4,0,0,1,.41-0.41h8.42a0.41,0.41,0,0,1,.41.41v15.53a0.4,0.4,0,0,0,.7.28l4.65-5L414,208l3.24-3.52a0.41,0.41,0,0,1,.3-0.13h10.34a0.4,0.4,0,0,1,.41.42,0.46,0.46,0,0,1-.1.25l-4.66,5.17-7.74,8.61-3.23,3.58a0.4,0.4,0,0,0,0,.5l4,5.63,3.66,5.16,0.45,0.63,2.77,3.88,2.89,4.06,2,2.82A0.41,0.41,0,0,1,428,245.69Zm-38.72-.57a0.41,0.41,0,0,1-.37.57h-8.94a0.4,0.4,0,0,1-.37-0.25l-0.18-.4h0l-3.46-8a0.4,0.4,0,0,0-.37-0.25h-16.8a0.41,0.41,0,0,0-.38.25l-0.52,1.2-3.12,7.25h0a0.41,0.41,0,0,1-.36.23h-8.94a0.41,0.41,0,0,1-.37-0.57l0.62-1.44,4.22-9.76h0l0.15-.34,0.18-.41,0.08-.2,1.4-3.25v0h0l10.84-25.09a0.41,0.41,0,0,1,.37-0.25h8.4a0.4,0.4,0,0,1,.37.25l5.64,13,2.79,6.44,3.12,7.21,5.9,13.66Zm-17.16-17-0.59-1.38-2-4.63-2-4.57a0.41,0.41,0,0,0-.75,0l-3.51,8.11-1.07,2.48a0.4,0.4,0,0,0,.37.56h9.13A0.4,0.4,0,0,0,372.07,228.08Zm-26.51,4.66a17.7,17.7,0,0,1-.83,1.84,20.76,20.76,0,0,1-4,5.37l0,0a22.08,22.08,0,0,1-2.26,1.94,21,21,0,0,1-11.68,4.14c-0.5,0-1,0-1.51,0a21.6,21.6,0,0,1-12.1-3.42,22,22,0,0,1-3.34-2.7c-0.41-.41-0.81-0.82-1.18-1.24a20.43,20.43,0,0,1-5.1-14,23.47,23.47,0,0,1,.27-3.6h0l-0.19-.28,0.3-.45a20.05,20.05,0,0,1,5.89-10.91A22,22,0,0,1,313,207a20.33,20.33,0,0,1,7.39-3.09h0a23.77,23.77,0,0,1,4.92-.49,21.25,21.25,0,0,1,15.45,6.13,20.25,20.25,0,0,1,6.17,12.94h0c0.07,0.74.1,1.51,0.1,2.28A21.76,21.76,0,0,1,345.56,232.74Zm-8-8a13.54,13.54,0,0,0-3.18-9,5.22,5.22,0,0,0-.36-0.43,11.34,11.34,0,0,0-8.73-3.9,12.49,12.49,0,0,0-2.67.28,11.4,11.4,0,0,0-6.06,3.62,13.44,13.44,0,0,0-3.55,9.12c0,0.11,0,.21,0,0.32a13.41,13.41,0,0,0,3.56,9.41,11.78,11.78,0,0,0,1.07,1,11.35,11.35,0,0,0,2.33,1.6,12.09,12.09,0,0,0,10.81-.09,11.76,11.76,0,0,0,2.87-2.18l0.36-.38a13.42,13.42,0,0,0,2-2.83A13.84,13.84,0,0,0,337.59,224.77Zm-34.51,12.69H286.25a0.4,0.4,0,0,1-.41-0.4V204.74a0.4,0.4,0,0,0-.23-0.36,0.35,0.35,0,0,0-.17,0H277a0.4,0.4,0,0,0-.41.41v40.55a0.41,0.41,0,0,0,.41.41h26a0.41,0.41,0,0,0,.41-0.41v-7.42A0.41,0.41,0,0,0,303.07,237.46Zm-45.76-34c-0.67-.05-1.34-0.08-2-0.08a21.24,21.24,0,0,0-15.42,6.15,22.18,22.18,0,0,0-2.08,2.35h0a20.67,20.67,0,0,0-4.22,13,22.27,22.27,0,0,0,1.35,7.89,19.26,19.26,0,0,0,2.08,4.05h0a20.42,20.42,0,0,0,2.74,3.28,20.93,20.93,0,0,0,4.13,3.14h0c0.37,0.21.75,0.42,1.13,0.61s0.56,0.27.85,0.39h0a23.61,23.61,0,0,0,9.6,1.88,21.39,21.39,0,0,0,3.07-.22h0c0.64-.09,1.27-0.21,1.9-0.36a21.44,21.44,0,0,0,9.63-5.32c0.58-.54,1.16-1.12,1.73-1.74a0.41,0.41,0,0,0,0-.56l-5.34-5.49a0.39,0.39,0,0,0-.36-0.12,0.44,0.44,0,0,0-.24.14,13.55,13.55,0,0,1-10.84,5,12.05,12.05,0,0,1-4.18-.71,11.73,11.73,0,0,1-4.28-2.79,11.29,11.29,0,0,1-2.7-4.3,14.68,14.68,0,0,1-.79-5,12,12,0,0,1,3.21-8.7l0.49-.47a12.68,12.68,0,0,1,8.91-3.4,13.35,13.35,0,0,1,10.59,5.08,0.4,0.4,0,0,0,.61,0l5.19-5.89a0.42,0.42,0,0,0,0-.55A21.73,21.73,0,0,0,257.32,203.46ZM234,207.67l1.57-2.74a0.4,0.4,0,0,0-.35-0.61h-9.07a0.41,0.41,0,0,0-.35.2l-8.22,14.15h0l-0.44.32-0.33.25a0.42,0.42,0,0,1-.17-0.16l-0.14-.23-0.21-.35-8.12-14a0.41,0.41,0,0,0-.35-0.2h-9.07a0.41,0.41,0,0,0-.35.61l3.93,6.88,7.12,12.44,2.87,5a0.41,0.41,0,0,1,.06.2v15.82a0.41,0.41,0,0,0,.41.41h8.42a0.41,0.41,0,0,0,.41-0.41V229.46a0.41,0.41,0,0,1,.06-0.2l2-3.55,7.7-13.46,1.57-2.74,1-1.83h0Zm-38.85,29.85H174.7a0.41,0.41,0,0,1-.41-0.41v-7.77a0.41,0.41,0,0,1,.41-0.41h17.71a0.41,0.41,0,0,0,.41-0.41v-7.06a0.41,0.41,0,0,0-.41-0.41H174.7a0.41,0.41,0,0,1-.41-0.41V213a0.41,0.41,0,0,1,.41-0.41h19.78a0.41,0.41,0,0,0,.41-0.41v-7.41a0.41,0.41,0,0,0-.41-0.41h-29a0.4,0.4,0,0,0-.41.41v40.55a0.41,0.41,0,0,0,.41.41h29.66a0.41,0.41,0,0,0,.41-0.41v-7.36A0.41,0.41,0,0,0,195.13,237.52Zm-34.82,7-3.84-5.38-3.93-5.52-0.14-.21q-5.38-7.57-7.54-10.58a0.4,0.4,0,0,1,0-.5l3.69-4.09h0l3-3.37,2.92-3.24,6-6.66a0.4,0.4,0,0,0-.3-0.67H149.88a0.41,0.41,0,0,0-.3.13l-6.4,7-8.4,9.13a0.4,0.4,0,0,1-.7-0.28V204.73a0.4,0.4,0,0,0-.41-0.4h-8.42a0.4,0.4,0,0,0-.41.41v40.55a0.41,0.41,0,0,0,.41.41h8.42a0.41,0.41,0,0,0,.41-0.41V234.13a0.4,0.4,0,0,1,.1-0.27l1.75-2,2-2.17a0.41,0.41,0,0,1,.63,0l5.84,7.85,4.19,5.65,1.68,2.27a0.4,0.4,0,0,0,.32.17h9.78a0.41,0.41,0,0,0,.33-0.65ZM120,204.28H33.93a0.78,0.78,0,0,0-.66.37s0,0,0,0l-0.43.74-5.27,9.13-5.82,10.09a0.76,0.76,0,0,0,0,.76L23,227.58l10.25,17.76a0.77,0.77,0,0,0,.67.39H120a0.85,0.85,0,0,0,.85-0.85V205.14A0.86,0.86,0,0,0,120,204.28Z"/></clipPath><linearGradient id="linear-gradient" x1="20.71" y1="225.61" x2="430.83" y2="225.61" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M105.69,204.28a0.76,0.76,0,0,1-.66-0.38l-11.51-20a0.78,0.78,0,0,0-.67-0.38h-47a0.76,0.76,0,0,0-.66.38l-12,20.71h0l-11.52,20a0.77,0.77,0,0,0,0,.76l11.52,19.95,12,20.73a0.76,0.76,0,0,0,.66.38h47a0.78,0.78,0,0,0,.67-0.38l11.52-20a0.76,0.76,0,0,1,.66-0.38H120a0.86,0.86,0,0,0,.86-0.86V205.14a0.86,0.86,0,0,0-.86-0.86H105.69Z"/><g class="cls-3"><rect class="cls-4" x="20.71" y="197.91" width="410.13" height="55.4"/></g><path class="cls-5" d="M35.87,222.91L23,227.58l-1.27-2.19a0.76,0.76,0,0,1,0-.76l5.82-10.09Z"/><path class="cls-6" d="M428,245.69h-5.31l-4.85-3,8.47-.43,2,2.82A0.41,0.41,0,0,1,428,245.69Z"/><path class="cls-6" d="M422.64,245.69h-4.46a0.42,0.42,0,0,1-.33-0.17l-0.76-1,0.71-1.84Z"/><path class="cls-7" d="M428.24,204.75a0.46,0.46,0,0,1-.1.25l-4.66,5.17-0.29-2.9Z"/><path class="cls-8" d="M426.27,242.23l-8.47.43,5.58-4.49Z"/><path class="cls-9" d="M428.24,204.75l-5,2.52,0.86-2.94h3.78A0.4,0.4,0,0,1,428.24,204.75Z"/><path class="cls-10" d="M423.38,238.16l-5.58,4.49,2.81-8.37Z"/><polygon class="cls-11" points="424.05 204.33 423.19 207.27 418.29 204.33 424.05 204.33"/><path class="cls-12" d="M401.71,204.73v4.19l-9.23.72v-4.9a0.4,0.4,0,0,1,.41-0.41h8.42A0.41,0.41,0,0,1,401.71,204.73Z"/><path class="cls-12" d="M423.19,207.27L414,208l3.24-3.52a0.41,0.41,0,0,1,.3-0.13h0.79Z"/><path class="cls-13" d="M420.61,234.28l-2.81,8.37-2.79-1L409.32,234l7.19-5.55,3.66,5.16Z"/><polygon class="cls-9" points="401.7 208.92 401.7 213.47 392.48 209.97 392.48 209.64 401.7 208.92"/><polygon class="cls-9" points="423.48 210.17 415.74 218.78 407.06 215.5 413.97 207.98 423.19 207.27 423.48 210.17"/><path class="cls-14" d="M416.5,228.49L409.32,234l-3.18-4.28a0.41,0.41,0,0,0-.63,0l-3.33,3.71-9.71-22V210l9.23,3.49v6.8a0.4,0.4,0,0,0,.7.28l4.65-5,8.69,3.29-3.23,3.58a0.4,0.4,0,0,0,0,.5Z"/><polygon class="cls-15" points="417.8 242.65 417.09 244.49 415 241.7 417.8 242.65"/><path class="cls-16" d="M402.19,233.43l-0.38.43a0.4,0.4,0,0,0-.1.27v1.75L392.48,228V211.39Z"/><path class="cls-10" d="M389.23,245.12a0.41,0.41,0,0,1-.37.57h-1.35l1.64-.76Z"/><path class="cls-10" d="M401.71,239.14v6.14a0.41,0.41,0,0,1-.41.41h-8.42a0.41,0.41,0,0,1-.41-0.41V243.4Z"/><path class="cls-9" d="M389.15,244.93l-1.64.76h-7.59a0.4,0.4,0,0,1-.37-0.25l-0.18-.4h0l3.88-13.76Z"/><polygon class="cls-9" points="401.7 235.88 401.7 239.14 392.48 243.4 392.48 228.04 401.7 235.88"/><path class="cls-17" d="M383.25,231.28L379.37,245l-3.46-8a0.4,0.4,0,0,0-.37-0.25h-16.8a0.41,0.41,0,0,0-.38.25l-0.52,1.2L350,233.57l0.18-.41,14.87-4.52h6.62a0.4,0.4,0,0,0,.37-0.56l-0.59-1.38,8.65-2.63Z"/><path class="cls-18" d="M365.08,228.64l-14.87,4.52,0.08-.2,13-7.36-1.07,2.48a0.4,0.4,0,0,0,.37.56h2.5Z"/><polygon class="cls-18" points="380.13 224.06 371.48 226.7 369.5 222.07 377.35 217.62 380.13 224.06"/><path class="cls-12" d="M357.85,238.2l-3.12,7.25h0l-4.84-11.53h0l0.15-.34Z"/><path class="cls-19" d="M377.35,217.62l-7.85,4.45-2-4.57a0.41,0.41,0,0,0-.75,0l-3.51,8.11-13,7.36,1.4-3.25v0h0l14.36-25.33h5.25a0.4,0.4,0,0,1,.37.25Z"/><path class="cls-20" d="M345.26,216a20.46,20.46,0,0,1,1.63,6.44Z"/><path class="cls-20" d="M366.08,204.33l-14.36,25.33,10.84-25.09a0.41,0.41,0,0,1,.37-0.25h3.15Z"/><path class="cls-21" d="M347,224.74a21.76,21.76,0,0,1-1.43,8l-9.52-1.4a13.84,13.84,0,0,0,1.55-6.57,13.54,13.54,0,0,0-3.18-9l3.72-8.44a21.47,21.47,0,0,1,2.6,2.19,20.37,20.37,0,0,1,4.54,6.5l1.63,6.44h0C347,223.2,347,224,347,224.74Z"/><path class="cls-22" d="M336.42,236.69l8.32-2.1a20.76,20.76,0,0,1-4,5.37Z"/><path class="cls-22" d="M354.72,245.46a0.41,0.41,0,0,1-.36.23h-6l-2.65-2,4.22-9.76Z"/><path class="cls-18" d="M336.42,236.69l4.33,3.27,0,0a22.08,22.08,0,0,1-2.26,1.94Z"/><path class="cls-18" d="M348.32,245.69h-2.9a0.41,0.41,0,0,1-.37-0.57l0.62-1.44Z"/><path class="cls-20" d="M345.56,232.74a17.7,17.7,0,0,1-.83,1.84l-8.32,2.1-2.74-2.13,0.36-.38a13.42,13.42,0,0,0,2-2.83Z"/><path class="cls-22" d="M338.46,241.92a21,21,0,0,1-11.68,4.14l9.63-9.37Z"/><path class="cls-23" d="M338.12,207.32l-3.72,8.44a5.22,5.22,0,0,0-.36-0.43,11.34,11.34,0,0,0-8.73-3.9,12.49,12.49,0,0,0-2.67.28l-2.29-7.85a23.77,23.77,0,0,1,4.92-.49A21.44,21.44,0,0,1,338.12,207.32Z"/><path class="cls-24" d="M336.42,236.69l-9.63,9.37c-0.5,0-1,0-1.51,0a21.6,21.6,0,0,1-12.1-3.42l1.08-5.8,5.73,0a12.09,12.09,0,0,0,10.81-.09Z"/><path class="cls-25" d="M322.64,211.71a11.4,11.4,0,0,0-6.06,3.62,13.44,13.44,0,0,0-3.55,9.12l-9.17-3.5-0.21-.08,0.3-.45L313,207a20.33,20.33,0,0,1,7.39-3.09h0Z"/><path class="cls-26" d="M317.66,235.22a11.35,11.35,0,0,0,2.33,1.6l-5.73,0Z"/><path class="cls-26" d="M336.42,236.69l-5.62,0a11.76,11.76,0,0,0,2.87-2.18Z"/><path class="cls-27" d="M317.66,235.22l-3.4,1.65-10.43-15.73h0l-0.19-.28,0.21,0.08,9.17,3.5c0,0.11,0,.21,0,0.32a13.41,13.41,0,0,0,3.56,9.41A11.78,11.78,0,0,0,317.66,235.22Z"/><path class="cls-28" d="M313,207l-9,13.45a20.05,20.05,0,0,1,5.89-10.91A22,22,0,0,1,313,207Z"/><path class="cls-26" d="M287.69,245.69l15.79-5.24v4.83a0.41,0.41,0,0,1-.41.41H287.69Z"/><path class="cls-26" d="M314.26,236.88l-1.08,5.8a22,22,0,0,1-3.34-2.7c-0.41-.41-0.81-0.82-1.18-1.24Z"/><path class="cls-23" d="M303.48,237.87v2.59l-15.79,5.24h-8.55l8.13-8.23h15.81A0.41,0.41,0,0,1,303.48,237.87Z"/><path class="cls-23" d="M314.26,236.88l-5.6,1.86a20.43,20.43,0,0,1-5.1-14,23.47,23.47,0,0,1,.27-3.6Z"/><path class="cls-29" d="M287.26,237.46l-8.13,8.23H277a0.41,0.41,0,0,1-.41-0.41v0l9.23-26.08v17.89a0.4,0.4,0,0,0,.41.4h1Z"/><path class="cls-30" d="M285.85,204.73V207l-0.23-2.67A0.4,0.4,0,0,1,285.85,204.73Z"/><path class="cls-31" d="M272.08,210.85a0.42,0.42,0,0,1,0,.55l-5.19,5.89a0.4,0.4,0,0,1-.61,0,13.78,13.78,0,0,0-7-4.61l-2-9.21A21.73,21.73,0,0,1,272.08,210.85Z"/><path class="cls-31" d="M280.78,204.33l-4.16,4.23v-3.82a0.4,0.4,0,0,1,.41-0.41h3.75Z"/><path class="cls-32" d="M285.85,207v10l-9.23,2.55v-11l4.16-4.23h4.66a0.35,0.35,0,0,1,.17,0Z"/><path class="cls-33" d="M271.82,238a0.41,0.41,0,0,1,0,.56c-0.56.62-1.14,1.2-1.73,1.74l-4-7.92a0.39,0.39,0,0,1,.36.12Z"/><polygon class="cls-33" points="285.85 217 285.85 219.17 276.62 245.25 276.62 219.55 285.85 217"/><path class="cls-28" d="M270.11,240.26a21.44,21.44,0,0,1-9.63,5.32l0.54-9.3a14.11,14.11,0,0,0,4.86-3.79,0.44,0.44,0,0,1,.24-0.14Z"/><path class="cls-34" d="M261,236.28l-0.54,9.3c-0.63.15-1.26,0.28-1.9,0.36h0l-12.67-1.66h0q-0.43-.19-0.85-0.39l5.85-7.07a12.05,12.05,0,0,0,4.18.71A14.09,14.09,0,0,0,261,236.28Z"/><path class="cls-35" d="M250.86,236.81L245,243.88c-0.39-.19-0.76-0.4-1.13-0.61h0L237,236.85h0a19.26,19.26,0,0,1-2.08-4.05l9-3a11.29,11.29,0,0,0,2.7,4.3A11.73,11.73,0,0,0,250.86,236.81Z"/><polygon class="cls-36" points="231.03 208.57 233.97 207.68 232.93 209.51 231.03 208.57"/><path class="cls-36" d="M259.34,212.67a13.67,13.67,0,0,0-3.64-.47,12.68,12.68,0,0,0-8.91,3.4l-0.49.47-8.52-4.18h0a22.18,22.18,0,0,1,2.08-2.35,21.24,21.24,0,0,1,15.42-6.15c0.69,0,1.36,0,2,.08Z"/><polygon class="cls-37" points="231.03 208.57 232.93 209.51 231.35 212.25 231.03 208.57"/><path class="cls-37" d="M243.09,224.77a14.68,14.68,0,0,0,.79,5l-9,3a22.27,22.27,0,0,1-1.35-7.89,20.67,20.67,0,0,1,4.22-13l8.52,4.18A12,12,0,0,0,243.09,224.77Z"/><path class="cls-38" d="M245.88,244.27h0Z"/><path class="cls-38" d="M258.56,245.94a21.39,21.39,0,0,1-3.07.22,23.61,23.61,0,0,1-9.6-1.88Z"/><path class="cls-39" d="M235.54,204.93L234,207.67l-3,.9-1.49-4.24h5.65A0.4,0.4,0,0,1,235.54,204.93Z"/><polygon class="cls-40" points="221.57 240.73 221.57 241.81 219.48 240.42 221.57 240.73"/><path class="cls-34" d="M221.57,241.81v3.48a0.41,0.41,0,0,1-.41.41h-2l0.28-5.27Z"/><polygon class="cls-41" points="219.48 240.42 221.57 239.34 221.57 240.73 219.48 240.42"/><path class="cls-41" d="M243.88,243.27a20.93,20.93,0,0,1-4.13-3.14,20.42,20.42,0,0,1-2.74-3.28Z"/><polygon class="cls-42" points="231.35 212.25 223.65 225.71 216.13 219.75 216.78 219.26 217.11 219.01 217.55 218.69 217.55 218.68 217.55 218.67 231.03 208.57 231.35 212.25"/><path class="cls-43" d="M223.65,225.71l-2,3.55a0.41,0.41,0,0,0-.06.2v9.88l-2.09,1.07-3.35-20.67Z"/><path class="cls-44" d="M216.6,219.11a0.42,0.42,0,0,0,.17.16l-0.65.48,0.34-.87Z"/><path class="cls-44" d="M231,208.57l-13.47,10.1,8.22-14.15a0.41,0.41,0,0,1,.35-0.2h3.42Z"/><polygon class="cls-45" points="219.48 240.42 219.2 245.69 212.81 245.69 219.48 240.42"/><path class="cls-46" d="M194.89,204.73v2.82l-5.62-3.23h5.21A0.41,0.41,0,0,1,194.89,204.73Z"/><path class="cls-46" d="M216.26,218.52l-0.13,1.22-13.83-7.94-3.93-6.88a0.41,0.41,0,0,1,.35-0.61h9.07a0.41,0.41,0,0,1,.35.2Z"/><polygon class="cls-47" points="216.47 218.87 216.13 219.75 216.26 218.52 216.47 218.87"/><path class="cls-37" d="M219.48,240.42l-6.67,5.27h-0.06a0.41,0.41,0,0,1-.41-0.41v-3.14Z"/><path class="cls-48" d="M212.34,236.68v-7.21a0.41,0.41,0,0,0-.06-0.2l-2.87-5,6.71-4.5,3.35,20.67Z"/><path class="cls-42" d="M193.24,245.69l2.3-5v4.57a0.41,0.41,0,0,1-.41.41h-1.89Z"/><polygon class="cls-42" points="219.48 240.42 212.34 242.15 212.34 236.68 219.48 240.42"/><path class="cls-49" d="M194.89,207.55v4.59a0.41,0.41,0,0,1-.41.41h-3.9l-4.48-8.22h3.17Z"/><polygon class="cls-49" points="216.13 219.75 209.42 224.25 202.3 211.81 216.13 219.75"/><polygon class="cls-50" points="190.58 212.55 186.49 212.55 180.37 204.66 180.85 204.33 186.1 204.33 190.58 212.55"/><path class="cls-51" d="M195.53,237.93v2.79l-2.3,5h-3.15L166,234.08l8.26-.89v3.93a0.41,0.41,0,0,0,.41.41h20.43A0.41,0.41,0,0,1,195.53,237.93Z"/><polygon class="cls-52" points="186.49 212.55 176.53 212.55 180.37 204.66 186.49 212.55"/><path class="cls-52" d="M192.82,221.48v7.06a0.41,0.41,0,0,1-.41.41H174.7a0.41,0.41,0,0,0-.41.41v3.84l-8.26.89,8.26-16.94v3.53a0.41,0.41,0,0,0,.41.41h17.71A0.41,0.41,0,0,1,192.82,221.48Z"/><polygon class="cls-53" points="190.09 245.69 169.69 245.69 166.03 234.08 190.09 245.69"/><path class="cls-54" d="M180.37,204.66l-3.84,7.89H174.7a0.41,0.41,0,0,0-.41.41v4.18L166,234.08l-1-1.59V211.81Z"/><path class="cls-55" d="M160.51,205l-6,6.66-1.11-7.33h6.79A0.4,0.4,0,0,1,160.51,205Z"/><path class="cls-55" d="M180.37,204.66l-15.31,7.14v-7.08a0.4,0.4,0,0,1,.41-0.41h12.74Z"/><path class="cls-56" d="M156.47,239.17l3.84,5.38L151,242.09Z"/><path class="cls-56" d="M169.69,245.69h-4.22a0.41,0.41,0,0,1-.41-0.41V234.6l1-.52Z"/><path class="cls-53" d="M160.33,245.69H152l-1.08-3.6,9.35,2.45,0.36,0.5A0.41,0.41,0,0,1,160.33,245.69Z"/><path class="cls-57" d="M152.54,233.65l3.93,5.52L151,242.09l1.44-8.65Z"/><polygon class="cls-57" points="166.03 234.08 165.06 234.6 165.06 232.5 166.03 234.08"/><path class="cls-58" d="M152.4,233.44L151,242.09l-6.6-4.48-5.84-7.85a0.41,0.41,0,0,0-.63,0l-2,2.17-10.49-7.12,23.13-6.5-3.69,4.09a0.4,0.4,0,0,0,0,.5Q147,225.87,152.4,233.44Z"/><path class="cls-47" d="M152,245.69h-1.48a0.4,0.4,0,0,1-.32-0.17l-1.68-2.27,2.41-1.16Z"/><polygon class="cls-59" points="129.54 205.78 134.08 204.73 134.08 207.66 129.54 205.78"/><path class="cls-59" d="M154.52,211.66l-2.92,3.24-8.43-3.48,6.4-7a0.41,0.41,0,0,1,.3-0.13h3.54Z"/><path class="cls-60" d="M151.61,214.9l-3,3.37h0l-23.13,6.5,4.1-19,4.54,1.88v12.61a0.4,0.4,0,0,0,.7.28l8.4-9.13Z"/><path class="cls-61" d="M125.44,224.77l10.49,7.12-1.75,2a0.4,0.4,0,0,0-.1.27v11.16a0.41,0.41,0,0,1-.41.41h-0.12Z"/><polygon class="cls-61" points="150.95 242.09 148.55 243.26 144.35 237.61 150.95 242.09"/><polygon class="cls-62" points="112.41 226.64 120.89 225.43 120.89 235.26 112.41 226.64"/><polygon class="cls-62" points="133.56 245.69 131.16 245.69 124.85 239.28 124.85 224.85 125.44 224.77 133.56 245.69"/><path class="cls-61" d="M112.41,226.64l8.48,8.62v9.61a0.85,0.85,0,0,1-.85.85h-9.87Z"/><path class="cls-61" d="M131.16,245.69h-5.9a0.41,0.41,0,0,1-.41-0.41v-6Z"/><polygon class="cls-63" points="112.41 226.64 110.17 245.72 98.31 245.72 94.72 237.06 112.41 226.64"/><polygon class="cls-64" points="112.41 226.64 120.89 216.31 120.89 225.43 112.41 226.64"/><polygon class="cls-64" points="129.54 205.78 125.44 224.77 124.85 224.85 124.85 211.49 129.54 205.78"/><path class="cls-65" d="M120.89,205.14v11.17l-8.48,10.32L106,204.28h14A0.86,0.86,0,0,1,120.89,205.14Z"/><polygon class="cls-65" points="129.54 205.78 124.85 211.49 124.85 204.78 129.54 205.78"/><polygon class="cls-58" points="98.31 245.72 92.05 245.72 90.43 243.39 94.72 237.06 98.31 245.72"/><polygon class="cls-66" points="112.41 226.64 88.94 216.71 101.28 204.28 106.01 204.28 112.41 226.64"/><path class="cls-67" d="M88.94,216.71l5.78,20.35,17.69-10.43Z"/><polygon class="cls-50" points="92.05 245.72 90.36 245.72 90.43 243.39 92.05 245.72"/><polygon class="cls-68" points="101.28 204.28 88.94 216.71 86.71 205.59 91.48 204.28 101.28 204.28"/><path class="cls-69" d="M88.94,216.71l-28.49,6.57,30,20.11Z"/><path class="cls-67" d="M88.94,216.71l1.49,26.68,4.28-6.33Z"/><path class="cls-68" d="M86.71,205.59L60.45,223.28l28.49-6.57Z"/><polygon class="cls-70" points="60.45 223.28 48.1 245.72 41.07 245.72 35.87 222.91 60.45 223.28"/><path class="cls-71" d="M47.8,204.28L35.87,222.91l-3-17.51,0.43-.74s0,0,0,0a0.78,0.78,0,0,1,.66-0.37H47.8Z"/><path class="cls-70" d="M41.07,245.72H33.93a0.77,0.77,0,0,1-.67-0.39L23,227.58l12.87-4.67Z"/><polygon class="cls-72" points="35.87 222.91 27.56 214.53 32.83 205.4 35.87 222.91"/><polygon class="cls-73" points="73.47 204.28 65.25 204.28 52.67 204.28 60.45 223.28 86.71 205.59 78.8 204.28 73.47 204.28"/><polygon class="cls-73" points="49.42 204.28 47.8 204.28 35.87 222.91 60.45 223.28 52.67 204.28 49.42 204.28"/><polygon class="cls-74" points="84.72 245.72 89.3 245.72 90.36 245.72 90.43 243.39 84.72 245.72"/><polygon class="cls-67" points="90.43 243.39 60.45 223.28 65.85 245.72 73.47 245.72 84.72 245.72 90.43 243.39"/><polygon class="cls-75" points="48.1 245.72 49.42 245.72 65.25 245.72 65.85 245.72 60.45 223.28 48.1 245.72"/><polygon class="cls-62" points="180.85 204.33 180.37 204.66 180.14 204.33 180.85 204.33"/><polygon class="cls-76" points="180.37 204.66 178.21 204.33 180.14 204.33 180.37 204.66"/><path class="cls-75" d="M134.08,204.73l-4.54,1.05,1.24-1.45h2.89A0.4,0.4,0,0,1,134.08,204.73Z"/><polygon class="cls-77" points="130.78 204.33 129.54 205.78 129.28 204.33 130.78 204.33"/><path class="cls-68" d="M129.54,205.78l-4.69-1v0a0.4,0.4,0,0,1,.41-0.41h4Z"/><polygon class="cls-78" points="86.79 204.28 86.71 205.59 91.48 204.28 89.3 204.28 86.79 204.28"/><polygon class="cls-79" points="78.8 204.28 86.71 205.59 85.98 204.28 78.8 204.28"/><polygon class="cls-71" points="85.98 204.28 86.71 205.59 86.79 204.28 85.98 204.28"/><path class="cls-80" d="M65.17,204.64L53.59,224.69a0.67,0.67,0,0,0-.08.33H45.43l15.89-27.53a0.63,0.63,0,0,1,.24.23l0,0,3.6,6.26A0.69,0.69,0,0,1,65.17,204.64Z"/><path class="cls-81" d="M65.16,246.1l-3.6,6.23a0.7,0.7,0,0,1-.24.23L45.42,225h8.08a0.62,0.62,0,0,0,.08.31,0.07,0.07,0,0,0,0,0l11.56,20A0.68,0.68,0,0,1,65.16,246.1Z"/><path class="cls-82" d="M61.32,197.49L45.43,225h0l-4,6.91-3.8-6.6a0.62,0.62,0,0,1-.08-0.31,0.67,0.67,0,0,1,.08-0.33L41.49,218,53.2,197.74a0.68,0.68,0,0,1,.59-0.35H61A0.71,0.71,0,0,1,61.32,197.49Z"/><path class="cls-80" d="M61.32,252.56a0.71,0.71,0,0,1-.34.09H53.79a0.68,0.68,0,0,1-.59-0.35L42.5,233.77l-1.06-1.84,4-6.91Z"/><path class="cls-82" d="M93.28,225l-15.9,27.54a0.74,0.74,0,0,1-.24-0.23v0l-3.6-6.24a0.69,0.69,0,0,1,0-.64L85.1,225.37a0.67,0.67,0,0,0,.1-0.35h8.08Z"/><path class="cls-80" d="M101.14,225a0.67,0.67,0,0,1-.1.35l-15.57,27a0.68,0.68,0,0,1-.58.32H77.72a0.74,0.74,0,0,1-.35-0.09L93.28,225l4-6.9,3.78,6.56A0.67,0.67,0,0,1,101.14,225Z"/><path class="cls-80" d="M93.28,225H85.19a0.67,0.67,0,0,0-.1-0.34l-11.56-20a0.68,0.68,0,0,1,0-.69l3.6-6.24a0.74,0.74,0,0,1,.24-0.23Z"/><path class="cls-81" d="M97.26,218.11h0l-4,6.9-15.9-27.53a0.74,0.74,0,0,1,.35-0.09H84.9a0.68,0.68,0,0,1,.58.32Z"/></svg>
\ No newline at end of file
misc/logo/keycloak_logo_600px.svg 2(+1 -1)
diff --git a/misc/logo/keycloak_logo_600px.svg b/misc/logo/keycloak_logo_600px.svg
index 87c8de0..9267bf2 100644
--- a/misc/logo/keycloak_logo_600px.svg
+++ b/misc/logo/keycloak_logo_600px.svg
@@ -1 +1 @@
-<svg id="Guides" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 600 600"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M580.49,328.6H567a0.58,0.58,0,0,1-.46-0.23l-1.05-1.43-2.88-3.87-7.86-10.58-4.39-5.92a0.56,0.56,0,0,0-.86,0l-4.6,5.12-0.52.59a0.55,0.55,0,0,0-.14.37V328a0.57,0.57,0,0,1-.56.56H532a0.56,0.56,0,0,1-.56-0.56V272a0.56,0.56,0,0,1,.56-0.56h11.63a0.56,0.56,0,0,1,.56.56v21.47a0.56,0.56,0,0,0,1,.38l6.42-7,9.55-10.39,4.48-4.87a0.56,0.56,0,0,1,.41-0.18h14.28a0.56,0.56,0,0,1,.56.58,0.63,0.63,0,0,1-.14.35l-6.43,7.15-10.7,11.9-4.46,5a0.55,0.55,0,0,0,0,.69l5.56,7.77,5.06,7.13,0.62,0.87,3.83,5.36,4,5.62,2.79,3.9A0.57,0.57,0,0,1,580.49,328.6ZM527,327.81a0.57,0.57,0,0,1-.51.79H514.11a0.55,0.55,0,0,1-.51-0.34l-0.25-.55h0l-4.78-11.11a0.55,0.55,0,0,0-.51-0.34H484.84a0.57,0.57,0,0,0-.52.34l-0.71,1.65-4.31,10v0a0.56,0.56,0,0,1-.5.32H466.43a0.56,0.56,0,0,1-.51-0.79l0.86-2,5.83-13.49h0l0.21-.48,0.25-.56,0.11-.28,1.94-4.5v0l0,0h0l15-34.67a0.57,0.57,0,0,1,.51-0.34h11.61a0.55,0.55,0,0,1,.51.34l7.79,18,3.85,8.91,4.31,10,8.15,18.87Zm-23.71-23.55-0.82-1.91-2.74-6.4L497,289.63a0.57,0.57,0,0,0-1,0l-4.86,11.21-1.48,3.42a0.56,0.56,0,0,0,.51.78h12.61A0.56,0.56,0,0,0,503.26,304.26Zm-36.64,6.44a24.47,24.47,0,0,1-1.14,2.55,28.69,28.69,0,0,1-5.52,7.42l0,0a30.51,30.51,0,0,1-3.13,2.68,29,29,0,0,1-16.14,5.72c-0.68,0-1.38.07-2.08,0.07a29.86,29.86,0,0,1-16.72-4.73,30.35,30.35,0,0,1-4.62-3.74c-0.57-.56-1.12-1.13-1.63-1.72a28.24,28.24,0,0,1-7-19.33,32.44,32.44,0,0,1,.37-5h0l-0.26-.38,0.42-.63a27.71,27.71,0,0,1,8.14-15.07,30.43,30.43,0,0,1,4.31-3.52,28.1,28.1,0,0,1,10.22-4.28h0a32.86,32.86,0,0,1,6.8-.67,29.36,29.36,0,0,1,21.35,8.47,28,28,0,0,1,8.53,17.89v0c0.1,1,.14,2.08.14,3.16A30.07,30.07,0,0,1,466.63,310.7Zm-11-11a18.72,18.72,0,0,0-4.4-12.46,7.21,7.21,0,0,0-.5-0.59,15.67,15.67,0,0,0-12.06-5.39,17.27,17.27,0,0,0-3.69.39,15.75,15.75,0,0,0-8.37,5,18.58,18.58,0,0,0-4.9,12.6c0,0.15,0,.29,0,0.45a18.54,18.54,0,0,0,4.91,13,16.28,16.28,0,0,0,1.48,1.44,15.69,15.69,0,0,0,3.22,2.21,16.71,16.71,0,0,0,14.94-.12,16.26,16.26,0,0,0,4-3c0.17-.17.34-0.34,0.5-0.52a18.55,18.55,0,0,0,2.77-3.92A19.13,19.13,0,0,0,455.6,299.69Zm-47.7,17.53H384.65a0.55,0.55,0,0,1-.56-0.55V272a0.55,0.55,0,0,0-.32-0.5,0.49,0.49,0,0,0-.24-0.06H371.9a0.56,0.56,0,0,0-.56.56v56a0.56,0.56,0,0,0,.56.56h36a0.56,0.56,0,0,0,.56-0.56V317.78A0.56,0.56,0,0,0,407.9,317.22Zm-63.24-47c-0.92-.08-1.85-0.11-2.8-0.11a29.36,29.36,0,0,0-21.31,8.51,30.65,30.65,0,0,0-2.88,3.25h0a28.57,28.57,0,0,0-5.83,18,30.78,30.78,0,0,0,1.86,10.9,26.61,26.61,0,0,0,2.87,5.6h0a28.23,28.23,0,0,0,3.79,4.53,28.92,28.92,0,0,0,5.7,4.34h0c0.51,0.29,1,.58,1.57.85q0.57,0.29,1.17.54h0a32.63,32.63,0,0,0,13.27,2.59,29.57,29.57,0,0,0,4.24-.3h0c0.88-.12,1.76-0.29,2.62-0.5a29.64,29.64,0,0,0,13.31-7.35c0.81-.74,1.61-1.55,2.39-2.4a0.57,0.57,0,0,0,0-.78l-7.38-7.59a0.54,0.54,0,0,0-.49-0.16,0.61,0.61,0,0,0-.33.2,18.73,18.73,0,0,1-15,7,16.65,16.65,0,0,1-5.78-1,16.21,16.21,0,0,1-5.91-3.85,15.61,15.61,0,0,1-3.74-5.94,20.28,20.28,0,0,1-1.09-6.85q0-7.43,4.44-12c0.22-.22.44-0.44,0.67-0.66a17.52,17.52,0,0,1,12.31-4.7,18.45,18.45,0,0,1,14.64,7,0.55,0.55,0,0,0,.84,0l7.18-8.14a0.58,0.58,0,0,0,0-.76A30,30,0,0,0,344.66,270.24Zm-32.26,5.82,2.17-3.78a0.56,0.56,0,0,0-.48-0.84H301.55a0.57,0.57,0,0,0-.48.28l-11.36,19.55h0l-0.61.45-0.46.35a0.58,0.58,0,0,1-.24-0.22l-0.19-.32-0.29-.48L276.7,271.71a0.57,0.57,0,0,0-.48-0.28H263.68a0.56,0.56,0,0,0-.48.84l5.44,9.5L278.47,299l4,6.93a0.57,0.57,0,0,1,.08.28V328a0.56,0.56,0,0,0,.56.56H294.7a0.56,0.56,0,0,0,.56-0.56V306.17a0.57,0.57,0,0,1,.08-0.28l2.8-4.9,10.64-18.61,2.18-3.79,1.44-2.53h0Zm-53.69,41.26H230.48a0.56,0.56,0,0,1-.56-0.56V306a0.57,0.57,0,0,1,.56-0.56H255a0.56,0.56,0,0,0,.56-0.56v-9.75a0.56,0.56,0,0,0-.56-0.56H230.48a0.56,0.56,0,0,1-.56-0.56V283.36a0.56,0.56,0,0,1,.56-0.56h27.34a0.56,0.56,0,0,0,.56-0.56V272a0.56,0.56,0,0,0-.56-0.56h-40.1a0.56,0.56,0,0,0-.56.56v56a0.56,0.56,0,0,0,.56.56h41a0.56,0.56,0,0,0,.56-0.56V317.87A0.56,0.56,0,0,0,258.72,317.31ZM210.59,327q-2.18-3-5.3-7.43-2.44-3.41-5.43-7.62l-0.2-.29q-7.44-10.46-10.43-14.62a0.56,0.56,0,0,1,0-.69l5.09-5.65h0l4.19-4.66,4-4.48,8.28-9.2a0.56,0.56,0,0,0-.42-0.93H196.18a0.57,0.57,0,0,0-.42.18l-8.85,9.61-11.6,12.62a0.56,0.56,0,0,1-1-.38V272a0.55,0.55,0,0,0-.56-0.55H162.15a0.56,0.56,0,0,0-.56.56v56a0.56,0.56,0,0,0,.56.56h11.63a0.56,0.56,0,0,0,.56-0.56V312.61a0.55,0.55,0,0,1,.14-0.37l2.42-2.71,2.7-3a0.56,0.56,0,0,1,.86,0l8.07,10.85,5.8,7.8,2.33,3.14a0.55,0.55,0,0,0,.45.23h13.51a0.57,0.57,0,0,0,.46-0.89Zm-55.66-55.65h-119a1.08,1.08,0,0,0-.91.51s0,0,0,0l-0.59,1-7.28,12.62-8,13.94a1,1,0,0,0,0,1.05l1.75,3L35,328.11a1.06,1.06,0,0,0,.92.53h119a1.18,1.18,0,0,0,1.17-1.18v-54.9A1.19,1.19,0,0,0,154.93,271.37Z"/></clipPath><linearGradient id="linear-gradient" x1="17.66" y1="300.84" x2="584.47" y2="300.84" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M135.1,271.36a1,1,0,0,1-.91-0.52l-15.91-27.58a1.08,1.08,0,0,0-.93-0.52H52.45a1,1,0,0,0-.91.52L35,271.88a0,0,0,0,0,0,0L19.08,299.47a1.07,1.07,0,0,0,0,1.05L35,328.1l16.53,28.65a1,1,0,0,0,.91.52h64.91a1.08,1.08,0,0,0,.93-0.52l15.92-27.58a1,1,0,0,1,.91-0.52h19.81a1.19,1.19,0,0,0,1.19-1.19v-54.9a1.19,1.19,0,0,0-1.19-1.19H135.1Z"/><g class="cls-3"><rect class="cls-4" x="17.66" y="262.56" width="566.81" height="76.56"/></g><path class="cls-5" d="M38.62,297.11l-17.78,6.45-1.75-3a1,1,0,0,1,0-1.05l8-13.94Z"/><path class="cls-6" d="M580.49,328.6h-7.34l-6.7-4.2,11.71-.59,2.79,3.9A0.57,0.57,0,0,1,580.49,328.6Z"/><path class="cls-6" d="M573.15,328.6H567a0.58,0.58,0,0,1-.46-0.23l-1.05-1.43,1-2.55Z"/><path class="cls-7" d="M580.89,272a0.63,0.63,0,0,1-.14.35l-6.43,7.15-0.4-4Z"/><path class="cls-8" d="M578.16,323.81l-11.71.59,7.72-6.21Z"/><path class="cls-9" d="M580.89,272l-7,3.49,1.19-4.07h5.23A0.56,0.56,0,0,1,580.89,272Z"/><path class="cls-10" d="M574.17,318.19l-7.72,6.21,3.89-11.57Z"/><polygon class="cls-11" points="575.1 271.43 573.91 275.5 567.14 271.43 575.1 271.43"/><path class="cls-12" d="M544.21,272v5.79l-12.75,1V272a0.56,0.56,0,0,1,.56-0.56h11.63A0.56,0.56,0,0,1,544.21,272Z"/><path class="cls-12" d="M573.91,275.5l-12.75,1,4.48-4.87a0.56,0.56,0,0,1,.41-0.18h1.09Z"/><path class="cls-13" d="M570.34,312.83l-3.89,11.57-3.86-1.32-7.86-10.58,9.93-7.67,5.06,7.13Z"/><polygon class="cls-9" points="544.22 277.78 544.22 284.06 531.46 279.23 531.46 278.77 544.22 277.78"/><polygon class="cls-9" points="574.31 279.51 563.61 291.41 551.61 286.86 561.16 276.48 573.91 275.5 574.31 279.51"/><path class="cls-14" d="M564.67,304.83l-9.93,7.67-4.39-5.92a0.56,0.56,0,0,0-.86,0l-4.6,5.12-13.42-30.46v-2l12.75,4.83v9.4a0.56,0.56,0,0,0,1,.38l6.42-7,12,4.54-4.46,5a0.55,0.55,0,0,0,0,.69Z"/><polygon class="cls-15" points="566.45 324.39 565.48 326.94 562.6 323.07 566.45 324.39"/><path class="cls-16" d="M544.88,311.65l-0.52.59a0.55,0.55,0,0,0-.14.37V315l-12.75-10.82v-23Z"/><path class="cls-10" d="M527,327.81a0.57,0.57,0,0,1-.51.79H524.6l2.26-1Z"/><path class="cls-10" d="M544.21,319.55V328a0.57,0.57,0,0,1-.56.56H532a0.56,0.56,0,0,1-.56-0.56v-2.6Z"/><path class="cls-9" d="M526.86,327.55l-2.26,1H514.11a0.55,0.55,0,0,1-.51-0.34l-0.25-.55h0l5.36-19Z"/><polygon class="cls-9" points="544.22 315.03 544.22 319.55 531.46 325.43 531.46 304.21 544.22 315.03"/><path class="cls-17" d="M518.71,308.68l-5.36,19-4.78-11.11a0.55,0.55,0,0,0-.51-0.34H484.83a0.57,0.57,0,0,0-.52.34l-0.71,1.65-10.8-6.39,0.25-.56L493.6,305h9.15a0.56,0.56,0,0,0,.51-0.78l-0.82-1.91,12-3.64Z"/><path class="cls-18" d="M493.6,305L473,311.29l0.11-.28,17.94-10.18-1.48,3.42a0.56,0.56,0,0,0,.51.78h3.46Z"/><polygon class="cls-18" points="514.4 298.71 502.44 302.35 499.71 295.95 510.55 289.8 514.4 298.71"/><path class="cls-12" d="M483.6,318.24l-4.31,10v0l-6.69-15.94h0l0.21-.48Z"/><path class="cls-19" d="M510.55,289.8l-10.84,6.15L497,289.63a0.57,0.57,0,0,0-1,0l-4.86,11.21L473.16,311l1.94-4.5v0l0,0h0l19.84-35h7.26a0.55,0.55,0,0,1,.51.34Z"/><path class="cls-20" d="M466.21,287.57a28.28,28.28,0,0,1,2.25,8.91Z"/><path class="cls-20" d="M495,271.43l-19.84,35,15-34.67a0.57,0.57,0,0,1,.51-0.34H495Z"/><path class="cls-21" d="M468.6,299.65a30.07,30.07,0,0,1-2,11.05l-13.16-1.93a19.13,19.13,0,0,0,2.14-9.09,18.72,18.72,0,0,0-4.4-12.46l5.14-11.66a29.67,29.67,0,0,1,3.59,3,28.15,28.15,0,0,1,6.27,9l2.25,8.91v0C468.55,297.52,468.6,298.57,468.6,299.65Z"/><path class="cls-22" d="M454,316.16l11.5-2.91a28.69,28.69,0,0,1-5.52,7.42Z"/><path class="cls-22" d="M479.28,328.27a0.56,0.56,0,0,1-.5.32h-8.34l-3.67-2.78,5.83-13.49Z"/><path class="cls-18" d="M454,316.16l6,4.51,0,0a30.51,30.51,0,0,1-3.13,2.68Z"/><path class="cls-18" d="M470.44,328.6h-4a0.56,0.56,0,0,1-.51-0.79l0.86-2Z"/><path class="cls-20" d="M466.62,310.7a24.47,24.47,0,0,1-1.14,2.55L454,316.16l-3.79-2.95c0.17-.17.34-0.34,0.5-0.52a18.55,18.55,0,0,0,2.77-3.92Z"/><path class="cls-22" d="M456.81,323.38a29,29,0,0,1-16.14,5.72L454,316.16Z"/><path class="cls-23" d="M456.34,275.56l-5.14,11.66a7.21,7.21,0,0,0-.5-0.59,15.67,15.67,0,0,0-12.06-5.39,17.27,17.27,0,0,0-3.69.39l-3.16-10.84a32.86,32.86,0,0,1,6.8-.67A29.62,29.62,0,0,1,456.34,275.56Z"/><path class="cls-24" d="M454,316.16L440.67,329.1c-0.68,0-1.38.07-2.08,0.07a29.86,29.86,0,0,1-16.72-4.73l1.49-8,7.92-.07a16.71,16.71,0,0,0,14.94-.12Z"/><path class="cls-25" d="M434.95,281.64a15.75,15.75,0,0,0-8.37,5,18.58,18.58,0,0,0-4.9,12.6L409,294.4l-0.29-.11,0.42-.63,12.44-18.59a28.1,28.1,0,0,1,10.22-4.28h0Z"/><path class="cls-26" d="M428.06,314.13a15.69,15.69,0,0,0,3.22,2.21l-7.92.07Z"/><path class="cls-26" d="M454,316.16l-7.76.07a16.26,16.26,0,0,0,4-3Z"/><path class="cls-27" d="M428.06,314.13l-4.69,2.28L409,294.68h0l-0.26-.38L409,294.4l12.68,4.84c0,0.15,0,.29,0,0.45a18.54,18.54,0,0,0,4.91,13A16.28,16.28,0,0,0,428.06,314.13Z"/><path class="cls-28" d="M421.56,275.07l-12.44,18.59a27.71,27.71,0,0,1,8.14-15.07A30.43,30.43,0,0,1,421.56,275.07Z"/><path class="cls-26" d="M386.64,328.6l21.82-7.24V328a0.56,0.56,0,0,1-.56.56H386.64Z"/><path class="cls-26" d="M423.36,316.41l-1.49,8a30.35,30.35,0,0,1-4.62-3.74c-0.57-.56-1.12-1.13-1.63-1.72Z"/><path class="cls-23" d="M408.46,317.78v3.57l-21.82,7.24H374.82l11.23-11.38H407.9A0.56,0.56,0,0,1,408.46,317.78Z"/><path class="cls-23" d="M423.36,316.41L415.63,319a28.24,28.24,0,0,1-7-19.33,32.44,32.44,0,0,1,.37-5Z"/><path class="cls-29" d="M386.05,317.22L374.82,328.6H371.9a0.56,0.56,0,0,1-.56-0.56v0l12.75-36v24.72a0.55,0.55,0,0,0,.56.55h1.4Z"/><path class="cls-30" d="M384.09,272v3.18l-0.32-3.69A0.55,0.55,0,0,1,384.09,272Z"/><path class="cls-31" d="M365.07,280.45a0.58,0.58,0,0,1,0,.76l-7.18,8.14a0.55,0.55,0,0,1-.84,0,19,19,0,0,0-9.61-6.37l-2.79-12.73A30,30,0,0,1,365.07,280.45Z"/><path class="cls-31" d="M377.09,271.43l-5.75,5.84V272a0.56,0.56,0,0,1,.56-0.56h5.19Z"/><path class="cls-32" d="M384.09,275.17v13.77l-12.75,3.53v-15.2l5.75-5.84h6.44a0.49,0.49,0,0,1,.24.06Z"/><path class="cls-33" d="M364.7,317.9a0.57,0.57,0,0,1,0,.78c-0.78.86-1.58,1.66-2.39,2.4l-5.5-10.94a0.54,0.54,0,0,1,.49.16Z"/><polygon class="cls-33" points="384.09 288.94 384.09 291.95 371.34 327.99 371.34 292.47 384.09 288.94"/><path class="cls-28" d="M362.34,321.09A29.64,29.64,0,0,1,349,328.43l0.75-12.85a19.5,19.5,0,0,0,6.72-5.24,0.61,0.61,0,0,1,.33-0.2Z"/><path class="cls-34" d="M349.78,315.59L349,328.43c-0.86.21-1.74,0.38-2.62,0.5h0l-17.51-2.29h0q-0.6-.26-1.17-0.54l8.08-9.77a16.65,16.65,0,0,0,5.78,1A19.47,19.47,0,0,0,349.78,315.59Z"/><path class="cls-35" d="M335.75,316.33l-8.08,9.77c-0.53-.27-1.05-0.55-1.57-0.85h0l-9.49-8.88h0a26.61,26.61,0,0,1-2.87-5.6l12.39-4.21a15.61,15.61,0,0,0,3.74,5.94A16.21,16.21,0,0,0,335.75,316.33Z"/><polygon class="cls-36" points="308.33 277.29 312.4 276.06 310.96 278.59 308.33 277.29"/><path class="cls-36" d="M347.46,283a18.89,18.89,0,0,0-5-.66,17.52,17.52,0,0,0-12.31,4.7c-0.24.22-.46,0.44-0.67,0.66l-11.78-5.78h0a30.65,30.65,0,0,1,2.88-3.25,29.36,29.36,0,0,1,21.31-8.51c1,0,1.88,0,2.8.11Z"/><polygon class="cls-37" points="308.33 277.29 310.96 278.59 308.78 282.38 308.33 277.29"/><path class="cls-37" d="M325,299.68a20.28,20.28,0,0,0,1.09,6.85l-12.39,4.21a30.78,30.78,0,0,1-1.86-10.9,28.57,28.57,0,0,1,5.83-18l11.78,5.78Q325,292.25,325,299.68Z"/><path class="cls-38" d="M328.86,326.64h0Z"/><path class="cls-38" d="M346.38,328.94a29.57,29.57,0,0,1-4.24.3,32.63,32.63,0,0,1-13.27-2.59Z"/><path class="cls-39" d="M314.57,272.27L312.4,276l-4.08,1.25-2.05-5.86h7.81A0.56,0.56,0,0,1,314.57,272.27Z"/><polygon class="cls-40" points="295.26 321.73 295.26 323.23 292.37 321.31 295.26 321.73"/><path class="cls-34" d="M295.26,323.23V328a0.56,0.56,0,0,1-.56.56H292l0.39-7.29Z"/><polygon class="cls-41" points="292.37 321.31 295.26 319.82 295.26 321.73 292.37 321.31"/><path class="cls-41" d="M326.09,325.25a28.92,28.92,0,0,1-5.7-4.34,28.23,28.23,0,0,1-3.79-4.53Z"/><polygon class="cls-42" points="308.78 282.38 298.14 300.99 287.74 292.74 288.63 292.07 289.09 291.72 289.7 291.27 289.7 291.26 289.71 291.25 308.33 277.29 308.78 282.38"/><path class="cls-43" d="M298.14,301l-2.8,4.9a0.57,0.57,0,0,0-.08.28v13.66l-2.89,1.48-4.63-28.57Z"/><path class="cls-44" d="M288.4,291.85a0.58,0.58,0,0,0,.24.22l-0.89.67,0.47-1.21Z"/><path class="cls-44" d="M308.33,277.29l-18.62,14,11.36-19.55a0.57,0.57,0,0,1,.48-0.28h4.72Z"/><polygon class="cls-45" points="292.37 321.31 291.98 328.6 283.15 328.6 292.37 321.31"/><path class="cls-46" d="M258.38,272v3.9l-7.76-4.46h7.2A0.56,0.56,0,0,1,258.38,272Z"/><path class="cls-46" d="M287.92,291l-0.18,1.69-19.11-11-5.44-9.5a0.56,0.56,0,0,1,.48-0.84h12.54a0.57,0.57,0,0,1,.48.28Z"/><polygon class="cls-47" points="288.21 291.53 287.74 292.74 287.92 291.05 288.21 291.53"/><path class="cls-37" d="M292.37,321.31l-9.22,7.29h-0.09a0.56,0.56,0,0,1-.56-0.56V323.7Z"/><path class="cls-48" d="M282.51,316.14v-10a0.57,0.57,0,0,0-.08-0.28l-4-6.93,9.28-6.23,4.63,28.57Z"/><path class="cls-42" d="M256.1,328.6l3.17-6.88V328a0.56,0.56,0,0,1-.56.56H256.1Z"/><polygon class="cls-42" points="292.37 321.31 282.5 323.7 282.5 316.14 292.37 321.31"/><path class="cls-49" d="M258.38,275.89v6.35a0.56,0.56,0,0,1-.56.56h-5.39l-6.2-11.37h4.38Z"/><polygon class="cls-49" points="287.74 292.74 278.47 298.96 268.63 281.77 287.74 292.74"/><polygon class="cls-50" points="252.44 282.8 246.77 282.8 238.32 271.89 238.99 271.43 246.24 271.43 252.44 282.8"/><path class="cls-51" d="M259.28,317.87v3.85l-3.17,6.88h-4.35l-33.24-16,11.41-1.24v5.43a0.56,0.56,0,0,0,.56.56h28.24A0.56,0.56,0,0,1,259.28,317.87Z"/><polygon class="cls-52" points="246.77 282.8 233.01 282.8 238.32 271.89 246.77 282.8"/><path class="cls-52" d="M255.52,295.13v9.75a0.56,0.56,0,0,1-.56.56H230.48a0.57,0.57,0,0,0-.56.56v5.31l-11.41,1.24,11.41-23.42V294a0.56,0.56,0,0,0,.56.56H255A0.56,0.56,0,0,1,255.52,295.13Z"/><polygon class="cls-53" points="251.75 328.6 223.55 328.6 218.51 312.55 251.75 328.6"/><path class="cls-54" d="M238.32,271.9L233,282.8h-2.53a0.56,0.56,0,0,0-.56.56v5.78l-11.41,23.42-1.34-2.2V281.77Z"/><path class="cls-55" d="M210.87,272.36l-8.28,9.2-1.53-10.13h9.39A0.56,0.56,0,0,1,210.87,272.36Z"/><path class="cls-55" d="M238.32,271.9l-21.16,9.87V272a0.56,0.56,0,0,1,.56-0.56h17.6Z"/><path class="cls-56" d="M205.29,319.58q3.12,4.39,5.3,7.43l-12.93-3.38Z"/><path class="cls-56" d="M223.55,328.6h-5.83a0.56,0.56,0,0,1-.56-0.56V313.27l1.34-.71Z"/><path class="cls-53" d="M210.63,328.6H199.16l-1.49-5L210.59,327l0.49,0.69A0.57,0.57,0,0,1,210.63,328.6Z"/><path class="cls-57" d="M199.86,312q3,4.22,5.43,7.62l-7.62,4,2-12Z"/><polygon class="cls-57" points="218.51 312.55 217.17 313.27 217.17 310.36 218.51 312.55"/><path class="cls-58" d="M199.66,311.67l-2,12-9.12-6.2-8.07-10.85a0.56,0.56,0,0,0-.86,0l-2.7,3-14.5-9.85,32-9-5.09,5.65a0.56,0.56,0,0,0,0,.69Q192.21,301.2,199.66,311.67Z"/><path class="cls-47" d="M199.16,328.6h-2a0.55,0.55,0,0,1-.45-0.23l-2.33-3.14,3.33-1.61Z"/><polygon class="cls-59" points="168.07 273.44 174.34 271.98 174.34 276.03 168.07 273.44"/><path class="cls-59" d="M202.6,281.56l-4,4.48-11.65-4.82,8.85-9.61a0.57,0.57,0,0,1,.42-0.18h4.89Z"/><path class="cls-60" d="M198.57,286l-4.19,4.66h0l-32,9,5.66-26.25,6.27,2.59v17.43a0.56,0.56,0,0,0,1,.38l11.61-12.62Z"/><path class="cls-61" d="M162.4,299.68l14.5,9.85-2.42,2.71a0.55,0.55,0,0,0-.14.37V328a0.56,0.56,0,0,1-.56.56h-0.16Z"/><polygon class="cls-61" points="197.66 323.63 194.34 325.23 188.54 317.43 197.66 323.63"/><polygon class="cls-62" points="144.39 302.26 156.11 300.59 156.11 314.18 144.39 302.26"/><polygon class="cls-62" points="173.62 328.6 170.3 328.6 161.59 319.74 161.59 299.8 162.4 299.69 173.62 328.6"/><path class="cls-61" d="M144.39,302.26l11.72,11.92v13.28a1.18,1.18,0,0,1-1.17,1.18H141.31Z"/><path class="cls-61" d="M170.3,328.6h-8.15a0.56,0.56,0,0,1-.56-0.56v-8.3Z"/><polygon class="cls-63" points="144.39 302.26 141.31 328.63 124.91 328.63 119.94 316.67 144.39 302.26"/><polygon class="cls-64" points="144.39 302.26 156.11 288 156.11 300.59 144.39 302.26"/><polygon class="cls-64" points="168.07 273.44 162.4 299.69 161.59 299.8 161.59 281.32 168.07 273.44"/><path class="cls-65" d="M156.11,272.55V288l-11.72,14.27-8.84-30.9h19.37A1.19,1.19,0,0,1,156.11,272.55Z"/><polygon class="cls-65" points="168.07 273.44 161.59 281.32 161.59 272.06 168.07 273.44"/><polygon class="cls-58" points="124.91 328.63 116.26 328.63 114.02 325.42 119.94 316.67 124.91 328.63"/><polygon class="cls-66" points="144.39 302.26 111.96 288.55 129.02 271.36 135.56 271.36 144.39 302.26"/><path class="cls-67" d="M112,288.55l8,28.12,24.45-14.41Z"/><polygon class="cls-50" points="116.26 328.63 113.92 328.63 114.02 325.42 116.26 328.63"/><polygon class="cls-68" points="129.02 271.36 111.96 288.55 108.88 273.18 115.46 271.36 129.02 271.36"/><path class="cls-69" d="M112,288.55l-39.37,9.08L114,325.42Z"/><path class="cls-67" d="M112,288.55L114,325.42l5.92-8.75Z"/><path class="cls-68" d="M108.88,273.18L72.59,297.63,112,288.55Z"/><polygon class="cls-70" points="72.59 297.63 55.52 328.63 45.8 328.63 38.62 297.11 72.59 297.63"/><path class="cls-71" d="M55.09,271.36L38.62,297.11l-4.2-24.2,0.59-1s0,0,0,0a1.08,1.08,0,0,1,.91-0.51H55.09Z"/><path class="cls-70" d="M45.8,328.63H35.93A1.06,1.06,0,0,1,35,328.1L20.83,303.56l17.78-6.45Z"/><polygon class="cls-72" points="38.62 297.11 27.13 285.53 34.41 272.91 38.62 297.11"/><polygon class="cls-73" points="90.57 271.36 79.22 271.36 61.83 271.36 72.59 297.63 108.88 273.18 97.94 271.36 90.57 271.36"/><polygon class="cls-73" points="57.34 271.36 55.09 271.36 38.62 297.11 72.59 297.63 61.83 271.36 57.34 271.36"/><polygon class="cls-74" points="106.12 328.63 112.45 328.63 113.92 328.63 114.02 325.42 106.12 328.63"/><polygon class="cls-67" points="114.02 325.42 72.59 297.63 80.05 328.63 90.57 328.63 106.12 328.63 114.02 325.42"/><polygon class="cls-75" points="55.52 328.63 57.34 328.63 79.22 328.63 80.05 328.63 72.59 297.63 55.52 328.63"/><polygon class="cls-62" points="238.99 271.43 238.32 271.89 238 271.43 238.99 271.43"/><polygon class="cls-76" points="238.32 271.89 235.33 271.43 238 271.43 238.32 271.89"/><path class="cls-75" d="M174.34,272l-6.27,1.45,1.72-2h4A0.55,0.55,0,0,1,174.34,272Z"/><polygon class="cls-77" points="169.79 271.43 168.07 273.44 167.72 271.43 169.79 271.43"/><path class="cls-68" d="M168.07,273.44l-6.48-1.38V272a0.56,0.56,0,0,1,.56-0.56h5.57Z"/><polygon class="cls-78" points="108.99 271.36 108.88 273.18 115.46 271.36 112.45 271.36 108.99 271.36"/><polygon class="cls-79" points="97.94 271.36 108.88 273.18 107.87 271.36 97.94 271.36"/><polygon class="cls-71" points="107.87 271.36 108.88 273.18 108.99 271.36 107.87 271.36"/><path class="cls-80" d="M79.11,271.86l-16,27.72A0.93,0.93,0,0,0,63,300H51.83l22-38.05a0.86,0.86,0,0,1,.33.32l0,0,5,8.65A1,1,0,0,1,79.11,271.86Z"/><path class="cls-81" d="M79.09,329.16l-5,8.61a1,1,0,0,1-.34.32L51.82,300H63a0.85,0.85,0,0,0,.11.43,0.1,0.1,0,0,0,0,0l16,27.7A0.94,0.94,0,0,1,79.09,329.16Z"/><path class="cls-82" d="M73.78,262L51.83,300h0l-5.51,9.54L41,300.46a0.85,0.85,0,0,1-.11-0.43,0.93,0.93,0,0,1,.12-0.45l5.33-9.23,16.18-28a0.94,0.94,0,0,1,.82-0.48h9.93A1,1,0,0,1,73.78,262Z"/><path class="cls-80" d="M73.78,338.09a1,1,0,0,1-.47.13H63.38a0.94,0.94,0,0,1-.82-0.48L47.77,312.12l-1.46-2.54L51.82,300Z"/><path class="cls-82" d="M118,300L96,338.09a1,1,0,0,1-.33-0.32l0,0-5-8.63a1,1,0,0,1,0-.89l16-27.72a0.93,0.93,0,0,0,.13-0.48H118Z"/><path class="cls-80" d="M128.83,300a0.93,0.93,0,0,1-.13.48l-21.52,37.26a0.94,0.94,0,0,1-.8.44H96.46a1,1,0,0,1-.48-0.13L118,300l5.51-9.53,5.23,9.06A0.92,0.92,0,0,1,128.83,300Z"/><path class="cls-80" d="M118,300H106.78a0.92,0.92,0,0,0-.13-0.47l-16-27.69a0.94,0.94,0,0,1,0-1l5-8.62A1,1,0,0,1,96,262Z"/><path class="cls-81" d="M123.46,290.48h0L118,300,96,262a1,1,0,0,1,.48-0.13h9.92a0.94,0.94,0,0,1,.8.44Z"/></svg>
\ No newline at end of file
+<svg id="Guides" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4d4d4d;}.cls-3{clip-path:url(#clip-path);}.cls-4{fill:url(#linear-gradient);}.cls-5{fill:#e1e1e1;}.cls-6{fill:#585858;}.cls-7{fill:#696969;}.cls-8{fill:#5e5e5e;}.cls-9{fill:#6d6d6d;}.cls-10{fill:#636363;}.cls-11{fill:#737373;}.cls-12{fill:#757575;}.cls-13{fill:#646464;}.cls-14{fill:#6c6c6c;}.cls-15{fill:#606060;}.cls-16{fill:#707070;}.cls-17{fill:#767676;}.cls-18{fill:#797979;}.cls-19{fill:#7f7f7f;}.cls-20{fill:#868686;}.cls-21{fill:#8a8a8a;}.cls-22{fill:#7d7d7d;}.cls-23{fill:#919191;}.cls-24{fill:#858585;}.cls-25{fill:#929292;}.cls-26{fill:#898989;}.cls-27{fill:#8f8f8f;}.cls-28{fill:#999;}.cls-29{fill:#979797;}.cls-30{fill:#9f9f9f;}.cls-31{fill:#a6a6a6;}.cls-32{fill:#a0a0a0;}.cls-33{fill:#9b9b9b;}.cls-34{fill:#9d9d9d;}.cls-35{fill:#a3a3a3;}.cls-36{fill:#aaa;}.cls-37{fill:#a9a9a9;}.cls-38{fill:#989898;}.cls-39{fill:#b1b1b1;}.cls-40{fill:#9e9e9e;}.cls-41{fill:#a4a4a4;}.cls-42{fill:#aeaeae;}.cls-43{fill:#ababab;}.cls-44{fill:#b4b4b4;}.cls-45{fill:#a2a2a2;}.cls-46{fill:#bcbcbc;}.cls-47{fill:#b8b8b8;}.cls-48{fill:#b0b0b0;}.cls-49{fill:#b9b9b9;}.cls-50{fill:#bfbfbf;}.cls-51{fill:#b5b5b5;}.cls-52{fill:#bdbdbd;}.cls-53{fill:#b6b6b6;}.cls-54{fill:#c3c3c3;}.cls-55{fill:#c9c9c9;}.cls-56{fill:#bbb;}.cls-57{fill:#c1c1c1;}.cls-58{fill:#c6c6c6;}.cls-59{fill:#cdcdcd;}.cls-60{fill:#ccc;}.cls-61{fill:#c2c2c2;}.cls-62{fill:#c8c8c8;}.cls-63{fill:#c7c7c7;}.cls-64{fill:#cecece;}.cls-65{fill:#d3d3d3;}.cls-66{fill:#d5d5d5;}.cls-67{fill:#d0d0d0;}.cls-68{fill:#d9d9d9;}.cls-69{fill:#d4d4d4;}.cls-70{fill:#d8d8d8;}.cls-71{fill:#e2e2e2;}.cls-72{fill:#e4e4e4;}.cls-73{fill:#dedede;}.cls-74{fill:#c5c5c5;}.cls-75{fill:#d1d1d1;}.cls-76{fill:#cbcbcb;}.cls-77{fill:#d7d7d7;}.cls-78{fill:#ddd;}.cls-79{fill:#e3e3e3;}.cls-80{fill:#00b8e3;}.cls-81{fill:#33c6e9;}.cls-82{fill:#008aaa;}</style><clipPath id="clip-path"><path class="cls-1" d="M580.49,328.6H567a0.58,0.58,0,0,1-.46-0.23l-1.05-1.43-2.88-3.87-7.86-10.58-4.39-5.92a0.56,0.56,0,0,0-.86,0l-4.6,5.12-0.52.59a0.55,0.55,0,0,0-.14.37V328a0.57,0.57,0,0,1-.56.56H532a0.56,0.56,0,0,1-.56-0.56V272a0.56,0.56,0,0,1,.56-0.56h11.63a0.56,0.56,0,0,1,.56.56v21.47a0.56,0.56,0,0,0,1,.38l6.42-7,9.55-10.39,4.48-4.87a0.56,0.56,0,0,1,.41-0.18h14.28a0.56,0.56,0,0,1,.56.58,0.63,0.63,0,0,1-.14.35l-6.43,7.15-10.7,11.9-4.46,5a0.55,0.55,0,0,0,0,.69l5.56,7.77,5.06,7.13,0.62,0.87,3.83,5.36,4,5.62,2.79,3.9A0.57,0.57,0,0,1,580.49,328.6ZM527,327.81a0.57,0.57,0,0,1-.51.79H514.11a0.55,0.55,0,0,1-.51-0.34l-0.25-.55h0l-4.78-11.11a0.55,0.55,0,0,0-.51-0.34H484.84a0.57,0.57,0,0,0-.52.34l-0.71,1.65-4.31,10v0a0.56,0.56,0,0,1-.5.32H466.43a0.56,0.56,0,0,1-.51-0.79l0.86-2,5.83-13.49h0l0.21-.48,0.25-.56,0.11-.28,1.94-4.5v0l0,0h0l15-34.67a0.57,0.57,0,0,1,.51-0.34h11.61a0.55,0.55,0,0,1,.51.34l7.79,18,3.85,8.91,4.31,10,8.15,18.87Zm-23.71-23.55-0.82-1.91-2.74-6.4L497,289.63a0.57,0.57,0,0,0-1,0l-4.86,11.21-1.48,3.42a0.56,0.56,0,0,0,.51.78h12.61A0.56,0.56,0,0,0,503.26,304.26Zm-36.64,6.44a24.47,24.47,0,0,1-1.14,2.55,28.69,28.69,0,0,1-5.52,7.42l0,0a30.51,30.51,0,0,1-3.13,2.68,29,29,0,0,1-16.14,5.72c-0.68,0-1.38.07-2.08,0.07a29.86,29.86,0,0,1-16.72-4.73,30.35,30.35,0,0,1-4.62-3.74c-0.57-.56-1.12-1.13-1.63-1.72a28.24,28.24,0,0,1-7-19.33,32.44,32.44,0,0,1,.37-5h0l-0.26-.38,0.42-.63a27.71,27.71,0,0,1,8.14-15.07,30.43,30.43,0,0,1,4.31-3.52,28.1,28.1,0,0,1,10.22-4.28h0a32.86,32.86,0,0,1,6.8-.67,29.36,29.36,0,0,1,21.35,8.47,28,28,0,0,1,8.53,17.89v0c0.1,1,.14,2.08.14,3.16A30.07,30.07,0,0,1,466.63,310.7Zm-11-11a18.72,18.72,0,0,0-4.4-12.46,7.21,7.21,0,0,0-.5-0.59,15.67,15.67,0,0,0-12.06-5.39,17.27,17.27,0,0,0-3.69.39,15.75,15.75,0,0,0-8.37,5,18.58,18.58,0,0,0-4.9,12.6c0,0.15,0,.29,0,0.45a18.54,18.54,0,0,0,4.91,13,16.28,16.28,0,0,0,1.48,1.44,15.69,15.69,0,0,0,3.22,2.21,16.71,16.71,0,0,0,14.94-.12,16.26,16.26,0,0,0,4-3c0.17-.17.34-0.34,0.5-0.52a18.55,18.55,0,0,0,2.77-3.92A19.13,19.13,0,0,0,455.6,299.69Zm-47.7,17.53H384.65a0.55,0.55,0,0,1-.56-0.55V272a0.55,0.55,0,0,0-.32-0.5,0.49,0.49,0,0,0-.24-0.06H371.9a0.56,0.56,0,0,0-.56.56v56a0.56,0.56,0,0,0,.56.56h36a0.56,0.56,0,0,0,.56-0.56V317.78A0.56,0.56,0,0,0,407.9,317.22Zm-63.24-47c-0.92-.08-1.85-0.11-2.8-0.11a29.36,29.36,0,0,0-21.31,8.51,30.65,30.65,0,0,0-2.88,3.25h0a28.57,28.57,0,0,0-5.83,18,30.78,30.78,0,0,0,1.86,10.9,26.61,26.61,0,0,0,2.87,5.6h0a28.23,28.23,0,0,0,3.79,4.53,28.92,28.92,0,0,0,5.7,4.34h0c0.51,0.29,1,.58,1.57.85q0.57,0.29,1.17.54h0a32.63,32.63,0,0,0,13.27,2.59,29.57,29.57,0,0,0,4.24-.3h0c0.88-.12,1.76-0.29,2.62-0.5a29.64,29.64,0,0,0,13.31-7.35c0.81-.74,1.61-1.55,2.39-2.4a0.57,0.57,0,0,0,0-.78l-7.38-7.59a0.54,0.54,0,0,0-.49-0.16,0.61,0.61,0,0,0-.33.2,18.73,18.73,0,0,1-15,7,16.65,16.65,0,0,1-5.78-1,16.21,16.21,0,0,1-5.91-3.85,15.61,15.61,0,0,1-3.74-5.94,20.28,20.28,0,0,1-1.09-6.85q0-7.43,4.44-12c0.22-.22.44-0.44,0.67-0.66a17.52,17.52,0,0,1,12.31-4.7,18.45,18.45,0,0,1,14.64,7,0.55,0.55,0,0,0,.84,0l7.18-8.14a0.58,0.58,0,0,0,0-.76A30,30,0,0,0,344.66,270.24Zm-32.26,5.82,2.17-3.78a0.56,0.56,0,0,0-.48-0.84H301.55a0.57,0.57,0,0,0-.48.28l-11.36,19.55h0l-0.61.45-0.46.35a0.58,0.58,0,0,1-.24-0.22l-0.19-.32-0.29-.48L276.7,271.71a0.57,0.57,0,0,0-.48-0.28H263.68a0.56,0.56,0,0,0-.48.84l5.44,9.5L278.47,299l4,6.93a0.57,0.57,0,0,1,.08.28V328a0.56,0.56,0,0,0,.56.56H294.7a0.56,0.56,0,0,0,.56-0.56V306.17a0.57,0.57,0,0,1,.08-0.28l2.8-4.9,10.64-18.61,2.18-3.79,1.44-2.53h0Zm-53.69,41.26H230.48a0.56,0.56,0,0,1-.56-0.56V306a0.57,0.57,0,0,1,.56-0.56H255a0.56,0.56,0,0,0,.56-0.56v-9.75a0.56,0.56,0,0,0-.56-0.56H230.48a0.56,0.56,0,0,1-.56-0.56V283.36a0.56,0.56,0,0,1,.56-0.56h27.34a0.56,0.56,0,0,0,.56-0.56V272a0.56,0.56,0,0,0-.56-0.56h-40.1a0.56,0.56,0,0,0-.56.56v56a0.56,0.56,0,0,0,.56.56h41a0.56,0.56,0,0,0,.56-0.56V317.87A0.56,0.56,0,0,0,258.72,317.31ZM210.59,327q-2.18-3-5.3-7.43-2.44-3.41-5.43-7.62l-0.2-.29q-7.44-10.46-10.43-14.62a0.56,0.56,0,0,1,0-.69l5.09-5.65h0l4.19-4.66,4-4.48,8.28-9.2a0.56,0.56,0,0,0-.42-0.93H196.18a0.57,0.57,0,0,0-.42.18l-8.85,9.61-11.6,12.62a0.56,0.56,0,0,1-1-.38V272a0.55,0.55,0,0,0-.56-0.55H162.15a0.56,0.56,0,0,0-.56.56v56a0.56,0.56,0,0,0,.56.56h11.63a0.56,0.56,0,0,0,.56-0.56V312.61a0.55,0.55,0,0,1,.14-0.37l2.42-2.71,2.7-3a0.56,0.56,0,0,1,.86,0l8.07,10.85,5.8,7.8,2.33,3.14a0.55,0.55,0,0,0,.45.23h13.51a0.57,0.57,0,0,0,.46-0.89Zm-55.66-55.65h-119a1.08,1.08,0,0,0-.91.51s0,0,0,0l-0.59,1-7.28,12.62-8,13.94a1,1,0,0,0,0,1.05l1.75,3L35,328.11a1.06,1.06,0,0,0,.92.53h119a1.18,1.18,0,0,0,1.17-1.18v-54.9A1.19,1.19,0,0,0,154.93,271.37Z"/></clipPath><linearGradient id="linear-gradient" x1="17.66" y1="300.84" x2="584.47" y2="300.84" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e6e6e6"/><stop offset="1" stop-color="#595959"/></linearGradient></defs><title>keycloak_deliverables</title><path class="cls-2" d="M135.1,271.36a1,1,0,0,1-.91-0.52l-15.91-27.58a1.08,1.08,0,0,0-.93-0.52H52.45a1,1,0,0,0-.91.52L35,271.88a0,0,0,0,0,0,0L19.08,299.47a1.07,1.07,0,0,0,0,1.05L35,328.1l16.53,28.65a1,1,0,0,0,.91.52h64.91a1.08,1.08,0,0,0,.93-0.52l15.92-27.58a1,1,0,0,1,.91-0.52h19.81a1.19,1.19,0,0,0,1.19-1.19v-54.9a1.19,1.19,0,0,0-1.19-1.19H135.1Z"/><g class="cls-3"><rect class="cls-4" x="17.66" y="262.56" width="566.81" height="76.56"/></g><path class="cls-5" d="M38.62,297.11l-17.78,6.45-1.75-3a1,1,0,0,1,0-1.05l8-13.94Z"/><path class="cls-6" d="M580.49,328.6h-7.34l-6.7-4.2,11.71-.59,2.79,3.9A0.57,0.57,0,0,1,580.49,328.6Z"/><path class="cls-6" d="M573.15,328.6H567a0.58,0.58,0,0,1-.46-0.23l-1.05-1.43,1-2.55Z"/><path class="cls-7" d="M580.89,272a0.63,0.63,0,0,1-.14.35l-6.43,7.15-0.4-4Z"/><path class="cls-8" d="M578.16,323.81l-11.71.59,7.72-6.21Z"/><path class="cls-9" d="M580.89,272l-7,3.49,1.19-4.07h5.23A0.56,0.56,0,0,1,580.89,272Z"/><path class="cls-10" d="M574.17,318.19l-7.72,6.21,3.89-11.57Z"/><polygon class="cls-11" points="575.1 271.43 573.91 275.5 567.14 271.43 575.1 271.43"/><path class="cls-12" d="M544.21,272v5.79l-12.75,1V272a0.56,0.56,0,0,1,.56-0.56h11.63A0.56,0.56,0,0,1,544.21,272Z"/><path class="cls-12" d="M573.91,275.5l-12.75,1,4.48-4.87a0.56,0.56,0,0,1,.41-0.18h1.09Z"/><path class="cls-13" d="M570.34,312.83l-3.89,11.57-3.86-1.32-7.86-10.58,9.93-7.67,5.06,7.13Z"/><polygon class="cls-9" points="544.22 277.78 544.22 284.06 531.46 279.23 531.46 278.77 544.22 277.78"/><polygon class="cls-9" points="574.31 279.51 563.61 291.41 551.61 286.86 561.16 276.48 573.91 275.5 574.31 279.51"/><path class="cls-14" d="M564.67,304.83l-9.93,7.67-4.39-5.92a0.56,0.56,0,0,0-.86,0l-4.6,5.12-13.42-30.46v-2l12.75,4.83v9.4a0.56,0.56,0,0,0,1,.38l6.42-7,12,4.54-4.46,5a0.55,0.55,0,0,0,0,.69Z"/><polygon class="cls-15" points="566.45 324.39 565.48 326.94 562.6 323.07 566.45 324.39"/><path class="cls-16" d="M544.88,311.65l-0.52.59a0.55,0.55,0,0,0-.14.37V315l-12.75-10.82v-23Z"/><path class="cls-10" d="M527,327.81a0.57,0.57,0,0,1-.51.79H524.6l2.26-1Z"/><path class="cls-10" d="M544.21,319.55V328a0.57,0.57,0,0,1-.56.56H532a0.56,0.56,0,0,1-.56-0.56v-2.6Z"/><path class="cls-9" d="M526.86,327.55l-2.26,1H514.11a0.55,0.55,0,0,1-.51-0.34l-0.25-.55h0l5.36-19Z"/><polygon class="cls-9" points="544.22 315.03 544.22 319.55 531.46 325.43 531.46 304.21 544.22 315.03"/><path class="cls-17" d="M518.71,308.68l-5.36,19-4.78-11.11a0.55,0.55,0,0,0-.51-0.34H484.83a0.57,0.57,0,0,0-.52.34l-0.71,1.65-10.8-6.39,0.25-.56L493.6,305h9.15a0.56,0.56,0,0,0,.51-0.78l-0.82-1.91,12-3.64Z"/><path class="cls-18" d="M493.6,305L473,311.29l0.11-.28,17.94-10.18-1.48,3.42a0.56,0.56,0,0,0,.51.78h3.46Z"/><polygon class="cls-18" points="514.4 298.71 502.44 302.35 499.71 295.95 510.55 289.8 514.4 298.71"/><path class="cls-12" d="M483.6,318.24l-4.31,10v0l-6.69-15.94h0l0.21-.48Z"/><path class="cls-19" d="M510.55,289.8l-10.84,6.15L497,289.63a0.57,0.57,0,0,0-1,0l-4.86,11.21L473.16,311l1.94-4.5v0l0,0h0l19.84-35h7.26a0.55,0.55,0,0,1,.51.34Z"/><path class="cls-20" d="M466.21,287.57a28.28,28.28,0,0,1,2.25,8.91Z"/><path class="cls-20" d="M495,271.43l-19.84,35,15-34.67a0.57,0.57,0,0,1,.51-0.34H495Z"/><path class="cls-21" d="M468.6,299.65a30.07,30.07,0,0,1-2,11.05l-13.16-1.93a19.13,19.13,0,0,0,2.14-9.09,18.72,18.72,0,0,0-4.4-12.46l5.14-11.66a29.67,29.67,0,0,1,3.59,3,28.15,28.15,0,0,1,6.27,9l2.25,8.91v0C468.55,297.52,468.6,298.57,468.6,299.65Z"/><path class="cls-22" d="M454,316.16l11.5-2.91a28.69,28.69,0,0,1-5.52,7.42Z"/><path class="cls-22" d="M479.28,328.27a0.56,0.56,0,0,1-.5.32h-8.34l-3.67-2.78,5.83-13.49Z"/><path class="cls-18" d="M454,316.16l6,4.51,0,0a30.51,30.51,0,0,1-3.13,2.68Z"/><path class="cls-18" d="M470.44,328.6h-4a0.56,0.56,0,0,1-.51-0.79l0.86-2Z"/><path class="cls-20" d="M466.62,310.7a24.47,24.47,0,0,1-1.14,2.55L454,316.16l-3.79-2.95c0.17-.17.34-0.34,0.5-0.52a18.55,18.55,0,0,0,2.77-3.92Z"/><path class="cls-22" d="M456.81,323.38a29,29,0,0,1-16.14,5.72L454,316.16Z"/><path class="cls-23" d="M456.34,275.56l-5.14,11.66a7.21,7.21,0,0,0-.5-0.59,15.67,15.67,0,0,0-12.06-5.39,17.27,17.27,0,0,0-3.69.39l-3.16-10.84a32.86,32.86,0,0,1,6.8-.67A29.62,29.62,0,0,1,456.34,275.56Z"/><path class="cls-24" d="M454,316.16L440.67,329.1c-0.68,0-1.38.07-2.08,0.07a29.86,29.86,0,0,1-16.72-4.73l1.49-8,7.92-.07a16.71,16.71,0,0,0,14.94-.12Z"/><path class="cls-25" d="M434.95,281.64a15.75,15.75,0,0,0-8.37,5,18.58,18.58,0,0,0-4.9,12.6L409,294.4l-0.29-.11,0.42-.63,12.44-18.59a28.1,28.1,0,0,1,10.22-4.28h0Z"/><path class="cls-26" d="M428.06,314.13a15.69,15.69,0,0,0,3.22,2.21l-7.92.07Z"/><path class="cls-26" d="M454,316.16l-7.76.07a16.26,16.26,0,0,0,4-3Z"/><path class="cls-27" d="M428.06,314.13l-4.69,2.28L409,294.68h0l-0.26-.38L409,294.4l12.68,4.84c0,0.15,0,.29,0,0.45a18.54,18.54,0,0,0,4.91,13A16.28,16.28,0,0,0,428.06,314.13Z"/><path class="cls-28" d="M421.56,275.07l-12.44,18.59a27.71,27.71,0,0,1,8.14-15.07A30.43,30.43,0,0,1,421.56,275.07Z"/><path class="cls-26" d="M386.64,328.6l21.82-7.24V328a0.56,0.56,0,0,1-.56.56H386.64Z"/><path class="cls-26" d="M423.36,316.41l-1.49,8a30.35,30.35,0,0,1-4.62-3.74c-0.57-.56-1.12-1.13-1.63-1.72Z"/><path class="cls-23" d="M408.46,317.78v3.57l-21.82,7.24H374.82l11.23-11.38H407.9A0.56,0.56,0,0,1,408.46,317.78Z"/><path class="cls-23" d="M423.36,316.41L415.63,319a28.24,28.24,0,0,1-7-19.33,32.44,32.44,0,0,1,.37-5Z"/><path class="cls-29" d="M386.05,317.22L374.82,328.6H371.9a0.56,0.56,0,0,1-.56-0.56v0l12.75-36v24.72a0.55,0.55,0,0,0,.56.55h1.4Z"/><path class="cls-30" d="M384.09,272v3.18l-0.32-3.69A0.55,0.55,0,0,1,384.09,272Z"/><path class="cls-31" d="M365.07,280.45a0.58,0.58,0,0,1,0,.76l-7.18,8.14a0.55,0.55,0,0,1-.84,0,19,19,0,0,0-9.61-6.37l-2.79-12.73A30,30,0,0,1,365.07,280.45Z"/><path class="cls-31" d="M377.09,271.43l-5.75,5.84V272a0.56,0.56,0,0,1,.56-0.56h5.19Z"/><path class="cls-32" d="M384.09,275.17v13.77l-12.75,3.53v-15.2l5.75-5.84h6.44a0.49,0.49,0,0,1,.24.06Z"/><path class="cls-33" d="M364.7,317.9a0.57,0.57,0,0,1,0,.78c-0.78.86-1.58,1.66-2.39,2.4l-5.5-10.94a0.54,0.54,0,0,1,.49.16Z"/><polygon class="cls-33" points="384.09 288.94 384.09 291.95 371.34 327.99 371.34 292.47 384.09 288.94"/><path class="cls-28" d="M362.34,321.09A29.64,29.64,0,0,1,349,328.43l0.75-12.85a19.5,19.5,0,0,0,6.72-5.24,0.61,0.61,0,0,1,.33-0.2Z"/><path class="cls-34" d="M349.78,315.59L349,328.43c-0.86.21-1.74,0.38-2.62,0.5h0l-17.51-2.29h0q-0.6-.26-1.17-0.54l8.08-9.77a16.65,16.65,0,0,0,5.78,1A19.47,19.47,0,0,0,349.78,315.59Z"/><path class="cls-35" d="M335.75,316.33l-8.08,9.77c-0.53-.27-1.05-0.55-1.57-0.85h0l-9.49-8.88h0a26.61,26.61,0,0,1-2.87-5.6l12.39-4.21a15.61,15.61,0,0,0,3.74,5.94A16.21,16.21,0,0,0,335.75,316.33Z"/><polygon class="cls-36" points="308.33 277.29 312.4 276.06 310.96 278.59 308.33 277.29"/><path class="cls-36" d="M347.46,283a18.89,18.89,0,0,0-5-.66,17.52,17.52,0,0,0-12.31,4.7c-0.24.22-.46,0.44-0.67,0.66l-11.78-5.78h0a30.65,30.65,0,0,1,2.88-3.25,29.36,29.36,0,0,1,21.31-8.51c1,0,1.88,0,2.8.11Z"/><polygon class="cls-37" points="308.33 277.29 310.96 278.59 308.78 282.38 308.33 277.29"/><path class="cls-37" d="M325,299.68a20.28,20.28,0,0,0,1.09,6.85l-12.39,4.21a30.78,30.78,0,0,1-1.86-10.9,28.57,28.57,0,0,1,5.83-18l11.78,5.78Q325,292.25,325,299.68Z"/><path class="cls-38" d="M328.86,326.64h0Z"/><path class="cls-38" d="M346.38,328.94a29.57,29.57,0,0,1-4.24.3,32.63,32.63,0,0,1-13.27-2.59Z"/><path class="cls-39" d="M314.57,272.27L312.4,276l-4.08,1.25-2.05-5.86h7.81A0.56,0.56,0,0,1,314.57,272.27Z"/><polygon class="cls-40" points="295.26 321.73 295.26 323.23 292.37 321.31 295.26 321.73"/><path class="cls-34" d="M295.26,323.23V328a0.56,0.56,0,0,1-.56.56H292l0.39-7.29Z"/><polygon class="cls-41" points="292.37 321.31 295.26 319.82 295.26 321.73 292.37 321.31"/><path class="cls-41" d="M326.09,325.25a28.92,28.92,0,0,1-5.7-4.34,28.23,28.23,0,0,1-3.79-4.53Z"/><polygon class="cls-42" points="308.78 282.38 298.14 300.99 287.74 292.74 288.63 292.07 289.09 291.72 289.7 291.27 289.7 291.26 289.71 291.25 308.33 277.29 308.78 282.38"/><path class="cls-43" d="M298.14,301l-2.8,4.9a0.57,0.57,0,0,0-.08.28v13.66l-2.89,1.48-4.63-28.57Z"/><path class="cls-44" d="M288.4,291.85a0.58,0.58,0,0,0,.24.22l-0.89.67,0.47-1.21Z"/><path class="cls-44" d="M308.33,277.29l-18.62,14,11.36-19.55a0.57,0.57,0,0,1,.48-0.28h4.72Z"/><polygon class="cls-45" points="292.37 321.31 291.98 328.6 283.15 328.6 292.37 321.31"/><path class="cls-46" d="M258.38,272v3.9l-7.76-4.46h7.2A0.56,0.56,0,0,1,258.38,272Z"/><path class="cls-46" d="M287.92,291l-0.18,1.69-19.11-11-5.44-9.5a0.56,0.56,0,0,1,.48-0.84h12.54a0.57,0.57,0,0,1,.48.28Z"/><polygon class="cls-47" points="288.21 291.53 287.74 292.74 287.92 291.05 288.21 291.53"/><path class="cls-37" d="M292.37,321.31l-9.22,7.29h-0.09a0.56,0.56,0,0,1-.56-0.56V323.7Z"/><path class="cls-48" d="M282.51,316.14v-10a0.57,0.57,0,0,0-.08-0.28l-4-6.93,9.28-6.23,4.63,28.57Z"/><path class="cls-42" d="M256.1,328.6l3.17-6.88V328a0.56,0.56,0,0,1-.56.56H256.1Z"/><polygon class="cls-42" points="292.37 321.31 282.5 323.7 282.5 316.14 292.37 321.31"/><path class="cls-49" d="M258.38,275.89v6.35a0.56,0.56,0,0,1-.56.56h-5.39l-6.2-11.37h4.38Z"/><polygon class="cls-49" points="287.74 292.74 278.47 298.96 268.63 281.77 287.74 292.74"/><polygon class="cls-50" points="252.44 282.8 246.77 282.8 238.32 271.89 238.99 271.43 246.24 271.43 252.44 282.8"/><path class="cls-51" d="M259.28,317.87v3.85l-3.17,6.88h-4.35l-33.24-16,11.41-1.24v5.43a0.56,0.56,0,0,0,.56.56h28.24A0.56,0.56,0,0,1,259.28,317.87Z"/><polygon class="cls-52" points="246.77 282.8 233.01 282.8 238.32 271.89 246.77 282.8"/><path class="cls-52" d="M255.52,295.13v9.75a0.56,0.56,0,0,1-.56.56H230.48a0.57,0.57,0,0,0-.56.56v5.31l-11.41,1.24,11.41-23.42V294a0.56,0.56,0,0,0,.56.56H255A0.56,0.56,0,0,1,255.52,295.13Z"/><polygon class="cls-53" points="251.75 328.6 223.55 328.6 218.51 312.55 251.75 328.6"/><path class="cls-54" d="M238.32,271.9L233,282.8h-2.53a0.56,0.56,0,0,0-.56.56v5.78l-11.41,23.42-1.34-2.2V281.77Z"/><path class="cls-55" d="M210.87,272.36l-8.28,9.2-1.53-10.13h9.39A0.56,0.56,0,0,1,210.87,272.36Z"/><path class="cls-55" d="M238.32,271.9l-21.16,9.87V272a0.56,0.56,0,0,1,.56-0.56h17.6Z"/><path class="cls-56" d="M205.29,319.58q3.12,4.39,5.3,7.43l-12.93-3.38Z"/><path class="cls-56" d="M223.55,328.6h-5.83a0.56,0.56,0,0,1-.56-0.56V313.27l1.34-.71Z"/><path class="cls-53" d="M210.63,328.6H199.16l-1.49-5L210.59,327l0.49,0.69A0.57,0.57,0,0,1,210.63,328.6Z"/><path class="cls-57" d="M199.86,312q3,4.22,5.43,7.62l-7.62,4,2-12Z"/><polygon class="cls-57" points="218.51 312.55 217.17 313.27 217.17 310.36 218.51 312.55"/><path class="cls-58" d="M199.66,311.67l-2,12-9.12-6.2-8.07-10.85a0.56,0.56,0,0,0-.86,0l-2.7,3-14.5-9.85,32-9-5.09,5.65a0.56,0.56,0,0,0,0,.69Q192.21,301.2,199.66,311.67Z"/><path class="cls-47" d="M199.16,328.6h-2a0.55,0.55,0,0,1-.45-0.23l-2.33-3.14,3.33-1.61Z"/><polygon class="cls-59" points="168.07 273.44 174.34 271.98 174.34 276.03 168.07 273.44"/><path class="cls-59" d="M202.6,281.56l-4,4.48-11.65-4.82,8.85-9.61a0.57,0.57,0,0,1,.42-0.18h4.89Z"/><path class="cls-60" d="M198.57,286l-4.19,4.66h0l-32,9,5.66-26.25,6.27,2.59v17.43a0.56,0.56,0,0,0,1,.38l11.61-12.62Z"/><path class="cls-61" d="M162.4,299.68l14.5,9.85-2.42,2.71a0.55,0.55,0,0,0-.14.37V328a0.56,0.56,0,0,1-.56.56h-0.16Z"/><polygon class="cls-61" points="197.66 323.63 194.34 325.23 188.54 317.43 197.66 323.63"/><polygon class="cls-62" points="144.39 302.26 156.11 300.59 156.11 314.18 144.39 302.26"/><polygon class="cls-62" points="173.62 328.6 170.3 328.6 161.59 319.74 161.59 299.8 162.4 299.69 173.62 328.6"/><path class="cls-61" d="M144.39,302.26l11.72,11.92v13.28a1.18,1.18,0,0,1-1.17,1.18H141.31Z"/><path class="cls-61" d="M170.3,328.6h-8.15a0.56,0.56,0,0,1-.56-0.56v-8.3Z"/><polygon class="cls-63" points="144.39 302.26 141.31 328.63 124.91 328.63 119.94 316.67 144.39 302.26"/><polygon class="cls-64" points="144.39 302.26 156.11 288 156.11 300.59 144.39 302.26"/><polygon class="cls-64" points="168.07 273.44 162.4 299.69 161.59 299.8 161.59 281.32 168.07 273.44"/><path class="cls-65" d="M156.11,272.55V288l-11.72,14.27-8.84-30.9h19.37A1.19,1.19,0,0,1,156.11,272.55Z"/><polygon class="cls-65" points="168.07 273.44 161.59 281.32 161.59 272.06 168.07 273.44"/><polygon class="cls-58" points="124.91 328.63 116.26 328.63 114.02 325.42 119.94 316.67 124.91 328.63"/><polygon class="cls-66" points="144.39 302.26 111.96 288.55 129.02 271.36 135.56 271.36 144.39 302.26"/><path class="cls-67" d="M112,288.55l8,28.12,24.45-14.41Z"/><polygon class="cls-50" points="116.26 328.63 113.92 328.63 114.02 325.42 116.26 328.63"/><polygon class="cls-68" points="129.02 271.36 111.96 288.55 108.88 273.18 115.46 271.36 129.02 271.36"/><path class="cls-69" d="M112,288.55l-39.37,9.08L114,325.42Z"/><path class="cls-67" d="M112,288.55L114,325.42l5.92-8.75Z"/><path class="cls-68" d="M108.88,273.18L72.59,297.63,112,288.55Z"/><polygon class="cls-70" points="72.59 297.63 55.52 328.63 45.8 328.63 38.62 297.11 72.59 297.63"/><path class="cls-71" d="M55.09,271.36L38.62,297.11l-4.2-24.2,0.59-1s0,0,0,0a1.08,1.08,0,0,1,.91-0.51H55.09Z"/><path class="cls-70" d="M45.8,328.63H35.93A1.06,1.06,0,0,1,35,328.1L20.83,303.56l17.78-6.45Z"/><polygon class="cls-72" points="38.62 297.11 27.13 285.53 34.41 272.91 38.62 297.11"/><polygon class="cls-73" points="90.57 271.36 79.22 271.36 61.83 271.36 72.59 297.63 108.88 273.18 97.94 271.36 90.57 271.36"/><polygon class="cls-73" points="57.34 271.36 55.09 271.36 38.62 297.11 72.59 297.63 61.83 271.36 57.34 271.36"/><polygon class="cls-74" points="106.12 328.63 112.45 328.63 113.92 328.63 114.02 325.42 106.12 328.63"/><polygon class="cls-67" points="114.02 325.42 72.59 297.63 80.05 328.63 90.57 328.63 106.12 328.63 114.02 325.42"/><polygon class="cls-75" points="55.52 328.63 57.34 328.63 79.22 328.63 80.05 328.63 72.59 297.63 55.52 328.63"/><polygon class="cls-62" points="238.99 271.43 238.32 271.89 238 271.43 238.99 271.43"/><polygon class="cls-76" points="238.32 271.89 235.33 271.43 238 271.43 238.32 271.89"/><path class="cls-75" d="M174.34,272l-6.27,1.45,1.72-2h4A0.55,0.55,0,0,1,174.34,272Z"/><polygon class="cls-77" points="169.79 271.43 168.07 273.44 167.72 271.43 169.79 271.43"/><path class="cls-68" d="M168.07,273.44l-6.48-1.38V272a0.56,0.56,0,0,1,.56-0.56h5.57Z"/><polygon class="cls-78" points="108.99 271.36 108.88 273.18 115.46 271.36 112.45 271.36 108.99 271.36"/><polygon class="cls-79" points="97.94 271.36 108.88 273.18 107.87 271.36 97.94 271.36"/><polygon class="cls-71" points="107.87 271.36 108.88 273.18 108.99 271.36 107.87 271.36"/><path class="cls-80" d="M79.11,271.86l-16,27.72A0.93,0.93,0,0,0,63,300H51.83l22-38.05a0.86,0.86,0,0,1,.33.32l0,0,5,8.65A1,1,0,0,1,79.11,271.86Z"/><path class="cls-81" d="M79.09,329.16l-5,8.61a1,1,0,0,1-.34.32L51.82,300H63a0.85,0.85,0,0,0,.11.43,0.1,0.1,0,0,0,0,0l16,27.7A0.94,0.94,0,0,1,79.09,329.16Z"/><path class="cls-82" d="M73.78,262L51.83,300h0l-5.51,9.54L41,300.46a0.85,0.85,0,0,1-.11-0.43,0.93,0.93,0,0,1,.12-0.45l5.33-9.23,16.18-28a0.94,0.94,0,0,1,.82-0.48h9.93A1,1,0,0,1,73.78,262Z"/><path class="cls-80" d="M73.78,338.09a1,1,0,0,1-.47.13H63.38a0.94,0.94,0,0,1-.82-0.48L47.77,312.12l-1.46-2.54L51.82,300Z"/><path class="cls-82" d="M118,300L96,338.09a1,1,0,0,1-.33-0.32l0,0-5-8.63a1,1,0,0,1,0-.89l16-27.72a0.93,0.93,0,0,0,.13-0.48H118Z"/><path class="cls-80" d="M128.83,300a0.93,0.93,0,0,1-.13.48l-21.52,37.26a0.94,0.94,0,0,1-.8.44H96.46a1,1,0,0,1-.48-0.13L118,300l5.51-9.53,5.23,9.06A0.92,0.92,0,0,1,128.83,300Z"/><path class="cls-80" d="M118,300H106.78a0.92,0.92,0,0,0-.13-0.47l-16-27.69a0.94,0.94,0,0,1,0-1l5-8.62A1,1,0,0,1,96,262Z"/><path class="cls-81" d="M123.46,290.48h0L118,300,96,262a1,1,0,0,1,.48-0.13h9.92a0.94,0.94,0,0,1,.8.44Z"/></svg>
\ No newline at end of file
diff --git a/misc/logo/keycloak_logofinal_1color.svg b/misc/logo/keycloak_logofinal_1color.svg
index 8632036..a3dba37 100644
--- a/misc/logo/keycloak_logofinal_1color.svg
+++ b/misc/logo/keycloak_logofinal_1color.svg
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
viewBox="0 0 1024 494" style="enable-background:new 0 0 1024 494;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
diff --git a/misc/logo/keycloak_logofinal_2color.svg b/misc/logo/keycloak_logofinal_2color.svg
index 1cd67b6..6c2c8d6 100644
--- a/misc/logo/keycloak_logofinal_2color.svg
+++ b/misc/logo/keycloak_logofinal_2color.svg
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
viewBox="0 0 1024 494" style="enable-background:new 0 0 1024 494;" xml:space="preserve">
<style type="text/css">
.st0{fill:#4D4D4D;}
misc/logo/logo.svg 1(+0 -1)
diff --git a/misc/logo/logo.svg b/misc/logo/logo.svg
index b95c0da..9f37425 100644
--- a/misc/logo/logo.svg
+++ b/misc/logo/logo.svg
@@ -5,7 +5,6 @@
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
diff --git a/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProvider.java b/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProvider.java
index 62f1adc..8b77c25 100644
--- a/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProvider.java
+++ b/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProvider.java
@@ -17,9 +17,6 @@
package org.keycloak.cluster.infinispan;
-import java.io.Serializable;
-import java.util.concurrent.Callable;
-
import org.infinispan.Cache;
import org.infinispan.context.Flag;
import org.infinispan.lifecycle.ComponentStatus;
@@ -30,9 +27,11 @@ import org.keycloak.cluster.ClusterListener;
import org.keycloak.cluster.ClusterProvider;
import org.keycloak.cluster.ExecutionResult;
import org.keycloak.common.util.Time;
-import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
import org.keycloak.models.KeycloakSession;
+import java.io.Serializable;
+import java.util.concurrent.Callable;
+
/**
*
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProviderFactory.java b/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProviderFactory.java
index dcff3d6..75aef45 100644
--- a/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProviderFactory.java
+++ b/model/infinispan/src/main/java/org/keycloak/cluster/infinispan/InfinispanClusterProviderFactory.java
@@ -17,17 +17,6 @@
package org.keycloak.cluster.infinispan;
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.function.Function;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
import org.infinispan.Cache;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.notifications.Listener;
@@ -49,6 +38,16 @@ import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/main/java/org/keycloak/models/authorization/infinispan/InfinispanStoreProviderFactory.java b/model/infinispan/src/main/java/org/keycloak/models/authorization/infinispan/InfinispanStoreProviderFactory.java
index 8015fc2..13ff8c9 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/authorization/infinispan/InfinispanStoreProviderFactory.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/authorization/infinispan/InfinispanStoreProviderFactory.java
@@ -19,7 +19,6 @@
package org.keycloak.models.authorization.infinispan;
import org.keycloak.Config;
-import org.keycloak.authorization.store.StoreFactory;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.cache.authorization.CachedStoreFactoryProvider;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientAdapter.java
index 85fd17a..980957a 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientAdapter.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientAdapter.java
@@ -17,11 +17,19 @@
package org.keycloak.models.cache.infinispan;
-import org.keycloak.models.*;
-import org.keycloak.models.cache.CacheRealmProvider;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientTemplateModel;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RoleContainerModel;
+import org.keycloak.models.RoleModel;
import org.keycloak.models.cache.infinispan.entities.CachedClient;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientTemplateAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientTemplateAdapter.java
index 92d178e..a521ef2 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientTemplateAdapter.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/ClientTemplateAdapter.java
@@ -23,7 +23,6 @@ import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.cache.CacheRealmProvider;
import org.keycloak.models.cache.infinispan.entities.CachedClientTemplate;
import java.util.HashMap;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClient.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClient.java
index cac6bc6..b4b6729 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClient.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClient.java
@@ -20,11 +20,8 @@ package org.keycloak.models.cache.infinispan.entities;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.RealmProvider;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.cache.infinispan.RealmCache;
-import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClientTemplate.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClientTemplate.java
index e0f7e88..41ddece 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClientTemplate.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedClientTemplate.java
@@ -20,11 +20,8 @@ package org.keycloak.models.cache.infinispan.entities;
import org.keycloak.models.ClientTemplateModel;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.RealmProvider;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.cache.infinispan.RealmCache;
-import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedFederatedIdentityLinks.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedFederatedIdentityLinks.java
index d52f971..7959695 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedFederatedIdentityLinks.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedFederatedIdentityLinks.java
@@ -17,12 +17,12 @@
package org.keycloak.models.cache.infinispan.entities;
-import java.util.HashSet;
-import java.util.Set;
-
import org.keycloak.models.FederatedIdentityModel;
import org.keycloak.models.RealmModel;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* The cache entry, which contains list of all identityProvider links for particular user. It needs to be updated every time when any
* federation link is added, removed or updated for the user
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedGroup.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedGroup.java
index b29125a..01ba0cd 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedGroup.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedGroup.java
@@ -22,7 +22,6 @@ import org.keycloak.models.GroupModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
-import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRealm.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRealm.java
index e85078e..8ca5a6d 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRealm.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRealm.java
@@ -18,6 +18,7 @@
package org.keycloak.models.cache.infinispan.entities;
import org.keycloak.common.enums.SslRequired;
+import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.component.ComponentModel;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.AuthenticationFlowModel;
@@ -34,7 +35,6 @@ import org.keycloak.models.RequiredActionProviderModel;
import org.keycloak.models.RequiredCredentialModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderModel;
-import org.keycloak.common.util.MultivaluedHashMap;
import java.security.PrivateKey;
import java.security.PublicKey;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRole.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRole.java
index 44a5dc2..0dff46b 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRole.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedRole.java
@@ -20,7 +20,6 @@ package org.keycloak.models.cache.infinispan.entities;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
-import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUser.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUser.java
index bc92c48..1bf6e42 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUser.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUser.java
@@ -17,19 +17,13 @@
package org.keycloak.models.cache.infinispan.entities;
+import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.models.GroupModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserConsentModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
-import org.keycloak.common.util.MultivaluedHashMap;
-import java.util.HashMap;
import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
import java.util.Set;
/**
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUserConsent.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUserConsent.java
index 00022ac..e57d456 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUserConsent.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/CachedUserConsent.java
@@ -17,13 +17,13 @@
package org.keycloak.models.cache.infinispan.entities;
-import java.util.HashSet;
-import java.util.Set;
-
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserConsentModel;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientQuery.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientQuery.java
index e58b921..ce1ab51 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientQuery.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientQuery.java
@@ -1,7 +1,5 @@
package org.keycloak.models.cache.infinispan.entities;
-import org.keycloak.models.cache.infinispan.entities.InRealm;
-
import java.util.Set;
/**
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientTemplateQuery.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientTemplateQuery.java
index e07f7ab..a6fcebf 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientTemplateQuery.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/ClientTemplateQuery.java
@@ -1,7 +1,5 @@
package org.keycloak.models.cache.infinispan.entities;
-import org.keycloak.models.cache.infinispan.entities.InRealm;
-
import java.util.Set;
/**
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/GroupQuery.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/GroupQuery.java
index 905d271..8c19e67 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/GroupQuery.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/GroupQuery.java
@@ -1,7 +1,5 @@
package org.keycloak.models.cache.infinispan.entities;
-import org.keycloak.models.cache.infinispan.entities.InRealm;
-
import java.util.Set;
/**
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleListQuery.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleListQuery.java
index 4b0ab08..21a73ad 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleListQuery.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleListQuery.java
@@ -1,9 +1,6 @@
package org.keycloak.models.cache.infinispan.entities;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.cache.infinispan.entities.AbstractRevisioned;
-import org.keycloak.models.cache.infinispan.entities.ClientQuery;
-import org.keycloak.models.cache.infinispan.entities.RoleQuery;
import java.util.HashSet;
import java.util.Set;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleQuery.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleQuery.java
index 6635831..a6c22e3 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleQuery.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/entities/RoleQuery.java
@@ -1,7 +1,5 @@
package org.keycloak.models.cache.infinispan.entities;
-import org.keycloak.models.cache.infinispan.entities.InRealm;
-
import java.util.Set;
/**
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupAdapter.java
index 9b44eb3..d32d35c 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupAdapter.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupAdapter.java
@@ -23,7 +23,6 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.cache.CacheRealmProvider;
import org.keycloak.models.cache.infinispan.entities.CachedGroup;
import java.util.HashSet;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupListQuery.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupListQuery.java
index b4cb353..1fa4411 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupListQuery.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/GroupListQuery.java
@@ -2,10 +2,8 @@ package org.keycloak.models.cache.infinispan;
import org.keycloak.models.RealmModel;
import org.keycloak.models.cache.infinispan.entities.AbstractRevisioned;
-import org.keycloak.models.cache.infinispan.entities.ClientQuery;
import org.keycloak.models.cache.infinispan.entities.GroupQuery;
-import java.util.HashSet;
import java.util.Set;
/**
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanCacheRealmProviderFactory.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanCacheRealmProviderFactory.java
index 40c4e09..4bbe4c7 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanCacheRealmProviderFactory.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanCacheRealmProviderFactory.java
@@ -20,6 +20,9 @@ package org.keycloak.models.cache.infinispan;
import org.infinispan.Cache;
import org.jboss.logging.Logger;
import org.keycloak.Config;
+import org.keycloak.cluster.ClusterEvent;
+import org.keycloak.cluster.ClusterListener;
+import org.keycloak.cluster.ClusterProvider;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
@@ -34,6 +37,7 @@ import org.keycloak.models.cache.infinispan.entities.Revisioned;
public class InfinispanCacheRealmProviderFactory implements CacheRealmProviderFactory {
private static final Logger log = Logger.getLogger(InfinispanCacheRealmProviderFactory.class);
+ public static final String REALM_CLEAR_CACHE_EVENTS = "REALM_CLEAR_CACHE_EVENTS";
protected volatile RealmCacheManager realmCache;
@@ -50,6 +54,14 @@ public class InfinispanCacheRealmProviderFactory implements CacheRealmProviderFa
Cache<String, Revisioned> cache = session.getProvider(InfinispanConnectionProvider.class).getCache(InfinispanConnectionProvider.REALM_CACHE_NAME);
Cache<String, Long> revisions = session.getProvider(InfinispanConnectionProvider.class).getCache(InfinispanConnectionProvider.REALM_REVISIONS_CACHE_NAME);
realmCache = new RealmCacheManager(cache, revisions);
+ ClusterProvider cluster = session.getProvider(ClusterProvider.class);
+ cluster.registerListener(REALM_CLEAR_CACHE_EVENTS, new ClusterListener() {
+ @Override
+ public void run(ClusterEvent event) {
+ realmCache.clear();
+ }
+ });
+
}
}
}
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanUserCacheProviderFactory.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanUserCacheProviderFactory.java
index c520538..14d420b 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanUserCacheProviderFactory.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/InfinispanUserCacheProviderFactory.java
@@ -20,6 +20,9 @@ package org.keycloak.models.cache.infinispan;
import org.infinispan.Cache;
import org.jboss.logging.Logger;
import org.keycloak.Config;
+import org.keycloak.cluster.ClusterEvent;
+import org.keycloak.cluster.ClusterListener;
+import org.keycloak.cluster.ClusterProvider;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
@@ -33,6 +36,7 @@ import org.keycloak.models.cache.infinispan.entities.Revisioned;
public class InfinispanUserCacheProviderFactory implements UserCacheProviderFactory {
private static final Logger log = Logger.getLogger(InfinispanUserCacheProviderFactory.class);
+ public static final String USER_CLEAR_CACHE_EVENTS = "USER_CLEAR_CACHE_EVENTS";
protected volatile UserCacheManager userCache;
@@ -51,6 +55,13 @@ public class InfinispanUserCacheProviderFactory implements UserCacheProviderFact
Cache<String, Revisioned> cache = session.getProvider(InfinispanConnectionProvider.class).getCache(InfinispanConnectionProvider.USER_CACHE_NAME);
Cache<String, Long> revisions = session.getProvider(InfinispanConnectionProvider.class).getCache(InfinispanConnectionProvider.USER_REVISIONS_CACHE_NAME);
userCache = new UserCacheManager(cache, revisions);
+ ClusterProvider cluster = session.getProvider(ClusterProvider.class);
+ cluster.registerListener(USER_CLEAR_CACHE_EVENTS, new ClusterListener() {
+ @Override
+ public void run(ClusterEvent event) {
+ userCache.clear();
+ }
+ });
}
}
}
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java
index 6950ed8..af3c7ad 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java
@@ -19,9 +19,23 @@ package org.keycloak.models.cache.infinispan;
import org.keycloak.Config;
import org.keycloak.common.enums.SslRequired;
-import org.keycloak.common.util.StringPropertyReplacer;
import org.keycloak.component.ComponentModel;
-import org.keycloak.models.*;
+import org.keycloak.models.AuthenticationExecutionModel;
+import org.keycloak.models.AuthenticationFlowModel;
+import org.keycloak.models.AuthenticatorConfigModel;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientTemplateModel;
+import org.keycloak.models.GroupModel;
+import org.keycloak.models.IdentityProviderMapperModel;
+import org.keycloak.models.IdentityProviderModel;
+import org.keycloak.models.OTPPolicy;
+import org.keycloak.models.PasswordPolicy;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RequiredActionProviderModel;
+import org.keycloak.models.RequiredCredentialModel;
+import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserFederationMapperModel;
+import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.cache.infinispan.entities.CachedRealm;
import org.keycloak.models.utils.KeycloakModelUtils;
@@ -29,7 +43,13 @@ import java.security.Key;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.X509Certificate;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmCacheSession.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmCacheSession.java
index 7a72964..6cd91a5 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmCacheSession.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmCacheSession.java
@@ -18,6 +18,7 @@
package org.keycloak.models.cache.infinispan;
import org.jboss.logging.Logger;
+import org.keycloak.cluster.ClusterProvider;
import org.keycloak.migration.MigrationModel;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientTemplateModel;
@@ -147,6 +148,8 @@ public class RealmCacheSession implements CacheRealmProvider {
@Override
public void clear() {
cache.clear();
+ ClusterProvider cluster = session.getProvider(ClusterProvider.class);
+ cluster.notify(InfinispanCacheRealmProviderFactory.REALM_CLEAR_CACHE_EVENTS, new ClearCacheEvent());
}
@Override
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RoleAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RoleAdapter.java
index 99ac0c9..a43aeb8 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RoleAdapter.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RoleAdapter.java
@@ -20,7 +20,6 @@ package org.keycloak.models.cache.infinispan;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.cache.CacheRealmProvider;
import org.keycloak.models.cache.infinispan.entities.CachedClientRole;
import org.keycloak.models.cache.infinispan.entities.CachedRealmRole;
import org.keycloak.models.cache.infinispan.entities.CachedRole;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java
index 002761e..edbc186 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java
@@ -20,23 +20,16 @@ package org.keycloak.models.cache.infinispan;
import org.keycloak.models.ClientModel;
import org.keycloak.models.GroupModel;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserConsentModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.cache.CachedUserModel;
import org.keycloak.models.cache.infinispan.entities.CachedUser;
-import org.keycloak.models.cache.infinispan.entities.CachedUserConsent;
import org.keycloak.models.utils.KeycloakModelUtils;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheManager.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheManager.java
index d3564d0..ee8dc8b 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheManager.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheManager.java
@@ -20,8 +20,6 @@ package org.keycloak.models.cache.infinispan;
import org.infinispan.Cache;
import org.infinispan.notifications.Listener;
import org.jboss.logging.Logger;
-import org.keycloak.models.RealmModel;
-import org.keycloak.models.cache.infinispan.entities.CachedUser;
import org.keycloak.models.cache.infinispan.entities.Revisioned;
import org.keycloak.models.cache.infinispan.stream.InRealmPredicate;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
index 7300768..c36f002 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserCacheSession.java
@@ -18,6 +18,7 @@
package org.keycloak.models.cache.infinispan;
import org.jboss.logging.Logger;
+import org.keycloak.cluster.ClusterProvider;
import org.keycloak.common.constants.ServiceAccountConstants;
import org.keycloak.component.ComponentModel;
import org.keycloak.models.ClientModel;
@@ -42,8 +43,14 @@ import org.keycloak.models.cache.infinispan.entities.CachedUser;
import org.keycloak.models.cache.infinispan.entities.CachedUserConsent;
import org.keycloak.models.cache.infinispan.entities.CachedUserConsents;
import org.keycloak.models.cache.infinispan.entities.UserListQuery;
+import org.keycloak.storage.UserStorageProvider;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
@@ -73,6 +80,8 @@ public class UserCacheSession implements UserCache {
@Override
public void clear() {
cache.clear();
+ ClusterProvider cluster = session.getProvider(ClusterProvider.class);
+ cluster.notify(InfinispanUserCacheProviderFactory.USER_CLEAR_CACHE_EVENTS, new ClearCacheEvent());
}
public UserProvider getDelegate() {
@@ -647,10 +656,12 @@ public class UserCacheSession implements UserCache {
@Override
public void preRemove(RealmModel realm, RoleModel role) {
+ realmInvalidations.add(realm.getId()); // easier to just invalidate whole realm
getDelegate().preRemove(realm, role);
}
@Override
public void preRemove(RealmModel realm, GroupModel group) {
+ realmInvalidations.add(realm.getId()); // easier to just invalidate whole realm
getDelegate().preRemove(realm, group);
}
@@ -674,6 +685,8 @@ public class UserCacheSession implements UserCache {
@Override
public void preRemove(RealmModel realm, ComponentModel component) {
+ if (!component.getProviderType().equals(UserStorageProvider.class.getName())) return;
+ realmInvalidations.add(realm.getId()); // easier to just invalidate whole realm
getDelegate().preRemove(realm, component);
}
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProvider.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProvider.java
index 5452869..73027b8 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProvider.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProvider.java
@@ -29,10 +29,10 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakTransaction;
import org.keycloak.models.ModelDuplicateException;
import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserLoginFailureModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.UserSessionProvider;
-import org.keycloak.models.UserLoginFailureModel;
import org.keycloak.models.session.UserSessionPersisterProvider;
import org.keycloak.models.sessions.infinispan.entities.ClientInitialAccessEntity;
import org.keycloak.models.sessions.infinispan.entities.ClientRegistrationTrustedHostEntity;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProviderFactory.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProviderFactory.java
index a7c312f..343f2f0 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProviderFactory.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProviderFactory.java
@@ -17,13 +17,15 @@
package org.keycloak.models.sessions.infinispan;
-import java.io.Serializable;
-
import org.infinispan.Cache;
import org.jboss.logging.Logger;
import org.keycloak.Config;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
-import org.keycloak.models.*;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.models.KeycloakSessionTask;
+import org.keycloak.models.UserSessionProvider;
+import org.keycloak.models.UserSessionProviderFactory;
import org.keycloak.models.sessions.infinispan.entities.LoginFailureEntity;
import org.keycloak.models.sessions.infinispan.entities.LoginFailureKey;
import org.keycloak.models.sessions.infinispan.entities.SessionEntity;
@@ -34,6 +36,8 @@ import org.keycloak.models.utils.PostMigrationEvent;
import org.keycloak.provider.ProviderEvent;
import org.keycloak.provider.ProviderEventListener;
+import java.io.Serializable;
+
public class InfinispanUserSessionProviderFactory implements UserSessionProviderFactory {
private static final Logger log = Logger.getLogger(InfinispanUserSessionProviderFactory.class);
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanUserSessionInitializer.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanUserSessionInitializer.java
index 09bb4fc..1485da8 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanUserSessionInitializer.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanUserSessionInitializer.java
@@ -17,14 +17,6 @@
package org.keycloak.models.sessions.infinispan.initializer;
-import java.io.Serializable;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-
import org.infinispan.Cache;
import org.infinispan.context.Flag;
import org.infinispan.distexec.DefaultExecutorService;
@@ -36,6 +28,14 @@ import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.KeycloakSessionTask;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.io.Serializable;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
/**
* Startup initialization for reading persistent userSessions/clientSessions to be filled into infinispan/memory . In cluster,
* the initialization is distributed among all cluster nodes, so the startup time is even faster
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InitializerState.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InitializerState.java
index 14c7973..6747e40 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InitializerState.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InitializerState.java
@@ -17,12 +17,12 @@
package org.keycloak.models.sessions.infinispan.initializer;
-import java.util.ArrayList;
-import java.util.List;
-
import org.jboss.logging.Logger;
import org.keycloak.models.sessions.infinispan.entities.SessionEntity;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/OfflineUserSessionLoader.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/OfflineUserSessionLoader.java
index 352372c..83a3885 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/OfflineUserSessionLoader.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/OfflineUserSessionLoader.java
@@ -17,8 +17,6 @@
package org.keycloak.models.sessions.infinispan.initializer;
-import java.util.List;
-
import org.jboss.logging.Logger;
import org.keycloak.cluster.ClusterProvider;
import org.keycloak.models.ClientSessionModel;
@@ -26,6 +24,8 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.session.UserSessionPersisterProvider;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionInitializerWorker.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionInitializerWorker.java
index b5b8557..d636ae3 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionInitializerWorker.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionInitializerWorker.java
@@ -17,18 +17,17 @@
package org.keycloak.models.sessions.infinispan.initializer;
-import java.io.Serializable;
-import java.util.Set;
-
import org.infinispan.Cache;
import org.infinispan.distexec.DistributedCallable;
import org.jboss.logging.Logger;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.KeycloakSessionTask;
-import org.keycloak.models.sessions.infinispan.entities.SessionEntity;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.io.Serializable;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionLoader.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionLoader.java
index 3185a39..55c6323 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionLoader.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/SessionLoader.java
@@ -17,10 +17,10 @@
package org.keycloak.models.sessions.infinispan.initializer;
-import java.io.Serializable;
-
import org.keycloak.models.KeycloakSession;
+import java.io.Serializable;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/ClientSessionsOfUserSessionMapper.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/ClientSessionsOfUserSessionMapper.java
index 2d9bb05..971f89a 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/ClientSessionsOfUserSessionMapper.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/ClientSessionsOfUserSessionMapper.java
@@ -17,14 +17,14 @@
package org.keycloak.models.sessions.infinispan.mapreduce;
-import java.io.Serializable;
-import java.util.Collection;
-
import org.infinispan.distexec.mapreduce.Collector;
import org.infinispan.distexec.mapreduce.Mapper;
import org.keycloak.models.sessions.infinispan.entities.ClientSessionEntity;
import org.keycloak.models.sessions.infinispan.entities.SessionEntity;
+import java.io.Serializable;
+import java.util.Collection;
+
/**
* Return all clientSessions attached to any from input list of userSessions
*
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/UserLoginFailureMapper.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/UserLoginFailureMapper.java
index 55052b2..5b81f8e 100755
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/UserLoginFailureMapper.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/mapreduce/UserLoginFailureMapper.java
@@ -21,7 +21,6 @@ import org.infinispan.distexec.mapreduce.Collector;
import org.infinispan.distexec.mapreduce.Mapper;
import org.keycloak.models.sessions.infinispan.entities.LoginFailureEntity;
import org.keycloak.models.sessions.infinispan.entities.LoginFailureKey;
-import org.keycloak.models.sessions.infinispan.entities.SessionEntity;
import java.io.Serializable;
diff --git a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/ClientRegistrationTrustedHostPredicate.java b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/ClientRegistrationTrustedHostPredicate.java
index 8663c4e..7565a89 100644
--- a/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/ClientRegistrationTrustedHostPredicate.java
+++ b/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/stream/ClientRegistrationTrustedHostPredicate.java
@@ -17,13 +17,13 @@
package org.keycloak.models.sessions.infinispan.stream;
+import org.keycloak.models.sessions.infinispan.entities.ClientRegistrationTrustedHostEntity;
+import org.keycloak.models.sessions.infinispan.entities.SessionEntity;
+
import java.io.Serializable;
import java.util.Map;
import java.util.function.Predicate;
-import org.keycloak.models.sessions.infinispan.entities.ClientRegistrationTrustedHostEntity;
-import org.keycloak.models.sessions.infinispan.entities.SessionEntity;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyLockingTest.java b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyLockingTest.java
index aa26b5f..21b9233 100755
--- a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyLockingTest.java
+++ b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyLockingTest.java
@@ -1,22 +1,16 @@
package org.keycloak.models.sessions.infinispan.initializer;
import org.infinispan.Cache;
-import org.infinispan.configuration.cache.CacheMode;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.configuration.cache.ConfigurationBuilder;
-import org.infinispan.configuration.cache.VersioningScheme;
import org.infinispan.configuration.global.GlobalConfigurationBuilder;
import org.infinispan.manager.DefaultCacheManager;
-import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.transaction.LockingMode;
-import org.infinispan.transaction.TransactionMode;
import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
-import org.infinispan.util.concurrent.IsolationLevel;
import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
-import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
diff --git a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyVersioningTest.java b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyVersioningTest.java
index 48a0e36..39276ab 100755
--- a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyVersioningTest.java
+++ b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/ConcurrencyVersioningTest.java
@@ -1,7 +1,6 @@
package org.keycloak.models.sessions.infinispan.initializer;
import org.infinispan.Cache;
-import org.infinispan.commons.CacheException;
import org.infinispan.configuration.cache.CacheMode;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.configuration.cache.ConfigurationBuilder;
@@ -10,7 +9,6 @@ import org.infinispan.configuration.global.GlobalConfigurationBuilder;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
import org.infinispan.transaction.TransactionMode;
-import org.infinispan.transaction.TransactionProtocol;
import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
import org.infinispan.util.concurrent.IsolationLevel;
import org.junit.Assert;
diff --git a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/InitializerStateTest.java b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/InitializerStateTest.java
index 1c8b553..915eb02 100644
--- a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/InitializerStateTest.java
+++ b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/InitializerStateTest.java
@@ -17,11 +17,11 @@
package org.keycloak.models.sessions.infinispan.initializer;
-import java.util.List;
-
import org.junit.Assert;
import org.junit.Test;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/OutdatedTopologyExceptionReproducerTest.java b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/OutdatedTopologyExceptionReproducerTest.java
index 9802934..b862b95 100644
--- a/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/OutdatedTopologyExceptionReproducerTest.java
+++ b/model/infinispan/src/test/java/org/keycloak/models/sessions/infinispan/initializer/OutdatedTopologyExceptionReproducerTest.java
@@ -17,26 +17,24 @@
package org.keycloak.models.sessions.infinispan.initializer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
-
import org.infinispan.Cache;
import org.infinispan.configuration.cache.CacheMode;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.configuration.global.GlobalConfigurationBuilder;
-import org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
-import org.infinispan.statetransfer.StateTransferInterceptor;
import org.jboss.logging.Logger;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
+
/**
* Reproducer for KEYCLOAK-3306. Uncomment the snippet for adding StateTransferInterceptor to have test fixed.
*
diff --git a/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/PolicyEntity.java b/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/PolicyEntity.java
index 540dc31..e1ba326 100644
--- a/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/PolicyEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/PolicyEntity.java
@@ -21,7 +21,6 @@ package org.keycloak.authorization.jpa.entities;
import org.keycloak.authorization.model.Policy;
import org.keycloak.authorization.model.Resource;
import org.keycloak.authorization.model.Scope;
-import org.keycloak.models.entities.AbstractIdentifiableEntity;
import org.keycloak.representations.idm.authorization.DecisionStrategy;
import org.keycloak.representations.idm.authorization.Logic;
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/DefaultJpaConnectionProviderFactory.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/DefaultJpaConnectionProviderFactory.java
index d029e16..64a12fc 100755
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/DefaultJpaConnectionProviderFactory.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/DefaultJpaConnectionProviderFactory.java
@@ -17,46 +17,39 @@
package org.keycloak.connections.jpa;
-import java.io.File;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import javax.naming.InitialContext;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.SynchronizationType;
-import javax.sql.DataSource;
-import javax.transaction.InvalidTransactionException;
-import javax.transaction.Synchronization;
-import javax.transaction.SystemException;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-import javax.transaction.UserTransaction;
-
import org.hibernate.ejb.AvailableSettings;
import org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform;
-import org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform;
import org.jboss.logging.Logger;
import org.keycloak.Config;
+import org.keycloak.ServerStartupError;
import org.keycloak.connections.jpa.updater.JpaUpdaterProvider;
-import org.keycloak.connections.jpa.updater.liquibase.conn.LiquibaseConnectionProvider;
import org.keycloak.connections.jpa.util.JpaUtils;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.KeycloakSessionTask;
+import org.keycloak.models.dblock.DBLockManager;
import org.keycloak.models.dblock.DBLockProvider;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.provider.ServerInfoAwareProviderFactory;
-import org.keycloak.models.dblock.DBLockManager;
-import org.keycloak.ServerStartupError;
import org.keycloak.timer.TimerProvider;
import org.keycloak.transaction.JtaTransactionManagerLookup;
+import javax.naming.InitialContext;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.SynchronizationType;
+import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
+import javax.transaction.UserTransaction;
+import java.io.File;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/entityprovider/JpaEntityProvider.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/entityprovider/JpaEntityProvider.java
index 567080e..d2d47b1 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/entityprovider/JpaEntityProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/entityprovider/JpaEntityProvider.java
@@ -17,10 +17,10 @@
package org.keycloak.connections.jpa.entityprovider;
-import java.util.List;
-
import org.keycloak.provider.Provider;
+import java.util.List;
+
/**
* @author <a href="mailto:erik.mulder@docdatapayments.com">Erik Mulder</a>
*
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/HibernateStatsReporter.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/HibernateStatsReporter.java
index 116aaae..569f00b 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/HibernateStatsReporter.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/HibernateStatsReporter.java
@@ -17,8 +17,6 @@
package org.keycloak.connections.jpa;
-import javax.persistence.EntityManagerFactory;
-
import org.hibernate.SessionFactory;
import org.hibernate.jpa.internal.EntityManagerFactoryImpl;
import org.hibernate.stat.CollectionStatistics;
@@ -29,6 +27,8 @@ import org.jboss.logging.Logger;
import org.keycloak.models.KeycloakSession;
import org.keycloak.timer.ScheduledTask;
+import javax.persistence.EntityManagerFactory;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/JpaConnectionProviderFactory.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/JpaConnectionProviderFactory.java
index 8d687bc..43c375c 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/JpaConnectionProviderFactory.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/JpaConnectionProviderFactory.java
@@ -17,10 +17,10 @@
package org.keycloak.connections.jpa;
-import java.sql.Connection;
-
import org.keycloak.provider.ProviderFactory;
+import java.sql.Connection;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/DefaultLiquibaseConnectionProvider.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/DefaultLiquibaseConnectionProvider.java
index 5a58702..3bd2643 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/DefaultLiquibaseConnectionProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/DefaultLiquibaseConnectionProvider.java
@@ -17,18 +17,6 @@
package org.keycloak.connections.jpa.updater.liquibase.conn;
-import java.sql.Connection;
-
-import org.jboss.logging.Logger;
-import org.keycloak.Config;
-import org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider;
-import org.keycloak.connections.jpa.updater.liquibase.PostgresPlusDatabase;
-import org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator;
-import org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockDatabaseChangeLogGenerator;
-import org.keycloak.connections.jpa.updater.liquibase.lock.DummyLockService;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
-
import liquibase.Liquibase;
import liquibase.changelog.ChangeSet;
import liquibase.changelog.DatabaseChangeLog;
@@ -43,6 +31,17 @@ import liquibase.resource.ClassLoaderResourceAccessor;
import liquibase.resource.ResourceAccessor;
import liquibase.servicelocator.ServiceLocator;
import liquibase.sqlgenerator.SqlGeneratorFactory;
+import org.jboss.logging.Logger;
+import org.keycloak.Config;
+import org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider;
+import org.keycloak.connections.jpa.updater.liquibase.PostgresPlusDatabase;
+import org.keycloak.connections.jpa.updater.liquibase.lock.CustomInsertLockRecordGenerator;
+import org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockDatabaseChangeLogGenerator;
+import org.keycloak.connections.jpa.updater.liquibase.lock.DummyLockService;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+
+import java.sql.Connection;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/LiquibaseConnectionProvider.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/LiquibaseConnectionProvider.java
index 215bd1d..4bfdf36 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/LiquibaseConnectionProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/LiquibaseConnectionProvider.java
@@ -17,12 +17,12 @@
package org.keycloak.connections.jpa.updater.liquibase.conn;
-import java.sql.Connection;
-
import liquibase.Liquibase;
import liquibase.exception.LiquibaseException;
import org.keycloak.provider.Provider;
+import java.sql.Connection;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/CustomKeycloakTask.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/CustomKeycloakTask.java
index a53dc7e..3a39990 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/CustomKeycloakTask.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/CustomKeycloakTask.java
@@ -17,11 +17,6 @@
package org.keycloak.connections.jpa.updater.liquibase.custom;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.List;
-
import liquibase.change.custom.CustomSqlChange;
import liquibase.database.Database;
import liquibase.database.jvm.JdbcConnection;
@@ -38,6 +33,11 @@ import org.keycloak.connections.jpa.updater.liquibase.ThreadLocalSessionContext;
import org.keycloak.models.KeycloakSession;
import org.keycloak.services.DefaultKeycloakSessionFactory;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_Beta1.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_Beta1.java
index bd170d9..4400671 100755
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_Beta1.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_Beta1.java
@@ -16,11 +16,6 @@
*/
package org.keycloak.connections.jpa.updater.liquibase.custom;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-import java.util.Map;
import liquibase.exception.CustomChangeException;
import liquibase.exception.DatabaseException;
@@ -34,6 +29,12 @@ import org.keycloak.models.ClaimMask;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_CR1.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_CR1.java
index ee45ae8..3b66175 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_CR1.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_2_0_CR1.java
@@ -17,14 +17,14 @@
package org.keycloak.connections.jpa.updater.liquibase.custom;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-
import liquibase.datatype.DataTypeFactory;
import liquibase.exception.CustomChangeException;
import liquibase.statement.core.InsertStatement;
import liquibase.structure.core.Table;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_4_0_Final.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_4_0_Final.java
index 4fdcc54..691bce2 100755
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_4_0_Final.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_4_0_Final.java
@@ -17,14 +17,14 @@
package org.keycloak.connections.jpa.updater.liquibase.custom;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-
import liquibase.exception.CustomChangeException;
import liquibase.statement.core.UpdateStatement;
import liquibase.structure.core.Table;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_9_0_Final.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_9_0_Final.java
index 959c751..0e9a8c2 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_9_0_Final.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/custom/JpaUpdate1_9_0_Final.java
@@ -17,13 +17,13 @@
package org.keycloak.connections.jpa.updater.liquibase.custom;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-
import liquibase.exception.CustomChangeException;
import liquibase.statement.core.UpdateStatement;
import liquibase.structure.core.Table;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomInsertLockRecordGenerator.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomInsertLockRecordGenerator.java
index 3b1e2f9..be9a729 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomInsertLockRecordGenerator.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomInsertLockRecordGenerator.java
@@ -17,17 +17,16 @@
package org.keycloak.connections.jpa.updater.liquibase.lock;
-import java.util.ArrayList;
-import java.util.List;
-
import liquibase.database.Database;
import liquibase.exception.ValidationErrors;
import liquibase.sql.Sql;
import liquibase.sqlgenerator.SqlGeneratorChain;
import liquibase.sqlgenerator.core.AbstractSqlGenerator;
-import liquibase.statement.core.DeleteStatement;
import liquibase.statement.core.InitializeDatabaseChangeLogLockTableStatement;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* We need to remove DELETE SQL command, which liquibase adds by default when inserting record to table lock. This is causing buggy behaviour
*
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomLockService.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomLockService.java
index 3efbb23..3921dd9 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomLockService.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/CustomLockService.java
@@ -17,8 +17,6 @@
package org.keycloak.connections.jpa.updater.liquibase.lock;
-import java.lang.reflect.Field;
-
import liquibase.database.core.DerbyDatabase;
import liquibase.exception.DatabaseException;
import liquibase.executor.Executor;
@@ -33,6 +31,8 @@ import org.jboss.logging.Logger;
import org.keycloak.common.util.Time;
import org.keycloak.common.util.reflections.Reflections;
+import java.lang.reflect.Field;
+
/**
* Liquibase lock service, which has some bugfixes and assumes timeouts to be configured in milliseconds
*
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProvider.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProvider.java
index d080542..78730dd 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProvider.java
@@ -17,9 +17,6 @@
package org.keycloak.connections.jpa.updater.liquibase.lock;
-import java.sql.Connection;
-import java.sql.SQLException;
-
import liquibase.Liquibase;
import liquibase.exception.DatabaseException;
import liquibase.exception.LiquibaseException;
@@ -31,6 +28,9 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.dblock.DBLockProvider;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.sql.Connection;
+import java.sql.SQLException;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProviderFactory.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProviderFactory.java
index ef1fae1..7d78259 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProviderFactory.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/lock/LiquibaseDBLockProviderFactory.java
@@ -17,8 +17,6 @@
package org.keycloak.connections.jpa.updater.liquibase.lock;
-import java.util.concurrent.atomic.AtomicBoolean;
-
import org.jboss.logging.Logger;
import org.keycloak.Config;
import org.keycloak.common.util.Time;
@@ -26,6 +24,8 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.dblock.DBLockProviderFactory;
+import java.util.concurrent.atomic.AtomicBoolean;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/util/JpaUtils.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/util/JpaUtils.java
index 0385f6a..290ec15 100644
--- a/model/jpa/src/main/java/org/keycloak/connections/jpa/util/JpaUtils.java
+++ b/model/jpa/src/main/java/org/keycloak/connections/jpa/util/JpaUtils.java
@@ -21,8 +21,6 @@ import org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl;
import org.hibernate.jpa.boot.internal.ParsedPersistenceXmlDescriptor;
import org.hibernate.jpa.boot.internal.PersistenceXmlParser;
import org.hibernate.jpa.boot.spi.Bootstrap;
-import org.jboss.logging.Logger;
-import org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory;
import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider;
import org.keycloak.connections.jpa.entityprovider.ProxyClassLoader;
import org.keycloak.models.KeycloakSession;
@@ -30,7 +28,6 @@ import org.keycloak.models.KeycloakSession;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.spi.PersistenceUnitTransactionType;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
diff --git a/model/jpa/src/main/java/org/keycloak/events/jpa/AdminEventEntity.java b/model/jpa/src/main/java/org/keycloak/events/jpa/AdminEventEntity.java
index e6cf934..e01cf9a 100644
--- a/model/jpa/src/main/java/org/keycloak/events/jpa/AdminEventEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/events/jpa/AdminEventEntity.java
@@ -17,12 +17,8 @@
package org.keycloak.events.jpa;
-import org.keycloak.events.admin.ResourceType;
-
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;
diff --git a/model/jpa/src/main/java/org/keycloak/events/jpa/EventEntity.java b/model/jpa/src/main/java/org/keycloak/events/jpa/EventEntity.java
index c4a4bd6..0f7347f 100644
--- a/model/jpa/src/main/java/org/keycloak/events/jpa/EventEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/events/jpa/EventEntity.java
@@ -20,7 +20,6 @@ package org.keycloak.events.jpa;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
-import javax.persistence.Lob;
import javax.persistence.Table;
/**
diff --git a/model/jpa/src/main/java/org/keycloak/events/jpa/JpaAdminEventQuery.java b/model/jpa/src/main/java/org/keycloak/events/jpa/JpaAdminEventQuery.java
index 9cccd7d..9c3e534 100755
--- a/model/jpa/src/main/java/org/keycloak/events/jpa/JpaAdminEventQuery.java
+++ b/model/jpa/src/main/java/org/keycloak/events/jpa/JpaAdminEventQuery.java
@@ -17,10 +17,10 @@
package org.keycloak.events.jpa;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
+import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.AdminEventQuery;
+import org.keycloak.events.admin.OperationType;
+import org.keycloak.events.admin.ResourceType;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
@@ -29,11 +29,10 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Expression;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
-
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.AdminEventQuery;
-import org.keycloak.events.admin.OperationType;
-import org.keycloak.events.admin.ResourceType;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
/**
* @author <a href="mailto:giriraj.sharma27@gmail.com">Giriraj Sharma</a>
diff --git a/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventQuery.java b/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventQuery.java
index 9b922e9..4f7a999 100644
--- a/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventQuery.java
+++ b/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventQuery.java
@@ -27,7 +27,6 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
-
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
diff --git a/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventStoreProvider.java b/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventStoreProvider.java
index b86d838..655c49d 100755
--- a/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventStoreProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/events/jpa/JpaEventStoreProvider.java
@@ -20,18 +20,17 @@ package org.keycloak.events.jpa;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.jboss.logging.Logger;
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.AdminEventQuery;
-import org.keycloak.events.admin.AuthDetails;
-import org.keycloak.events.admin.OperationType;
import org.keycloak.events.Event;
import org.keycloak.events.EventQuery;
import org.keycloak.events.EventStoreProvider;
import org.keycloak.events.EventType;
+import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.AdminEventQuery;
+import org.keycloak.events.admin.AuthDetails;
+import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import javax.persistence.EntityManager;
-
import java.io.IOException;
import java.util.Map;
import java.util.UUID;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java
index e1a546e..92d41d5 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java
@@ -17,7 +17,6 @@
package org.keycloak.models.jpa;
-import org.keycloak.connections.jpa.util.JpaUtils;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientTemplateModel;
import org.keycloak.models.KeycloakSession;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/ClientTemplateAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/ClientTemplateAdapter.java
index e38ab73..5523c7c 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/ClientTemplateAdapter.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/ClientTemplateAdapter.java
@@ -24,7 +24,6 @@ import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.jpa.entities.ClientEntity;
import org.keycloak.models.jpa.entities.ClientTemplateEntity;
import org.keycloak.models.jpa.entities.ProtocolMapperEntity;
import org.keycloak.models.jpa.entities.RoleEntity;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/AuthenticatorConfigEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/AuthenticatorConfigEntity.java
index 9057683..f281fdd 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/AuthenticatorConfigEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/AuthenticatorConfigEntity.java
@@ -28,8 +28,6 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MapKeyColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
import javax.persistence.Table;
import java.util.Map;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ClientTemplateEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ClientTemplateEntity.java
index 280a257..ef57b11 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ClientTemplateEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ClientTemplateEntity.java
@@ -27,7 +27,6 @@ import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.MapKeyColumn;
import javax.persistence.OneToMany;
@@ -36,9 +35,7 @@ import javax.persistence.UniqueConstraint;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ComponentEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ComponentEntity.java
index a857978..93b5a49 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ComponentEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/ComponentEntity.java
@@ -19,24 +19,15 @@ package org.keycloak.models.jpa.entities;
import javax.persistence.Access;
import javax.persistence.AccessType;
-import javax.persistence.CascadeType;
-import javax.persistence.CollectionTable;
import javax.persistence.Column;
-import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
-import javax.persistence.MapKeyColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
import javax.persistence.Table;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.Map;
/**
* @author <a href="mailto:bburke@redhat.com">Bill Burke</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/IdentityProviderEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/IdentityProviderEntity.java
index 9a94431..d8a9d7e 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/IdentityProviderEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/IdentityProviderEntity.java
@@ -30,7 +30,6 @@ import javax.persistence.ManyToOne;
import javax.persistence.MapKeyColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
-import javax.persistence.OneToOne;
import javax.persistence.Table;
import java.util.Map;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/MigrationModelEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/MigrationModelEntity.java
index ce4d845..8e9bba7 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/MigrationModelEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/MigrationModelEntity.java
@@ -21,12 +21,7 @@ import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.FetchType;
import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RoleEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RoleEntity.java
index 3d1cae4..a2738de 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RoleEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/RoleEntity.java
@@ -17,9 +17,6 @@
package org.keycloak.models.jpa.entities;
-import org.hibernate.annotations.DynamicInsert;
-import org.hibernate.annotations.DynamicUpdate;
-
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserAttributeEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserAttributeEntity.java
index 16b155b..c55268a 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserAttributeEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserAttributeEntity.java
@@ -19,21 +19,15 @@ package org.keycloak.models.jpa.entities;
import javax.persistence.Access;
import javax.persistence.AccessType;
-import javax.persistence.CollectionTable;
import javax.persistence.Column;
-import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
-import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentEntity.java
index c1098e2..34c272a 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentEntity.java
@@ -17,9 +17,6 @@
package org.keycloak.models.jpa.entities;
-import java.util.ArrayList;
-import java.util.Collection;
-
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.CascadeType;
@@ -34,6 +31,8 @@ import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
+import java.util.ArrayList;
+import java.util.Collection;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentProtocolMapperEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentProtocolMapperEntity.java
index 151340c..bcf5890 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentProtocolMapperEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentProtocolMapperEntity.java
@@ -17,8 +17,6 @@
package org.keycloak.models.jpa.entities;
-import java.io.Serializable;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@@ -29,6 +27,7 @@ import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
+import java.io.Serializable;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentRoleEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentRoleEntity.java
index 08cc2b2..8ae6252 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentRoleEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentRoleEntity.java
@@ -17,8 +17,6 @@
package org.keycloak.models.jpa.entities;
-import java.io.Serializable;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@@ -29,6 +27,7 @@ import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
+import java.io.Serializable;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java
index 2af7673..9b5ff19 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java
@@ -30,7 +30,6 @@ import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
-
import java.util.ArrayList;
import java.util.Collection;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserFederationMapperEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserFederationMapperEntity.java
index 41350f6..64ed583 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserFederationMapperEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserFederationMapperEntity.java
@@ -17,8 +17,6 @@
package org.keycloak.models.jpa.entities;
-import java.util.Map;
-
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.CollectionTable;
@@ -30,9 +28,8 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MapKeyColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
import javax.persistence.Table;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java
index 51b4153..e03b736 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java
@@ -19,7 +19,6 @@ package org.keycloak.models.jpa;
import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.component.ComponentModel;
-import org.keycloak.credential.CredentialInput;
import org.keycloak.credential.CredentialModel;
import org.keycloak.credential.UserCredentialStore;
import org.keycloak.models.ClientModel;
@@ -46,7 +45,6 @@ import org.keycloak.models.jpa.entities.UserConsentEntity;
import org.keycloak.models.jpa.entities.UserConsentProtocolMapperEntity;
import org.keycloak.models.jpa.entities.UserConsentRoleEntity;
import org.keycloak.models.jpa.entities.UserEntity;
-import org.keycloak.models.utils.CredentialValidation;
import org.keycloak.models.utils.DefaultRoles;
import org.keycloak.models.utils.KeycloakModelUtils;
@@ -54,7 +52,6 @@ import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/RoleAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/RoleAdapter.java
index f97a4d1..3cc1553 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/RoleAdapter.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/RoleAdapter.java
@@ -21,7 +21,6 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.jpa.entities.RealmEntity;
import org.keycloak.models.jpa.entities.RoleEntity;
import org.keycloak.models.utils.KeycloakModelUtils;
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java b/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java
index 30dda22..b3aea63 100644
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProvider.java
@@ -17,14 +17,6 @@
package org.keycloak.models.jpa.session;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import javax.persistence.TypedQuery;
-
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
@@ -38,6 +30,13 @@ import org.keycloak.models.session.PersistentUserSessionAdapter;
import org.keycloak.models.session.PersistentUserSessionModel;
import org.keycloak.models.session.UserSessionPersisterProvider;
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import javax.persistence.TypedQuery;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProviderFactory.java b/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProviderFactory.java
index 996ceef..254412b 100644
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProviderFactory.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/session/JpaUserSessionPersisterProviderFactory.java
@@ -17,8 +17,6 @@
package org.keycloak.models.jpa.session;
-import javax.persistence.EntityManager;
-
import org.keycloak.Config;
import org.keycloak.connections.jpa.JpaConnectionProvider;
import org.keycloak.models.KeycloakSession;
@@ -26,6 +24,8 @@ import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.session.UserSessionPersisterProvider;
import org.keycloak.models.session.UserSessionPersisterProviderFactory;
+import javax.persistence.EntityManager;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentClientSessionEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentClientSessionEntity.java
index f5a0188..7250836 100644
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentClientSessionEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentClientSessionEntity.java
@@ -17,18 +17,14 @@
package org.keycloak.models.jpa.session;
-import java.io.Serializable;
-
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
+import java.io.Serializable;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentUserSessionEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentUserSessionEntity.java
index 454b952..a2f0143 100644
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentUserSessionEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/session/PersistentUserSessionEntity.java
@@ -17,23 +17,14 @@
package org.keycloak.models.jpa.session;
-import java.io.Serializable;
-import java.util.Collection;
-
-import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
import javax.persistence.Table;
-
-import org.keycloak.models.jpa.entities.UserEntity;
+import java.io.Serializable;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java
index 7e01746..7170b65 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java
@@ -17,43 +17,25 @@
package org.keycloak.models.jpa;
-import org.keycloak.hash.PasswordHashManager;
+import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.models.ClientModel;
import org.keycloak.models.GroupModel;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.OTPPolicy;
-import org.keycloak.models.ProtocolMapperModel;
-import org.keycloak.models.UserConsentModel;
-import org.keycloak.models.ModelDuplicateException;
-import org.keycloak.models.ModelException;
-import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
-import org.keycloak.models.jpa.entities.CredentialEntity;
-import org.keycloak.models.jpa.entities.UserConsentEntity;
-import org.keycloak.models.jpa.entities.UserConsentProtocolMapperEntity;
-import org.keycloak.models.jpa.entities.UserConsentRoleEntity;
import org.keycloak.models.jpa.entities.UserAttributeEntity;
import org.keycloak.models.jpa.entities.UserEntity;
import org.keycloak.models.jpa.entities.UserGroupMembershipEntity;
import org.keycloak.models.jpa.entities.UserRequiredActionEntity;
import org.keycloak.models.jpa.entities.UserRoleMappingEntity;
import org.keycloak.models.utils.KeycloakModelUtils;
-import org.keycloak.common.util.MultivaluedHashMap;
-import org.keycloak.common.util.Time;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.TypedQuery;
-
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/BrokerLinkEntity.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/BrokerLinkEntity.java
index a6b05cd..24cddf4 100755
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/BrokerLinkEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/BrokerLinkEntity.java
@@ -21,7 +21,6 @@ import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUser.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUser.java
index c4ace99..b5c958c 100644
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUser.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUser.java
@@ -16,21 +16,14 @@
*/
package org.keycloak.storage.jpa.entity;
-import org.keycloak.models.jpa.entities.UserAttributeEntity;
-
import javax.persistence.Access;
import javax.persistence.AccessType;
-import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
import javax.persistence.Table;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedList;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserAttributeEntity.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserAttributeEntity.java
index c5e6193..6add6b2 100755
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserAttributeEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserAttributeEntity.java
@@ -22,7 +22,6 @@ import javax.persistence.AccessType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
-import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialAttributeEntity.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialAttributeEntity.java
index c6a15b3..d89567e 100755
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialAttributeEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialAttributeEntity.java
@@ -17,8 +17,6 @@
package org.keycloak.storage.jpa.entity;
-import org.keycloak.models.jpa.entities.CredentialEntity;
-
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialEntity.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialEntity.java
index 52a757c..2d4bbc7 100755
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserCredentialEntity.java
@@ -17,9 +17,6 @@
package org.keycloak.storage.jpa.entity;
-import org.keycloak.models.jpa.entities.CredentialEntity;
-import org.keycloak.models.jpa.entities.UserEntity;
-
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.CascadeType;
@@ -27,8 +24,6 @@ import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserGroupMembershipEntity.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserGroupMembershipEntity.java
index 3116a0a..ffe130a 100755
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserGroupMembershipEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserGroupMembershipEntity.java
@@ -17,8 +17,6 @@
package org.keycloak.storage.jpa.entity;
-import org.keycloak.models.jpa.entities.UserEntity;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRequiredActionEntity.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRequiredActionEntity.java
index f30aee6..cea6908 100755
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRequiredActionEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRequiredActionEntity.java
@@ -17,15 +17,10 @@
package org.keycloak.storage.jpa.entity;
-import org.keycloak.models.jpa.entities.UserEntity;
-
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRoleMappingEntity.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRoleMappingEntity.java
index 719fce6..a7c4099 100755
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRoleMappingEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/entity/FederatedUserRoleMappingEntity.java
@@ -17,8 +17,6 @@
package org.keycloak.storage.jpa.entity;
-import org.keycloak.models.jpa.entities.UserEntity;
-
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
diff --git a/model/jpa/src/main/java/org/keycloak/storage/jpa/JpaUserFederatedStorageProvider.java b/model/jpa/src/main/java/org/keycloak/storage/jpa/JpaUserFederatedStorageProvider.java
index 090674b..713447b 100644
--- a/model/jpa/src/main/java/org/keycloak/storage/jpa/JpaUserFederatedStorageProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/storage/jpa/JpaUserFederatedStorageProvider.java
@@ -30,18 +30,14 @@ import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserConsentModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
-import org.keycloak.models.utils.FederatedCredentials;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.storage.StorageId;
import org.keycloak.storage.UserStorageProvider;
import org.keycloak.storage.federated.UserAttributeFederatedStorage;
import org.keycloak.storage.federated.UserBrokerLinkFederatedStorage;
import org.keycloak.storage.federated.UserConsentFederatedStorage;
-import org.keycloak.storage.federated.UserCredentialsFederatedStorage;
import org.keycloak.storage.federated.UserFederatedStorageProvider;
import org.keycloak.storage.federated.UserGroupMembershipFederatedStorage;
import org.keycloak.storage.federated.UserRequiredActionsFederatedStorage;
@@ -77,7 +73,6 @@ public class JpaUserFederatedStorageProvider implements
UserAttributeFederatedStorage,
UserBrokerLinkFederatedStorage,
UserConsentFederatedStorage,
- UserCredentialsFederatedStorage,
UserGroupMembershipFederatedStorage,
UserRequiredActionsFederatedStorage,
UserRoleMappingsFederatedStorage,
@@ -428,76 +423,6 @@ public class JpaUserFederatedStorageProvider implements
@Override
- public List<UserCredentialValueModel> getCredentials(RealmModel realm, UserModel user) {
- TypedQuery<FederatedUserCredentialEntity> query = em.createNamedQuery("federatedUserCredentialByUser", FederatedUserCredentialEntity.class)
- .setParameter("userId", user.getId());
- List<FederatedUserCredentialEntity> results = query.getResultList();
- List<UserCredentialValueModel> list = new LinkedList<>();
- for (FederatedUserCredentialEntity credEntity : results) {
- UserCredentialValueModel credModel = new UserCredentialValueModel();
- credModel.setId(credEntity.getId());
- credModel.setType(credEntity.getType());
- credModel.setDevice(credEntity.getDevice());
- credModel.setValue(credEntity.getValue());
- credModel.setCreatedDate(credEntity.getCreatedDate());
- credModel.setSalt(credEntity.getSalt());
- credModel.setHashIterations(credEntity.getHashIterations());
- credModel.setCounter(credEntity.getCounter());
- credModel.setAlgorithm(credEntity.getAlgorithm());
- credModel.setDigits(credEntity.getDigits());
- credModel.setPeriod(credEntity.getPeriod());
-
- list.add(credModel);
- }
- return list;
- }
-
- @Override
- public void updateCredential(RealmModel realm, UserModel user, UserCredentialModel cred) {
- createIndex(realm, user);
- FederatedCredentials.updateCredential(session, this, realm, user, cred);
-
- }
-
- @Override
- public void updateCredential(RealmModel realm, UserModel user, UserCredentialValueModel cred) {
- createIndex(realm, user);
- FederatedUserCredentialEntity entity = null;
- if (cred.getId() != null) entity = em.find(FederatedUserCredentialEntity.class, cred.getId());
- boolean newEntity = false;
- if (entity == null) {
- entity = new FederatedUserCredentialEntity();
- entity.setId(KeycloakModelUtils.generateId());
- newEntity = true;
- }
- entity.setUserId(user.getId());
- entity.setRealmId(realm.getId());
- entity.setStorageProviderId(StorageId.resolveProviderId(user));
- entity.setAlgorithm(cred.getAlgorithm());
- entity.setCounter(cred.getCounter());
- Long createdDate = cred.getCreatedDate();
- if (createdDate == null) createdDate = System.currentTimeMillis();
- entity.setCreatedDate(createdDate);
- entity.setDevice(cred.getDevice());
- entity.setDigits(cred.getDigits());
- entity.setHashIterations(cred.getHashIterations());
- entity.setPeriod(cred.getPeriod());
- entity.setSalt(cred.getSalt());
- entity.setType(cred.getType());
- entity.setValue(cred.getValue());
- if (newEntity) {
- em.persist(entity);
- }
-
- }
-
- @Override
- public void removeCredential(RealmModel realm, UserModel user, UserCredentialValueModel cred) {
- FederatedUserCredentialEntity entity = em.find(FederatedUserCredentialEntity.class, cred.getId());
- em.remove(entity);
- }
-
- @Override
public Set<GroupModel> getGroups(RealmModel realm, UserModel user) {
Set<GroupModel> set = new HashSet<>();
TypedQuery<FederatedUserGroupMembershipEntity> query = em.createNamedQuery("feduserGroupMembership", FederatedUserGroupMembershipEntity.class);
@@ -639,36 +564,6 @@ public class JpaUserFederatedStorageProvider implements
}
@Override
- public boolean removeCredential(RealmModel realm, String id) {
- return false;
- }
-
- @Override
- public CredentialModel getCredentialById(String id) {
- return null;
- }
-
- @Override
- public List<CredentialModel> getCredentials(RealmModel realm) {
- return null;
- }
-
- @Override
- public List<CredentialModel> getUserCredentials(RealmModel realm, UserModel user) {
- return null;
- }
-
- @Override
- public List<CredentialModel> getCredentialsByType(RealmModel realm, UserModel user, String type) {
- return null;
- }
-
- @Override
- public CredentialModel getCredentialByNameAndType(RealmModel realm, UserModel user, String name, String type) {
- return null;
- }
-
- @Override
public void updateCredential(RealmModel realm, UserModel user, CredentialModel cred) {
FederatedUserCredentialEntity entity = em.find(FederatedUserCredentialEntity.class, cred.getId());
if (entity == null) return;
@@ -686,7 +581,7 @@ public class JpaUserFederatedStorageProvider implements
if (entity.getCredentialAttributes().isEmpty() && (cred.getConfig() == null || cred.getConfig().isEmpty())) {
} else {
- MultivaluedHashMap<String, String> attrs = cred.getConfig();
+ MultivaluedHashMap<String, String> attrs = new MultivaluedHashMap<>();
MultivaluedHashMap<String, String> config = cred.getConfig();
if (config == null) config = new MultivaluedHashMap<>();
diff --git a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/PolicyEntity.java b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/PolicyEntity.java
index c489542..047961b 100644
--- a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/PolicyEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/PolicyEntity.java
@@ -21,7 +21,7 @@ package org.keycloak.authorization.mongo.entities;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.AbstractIdentifiableEntity;
+import org.keycloak.models.mongo.keycloak.entities.AbstractIdentifiableEntity;
import org.keycloak.representations.idm.authorization.DecisionStrategy;
import org.keycloak.representations.idm.authorization.Logic;
diff --git a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceEntity.java b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceEntity.java
index b2e15da..9f63eca 100644
--- a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceEntity.java
@@ -22,7 +22,7 @@ import org.keycloak.authorization.model.Scope;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.AbstractIdentifiableEntity;
+import org.keycloak.models.mongo.keycloak.entities.AbstractIdentifiableEntity;
import java.util.ArrayList;
import java.util.HashSet;
diff --git a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceServerEntity.java b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceServerEntity.java
index 8167c42..89aadf2 100644
--- a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceServerEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ResourceServerEntity.java
@@ -21,7 +21,7 @@ package org.keycloak.authorization.mongo.entities;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.AbstractIdentifiableEntity;
+import org.keycloak.models.mongo.keycloak.entities.AbstractIdentifiableEntity;
import org.keycloak.representations.idm.authorization.PolicyEnforcementMode;
/**
diff --git a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ScopeEntity.java b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ScopeEntity.java
index 152127d..537248c 100644
--- a/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ScopeEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/authorization/mongo/entities/ScopeEntity.java
@@ -21,7 +21,7 @@ package org.keycloak.authorization.mongo.entities;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.AbstractIdentifiableEntity;
+import org.keycloak.models.mongo.keycloak.entities.AbstractIdentifiableEntity;
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java
index ce09046..45d24d2 100755
--- a/model/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java
+++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java
@@ -17,14 +17,12 @@
package org.keycloak.connections.mongo;
-import java.lang.reflect.Method;
-import java.net.UnknownHostException;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import javax.net.ssl.SSLSocketFactory;
-
+import com.mongodb.DB;
+import com.mongodb.MongoClient;
+import com.mongodb.MongoClientOptions;
+import com.mongodb.MongoClientURI;
+import com.mongodb.MongoCredential;
+import com.mongodb.ServerAddress;
import org.jboss.logging.Logger;
import org.keycloak.Config;
import org.keycloak.connections.mongo.api.MongoStore;
@@ -39,12 +37,12 @@ import org.keycloak.models.dblock.DBLockProvider;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.provider.ServerInfoAwareProviderFactory;
-import com.mongodb.DB;
-import com.mongodb.MongoClient;
-import com.mongodb.MongoClientOptions;
-import com.mongodb.MongoClientURI;
-import com.mongodb.MongoCredential;
-import com.mongodb.ServerAddress;
+import javax.net.ssl.SSLSocketFactory;
+import java.lang.reflect.Method;
+import java.net.UnknownHostException;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Map;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
@@ -67,22 +65,23 @@ public class DefaultMongoConnectionFactoryProvider implements MongoConnectionPro
"org.keycloak.models.mongo.keycloak.entities.MongoMigrationModelEntity",
"org.keycloak.models.mongo.keycloak.entities.MongoOnlineUserSessionEntity",
"org.keycloak.models.mongo.keycloak.entities.MongoOfflineUserSessionEntity",
- "org.keycloak.models.entities.IdentityProviderEntity",
- "org.keycloak.models.entities.ClientIdentityProviderMappingEntity",
- "org.keycloak.models.entities.RequiredCredentialEntity",
- "org.keycloak.models.entities.CredentialEntity",
- "org.keycloak.models.entities.FederatedIdentityEntity",
- "org.keycloak.models.entities.UserFederationProviderEntity",
- "org.keycloak.models.entities.UserFederationMapperEntity",
- "org.keycloak.models.entities.ProtocolMapperEntity",
- "org.keycloak.models.entities.IdentityProviderMapperEntity",
- "org.keycloak.models.entities.AuthenticationExecutionEntity",
- "org.keycloak.models.entities.AuthenticationFlowEntity",
- "org.keycloak.models.entities.AuthenticatorConfigEntity",
- "org.keycloak.models.entities.RequiredActionProviderEntity",
- "org.keycloak.models.entities.PersistentUserSessionEntity",
- "org.keycloak.models.entities.PersistentClientSessionEntity",
- "org.keycloak.models.entities.ComponentEntity",
+ "org.keycloak.models.mongo.keycloak.entities.IdentityProviderEntity",
+ "org.keycloak.models.mongo.keycloak.entities.ClientIdentityProviderMappingEntity",
+ "org.keycloak.models.mongo.keycloak.entities.RequiredCredentialEntity",
+ "org.keycloak.models.mongo.keycloak.entities.CredentialEntity",
+ "org.keycloak.models.mongo.keycloak.entities.FederatedIdentityEntity",
+ "org.keycloak.models.mongo.keycloak.entities.UserFederationProviderEntity",
+ "org.keycloak.models.mongo.keycloak.entities.UserFederationMapperEntity",
+ "org.keycloak.models.mongo.keycloak.entities.ProtocolMapperEntity",
+ "org.keycloak.models.mongo.keycloak.entities.IdentityProviderMapperEntity",
+ "org.keycloak.models.mongo.keycloak.entities.AuthenticationExecutionEntity",
+ "org.keycloak.models.mongo.keycloak.entities.AuthenticationFlowEntity",
+ "org.keycloak.models.mongo.keycloak.entities.AuthenticatorConfigEntity",
+ "org.keycloak.models.mongo.keycloak.entities.RequiredActionProviderEntity",
+ "org.keycloak.models.mongo.keycloak.entities.PersistentUserSessionEntity",
+ "org.keycloak.models.mongo.keycloak.entities.PersistentClientSessionEntity",
+ "org.keycloak.models.mongo.keycloak.entities.ComponentEntity",
+ "org.keycloak.storage.mongo.entity.FederatedUser",
"org.keycloak.authorization.mongo.entities.PolicyEntity",
"org.keycloak.authorization.mongo.entities.ResourceEntity",
"org.keycloak.authorization.mongo.entities.ResourceServerEntity",
diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java
index fc62868..f54bc14 100755
--- a/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java
+++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java
@@ -17,7 +17,15 @@
package org.keycloak.connections.mongo.impl;
-import com.mongodb.*;
+import com.mongodb.BasicDBList;
+import com.mongodb.BasicDBObject;
+import com.mongodb.DB;
+import com.mongodb.DBCollection;
+import com.mongodb.DBCursor;
+import com.mongodb.DBObject;
+import com.mongodb.DuplicateKeyException;
+import com.mongodb.MongoException;
+import com.mongodb.WriteResult;
import org.jboss.logging.Logger;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoEntity;
diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBListToSetMapper.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBListToSetMapper.java
index cfe28b8..5bb3fea 100644
--- a/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBListToSetMapper.java
+++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBListToSetMapper.java
@@ -17,14 +17,14 @@
package org.keycloak.connections.mongo.impl.types;
-import java.util.HashSet;
-import java.util.Set;
-
import com.mongodb.BasicDBList;
import org.keycloak.connections.mongo.api.types.Mapper;
import org.keycloak.connections.mongo.api.types.MapperContext;
import org.keycloak.connections.mongo.api.types.MapperRegistry;
+import java.util.HashSet;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBObjectMapper.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBObjectMapper.java
index 5b06fa9..999d4e5 100644
--- a/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBObjectMapper.java
+++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/impl/types/BasicDBObjectMapper.java
@@ -19,6 +19,7 @@ package org.keycloak.connections.mongo.impl.types;
import com.mongodb.BasicDBObject;
import org.jboss.logging.Logger;
+import org.keycloak.common.util.reflections.Types;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.types.Mapper;
import org.keycloak.connections.mongo.api.types.MapperContext;
@@ -26,7 +27,6 @@ import org.keycloak.connections.mongo.api.types.MapperRegistry;
import org.keycloak.connections.mongo.impl.EntityInfo;
import org.keycloak.connections.mongo.impl.MongoStoreImpl;
import org.keycloak.models.utils.reflection.Property;
-import org.keycloak.common.util.reflections.Types;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/lock/MongoDBLockProviderFactory.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/lock/MongoDBLockProviderFactory.java
index 64f65f6..19d536b 100644
--- a/model/mongo/src/main/java/org/keycloak/connections/mongo/lock/MongoDBLockProviderFactory.java
+++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/lock/MongoDBLockProviderFactory.java
@@ -17,8 +17,6 @@
package org.keycloak.connections.mongo.lock;
-import java.util.concurrent.atomic.AtomicBoolean;
-
import com.mongodb.DB;
import org.jboss.logging.Logger;
import org.keycloak.Config;
@@ -29,6 +27,8 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.dblock.DBLockProviderFactory;
+import java.util.concurrent.atomic.AtomicBoolean;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_Beta1.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_Beta1.java
index 30c5cdc..8097e1c 100644
--- a/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_Beta1.java
+++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_Beta1.java
@@ -17,9 +17,6 @@
package org.keycloak.connections.mongo.updater.impl.updates;
-import java.util.List;
-import java.util.Map;
-
import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
@@ -34,6 +31,9 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_4_0.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_4_0.java
index 360bc87..774410c 100755
--- a/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_4_0.java
+++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_4_0.java
@@ -17,15 +17,15 @@
package org.keycloak.connections.mongo.updater.impl.updates;
-import java.util.HashSet;
-import java.util.Map;
-
import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import org.keycloak.models.KeycloakSession;
+import java.util.HashSet;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/mongo/src/main/java/org/keycloak/events/mongo/MongoAdminEventQuery.java b/model/mongo/src/main/java/org/keycloak/events/mongo/MongoAdminEventQuery.java
index bf58082..9a2e6e4 100755
--- a/model/mongo/src/main/java/org/keycloak/events/mongo/MongoAdminEventQuery.java
+++ b/model/mongo/src/main/java/org/keycloak/events/mongo/MongoAdminEventQuery.java
@@ -17,20 +17,19 @@
package org.keycloak.events.mongo;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.AdminEventQuery;
-import org.keycloak.events.admin.OperationType;
-
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
+import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.AdminEventQuery;
+import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.regex.Pattern;
+
public class MongoAdminEventQuery implements AdminEventQuery{
private Integer firstResult;
diff --git a/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventQuery.java b/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventQuery.java
index 1fb3e9e..d02f9bf 100755
--- a/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventQuery.java
+++ b/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventQuery.java
@@ -20,7 +20,6 @@ package org.keycloak.events.mongo;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
-
import org.keycloak.events.Event;
import org.keycloak.events.EventQuery;
import org.keycloak.events.EventType;
diff --git a/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventStoreProvider.java b/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventStoreProvider.java
index e0f8512..e875c5b 100755
--- a/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventStoreProvider.java
+++ b/model/mongo/src/main/java/org/keycloak/events/mongo/MongoEventStoreProvider.java
@@ -20,15 +20,14 @@ package org.keycloak.events.mongo;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
-
-import org.keycloak.events.admin.AdminEvent;
-import org.keycloak.events.admin.AdminEventQuery;
-import org.keycloak.events.admin.AuthDetails;
-import org.keycloak.events.admin.OperationType;
import org.keycloak.events.Event;
import org.keycloak.events.EventQuery;
import org.keycloak.events.EventStoreProvider;
import org.keycloak.events.EventType;
+import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.AdminEventQuery;
+import org.keycloak.events.admin.AuthDetails;
+import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import java.util.HashMap;
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java
index 5d6e053..3139430 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java
@@ -25,9 +25,9 @@ import org.keycloak.models.ModelDuplicateException;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.entities.ProtocolMapperEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoClientEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoRoleEntity;
+import org.keycloak.models.mongo.keycloak.entities.ProtocolMapperEntity;
import org.keycloak.models.mongo.utils.MongoModelUtils;
import org.keycloak.models.utils.KeycloakModelUtils;
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientTemplateAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientTemplateAdapter.java
index a767368..22a4dfa 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientTemplateAdapter.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientTemplateAdapter.java
@@ -24,9 +24,9 @@ import org.keycloak.models.ModelDuplicateException;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.entities.ProtocolMapperEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoClientTemplateEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoRoleEntity;
+import org.keycloak.models.mongo.keycloak.entities.ProtocolMapperEntity;
import org.keycloak.models.mongo.utils.MongoModelUtils;
import org.keycloak.models.utils.KeycloakModelUtils;
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java
index 5f8094b..96a9d31 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java
@@ -20,12 +20,10 @@ package org.keycloak.models.mongo.keycloak.adapters;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.QueryBuilder;
-
import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.component.ComponentModel;
import org.keycloak.connections.mongo.api.MongoStore;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.credential.CredentialInput;
import org.keycloak.credential.CredentialModel;
import org.keycloak.credential.UserCredentialStore;
import org.keycloak.models.ClientModel;
@@ -45,12 +43,11 @@ import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserProvider;
import org.keycloak.models.cache.CachedUserModel;
-import org.keycloak.models.entities.CredentialEntity;
-import org.keycloak.models.entities.FederatedIdentityEntity;
-import org.keycloak.models.entities.UserConsentEntity;
+import org.keycloak.models.mongo.keycloak.entities.CredentialEntity;
+import org.keycloak.models.mongo.keycloak.entities.FederatedIdentityEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserConsentEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity;
-import org.keycloak.models.utils.CredentialValidation;
+import org.keycloak.models.mongo.keycloak.entities.UserConsentEntity;
import org.keycloak.models.utils.KeycloakModelUtils;
import java.util.ArrayList;
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserSessionPersisterProvider.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserSessionPersisterProvider.java
index acb40d4..fecbd93 100644
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserSessionPersisterProvider.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserSessionPersisterProvider.java
@@ -17,11 +17,6 @@
package org.keycloak.models.mongo.keycloak.adapters;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.QueryBuilder;
@@ -34,17 +29,22 @@ import org.keycloak.models.ModelException;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.models.entities.PersistentClientSessionEntity;
-import org.keycloak.models.entities.PersistentUserSessionEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoOfflineUserSessionEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoOnlineUserSessionEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserSessionEntity;
+import org.keycloak.models.mongo.keycloak.entities.PersistentClientSessionEntity;
+import org.keycloak.models.mongo.keycloak.entities.PersistentUserSessionEntity;
import org.keycloak.models.session.PersistentClientSessionAdapter;
import org.keycloak.models.session.PersistentClientSessionModel;
import org.keycloak.models.session.PersistentUserSessionAdapter;
import org.keycloak.models.session.PersistentUserSessionModel;
import org.keycloak.models.session.UserSessionPersisterProvider;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java
index 85592b0..4ebfca8 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/RealmAdapter.java
@@ -19,11 +19,10 @@ package org.keycloak.models.mongo.keycloak.adapters;
import com.mongodb.DBObject;
import com.mongodb.QueryBuilder;
-
+import org.keycloak.common.enums.SslRequired;
import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.component.ComponentModel;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.common.enums.SslRequired;
import org.keycloak.jose.jwk.JWKBuilder;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.AuthenticationFlowModel;
@@ -46,20 +45,20 @@ import org.keycloak.models.RoleModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderCreationEventImpl;
import org.keycloak.models.UserFederationProviderModel;
-import org.keycloak.models.entities.AuthenticationExecutionEntity;
-import org.keycloak.models.entities.AuthenticationFlowEntity;
-import org.keycloak.models.entities.AuthenticatorConfigEntity;
-import org.keycloak.models.entities.ComponentEntity;
-import org.keycloak.models.entities.IdentityProviderEntity;
-import org.keycloak.models.entities.IdentityProviderMapperEntity;
-import org.keycloak.models.entities.RequiredActionProviderEntity;
-import org.keycloak.models.entities.RequiredCredentialEntity;
-import org.keycloak.models.entities.UserFederationMapperEntity;
-import org.keycloak.models.entities.UserFederationProviderEntity;
+import org.keycloak.models.mongo.keycloak.entities.AuthenticationExecutionEntity;
+import org.keycloak.models.mongo.keycloak.entities.AuthenticationFlowEntity;
+import org.keycloak.models.mongo.keycloak.entities.AuthenticatorConfigEntity;
+import org.keycloak.models.mongo.keycloak.entities.ComponentEntity;
+import org.keycloak.models.mongo.keycloak.entities.IdentityProviderEntity;
+import org.keycloak.models.mongo.keycloak.entities.IdentityProviderMapperEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoClientEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoClientTemplateEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoRealmEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoRoleEntity;
+import org.keycloak.models.mongo.keycloak.entities.RequiredActionProviderEntity;
+import org.keycloak.models.mongo.keycloak.entities.RequiredCredentialEntity;
+import org.keycloak.models.mongo.keycloak.entities.UserFederationMapperEntity;
+import org.keycloak.models.mongo.keycloak.entities.UserFederationProviderEntity;
import org.keycloak.models.utils.KeycloakModelUtils;
import java.security.Key;
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java
index f642ef1..5453c0b 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java
@@ -17,39 +17,21 @@
package org.keycloak.models.mongo.keycloak.adapters;
-import com.mongodb.DBObject;
-import com.mongodb.QueryBuilder;
-
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.hash.PasswordHashManager;
import org.keycloak.models.ClientModel;
import org.keycloak.models.GroupModel;
-import org.keycloak.models.OTPPolicy;
-import org.keycloak.models.ProtocolMapperModel;
-import org.keycloak.models.UserConsentModel;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.ModelDuplicateException;
-import org.keycloak.models.ModelException;
-import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
-import org.keycloak.models.entities.CredentialEntity;
-import org.keycloak.models.entities.UserConsentEntity;
-import org.keycloak.models.mongo.keycloak.entities.MongoUserConsentEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity;
import org.keycloak.models.mongo.utils.MongoModelUtils;
import org.keycloak.models.utils.KeycloakModelUtils;
-import org.keycloak.common.util.Time;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java
index 9d1b1d6..10411a1 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java
@@ -22,7 +22,6 @@ import com.mongodb.QueryBuilder;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.ClientEntity;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientTemplateEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientTemplateEntity.java
index 00466ed..7923e6e 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientTemplateEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientTemplateEntity.java
@@ -20,7 +20,6 @@ package org.keycloak.models.mongo.keycloak.entities;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.ClientTemplateEntity;
/**
* @author <a href="mailto:bburke@redhat.com">Bill Burke</a>
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoGroupEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoGroupEntity.java
index 6665252..c3f8e8a 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoGroupEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoGroupEntity.java
@@ -20,7 +20,6 @@ package org.keycloak.models.mongo.keycloak.entities;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.GroupEntity;
/**
*/
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java
index 1470cc6..e7b5bd8 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java
@@ -22,7 +22,6 @@ import com.mongodb.QueryBuilder;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.RealmEntity;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java
index b2665f5..660cca5 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java
@@ -25,7 +25,6 @@ import org.keycloak.connections.mongo.api.MongoField;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.MongoStore;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.RoleEntity;
import java.util.List;
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java
index 64e749f..61bf684 100644
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java
@@ -20,7 +20,6 @@ package org.keycloak.models.mongo.keycloak.entities;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.UserConsentEntity;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java
index 7000f1b..ae9d5a6 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java
@@ -22,7 +22,6 @@ import com.mongodb.QueryBuilder;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.UserEntity;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserSessionEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserSessionEntity.java
index 1fd89e3..0e60c68 100644
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserSessionEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserSessionEntity.java
@@ -19,7 +19,6 @@ package org.keycloak.models.mongo.keycloak.entities;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
-import org.keycloak.models.entities.PersistentUserSessionEntity;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java b/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java
index 5fcbe8d..1555a5b 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java
@@ -25,11 +25,11 @@ import org.keycloak.models.ClientTemplateModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserModel;
-import org.keycloak.models.entities.ClientEntity;
-import org.keycloak.models.entities.ClientTemplateEntity;
import org.keycloak.models.mongo.keycloak.adapters.ClientAdapter;
import org.keycloak.models.mongo.keycloak.adapters.ClientTemplateAdapter;
import org.keycloak.models.mongo.keycloak.adapters.UserAdapter;
+import org.keycloak.models.mongo.keycloak.entities.ClientEntity;
+import org.keycloak.models.mongo.keycloak.entities.ClientTemplateEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoRoleEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity;
diff --git a/model/mongo/src/main/java/org/keycloak/storage/mongo/entity/FederatedUser.java b/model/mongo/src/main/java/org/keycloak/storage/mongo/entity/FederatedUser.java
new file mode 100644
index 0000000..c810649
--- /dev/null
+++ b/model/mongo/src/main/java/org/keycloak/storage/mongo/entity/FederatedUser.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.keycloak.storage.mongo.entity;
+
+import com.mongodb.DBObject;
+import com.mongodb.QueryBuilder;
+import org.keycloak.connections.mongo.api.MongoCollection;
+import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
+import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
+import org.keycloak.models.mongo.keycloak.entities.AbstractIdentifiableEntity;
+import org.keycloak.models.mongo.keycloak.entities.CredentialEntity;
+import org.keycloak.models.mongo.keycloak.entities.FederatedIdentityEntity;
+import org.keycloak.models.mongo.keycloak.entities.MongoUserConsentEntity;
+import org.keycloak.models.mongo.keycloak.entities.UserConsentEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+@MongoCollection(collectionName = "federatedusers")
+public class FederatedUser extends AbstractIdentifiableEntity implements MongoIdentifiableEntity {
+ protected String realmId;
+ protected String storageId;
+
+ private Map<String, List<String>> attributes;
+ private List<String> roleIds;
+ private List<String> groupIds;
+ private List<String> requiredActions;
+ private List<CredentialEntity> credentials;
+ private List<FederatedIdentityEntity> federatedIdentities;
+
+ public String getRealmId() {
+ return realmId;
+ }
+
+ public void setRealmId(String realmId) {
+ this.realmId = realmId;
+ }
+
+ public String getStorageId() {
+ return storageId;
+ }
+
+ public void setStorageId(String storageId) {
+ this.storageId = storageId;
+ }
+
+ public Map<String, List<String>> getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(Map<String, List<String>> attributes) {
+ this.attributes = attributes;
+ }
+
+ public List<String> getRoleIds() {
+ return roleIds;
+ }
+
+ public void setRoleIds(List<String> roleIds) {
+ this.roleIds = roleIds;
+ }
+
+ public List<String> getGroupIds() {
+ return groupIds;
+ }
+
+ public void setGroupIds(List<String> groupIds) {
+ this.groupIds = groupIds;
+ }
+
+ public List<String> getRequiredActions() {
+ return requiredActions;
+ }
+
+ public void setRequiredActions(List<String> requiredActions) {
+ this.requiredActions = requiredActions;
+ }
+
+ public List<CredentialEntity> getCredentials() {
+ return credentials;
+ }
+
+ public void setCredentials(List<CredentialEntity> credentials) {
+ this.credentials = credentials;
+ }
+
+ public List<FederatedIdentityEntity> getFederatedIdentities() {
+ return federatedIdentities;
+ }
+
+ public void setFederatedIdentities(List<FederatedIdentityEntity> federatedIdentities) {
+ this.federatedIdentities = federatedIdentities;
+ }
+
+ @Override
+ public void afterRemove(MongoStoreInvocationContext context) {
+ // Remove all consents of this user
+ DBObject query = new QueryBuilder()
+ .and("userId").is(getId())
+ .get();
+
+ context.getMongoStore().removeEntities(MongoUserConsentEntity.class, query, true, context);
+ }
+
+}
diff --git a/model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProvider.java b/model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProvider.java
new file mode 100644
index 0000000..ec970bf
--- /dev/null
+++ b/model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProvider.java
@@ -0,0 +1,594 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.keycloak.storage.mongo;
+
+import com.mongodb.BasicDBObject;
+import com.mongodb.DBObject;
+import com.mongodb.QueryBuilder;
+import org.keycloak.common.util.MultivaluedHashMap;
+import org.keycloak.component.ComponentModel;
+import org.keycloak.connections.mongo.api.MongoStore;
+import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
+import org.keycloak.credential.CredentialModel;
+import org.keycloak.credential.UserCredentialStore;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.FederatedIdentityModel;
+import org.keycloak.models.GroupModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserConsentModel;
+import org.keycloak.models.UserFederationProviderModel;
+import org.keycloak.models.UserModel;
+import org.keycloak.models.mongo.keycloak.entities.CredentialEntity;
+import org.keycloak.models.mongo.keycloak.entities.FederatedIdentityEntity;
+import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity;
+import org.keycloak.models.utils.KeycloakModelUtils;
+import org.keycloak.storage.StorageId;
+import org.keycloak.storage.UserStorageProvider;
+import org.keycloak.storage.federated.UserAttributeFederatedStorage;
+import org.keycloak.storage.federated.UserBrokerLinkFederatedStorage;
+import org.keycloak.storage.federated.UserConsentFederatedStorage;
+import org.keycloak.storage.federated.UserFederatedStorageProvider;
+import org.keycloak.storage.federated.UserGroupMembershipFederatedStorage;
+import org.keycloak.storage.federated.UserRequiredActionsFederatedStorage;
+import org.keycloak.storage.federated.UserRoleMappingsFederatedStorage;
+import org.keycloak.storage.mongo.entity.FederatedUser;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class MongoUserFederatedStorageProvider implements
+ UserFederatedStorageProvider,
+ UserAttributeFederatedStorage,
+ UserBrokerLinkFederatedStorage,
+ UserConsentFederatedStorage,
+ UserGroupMembershipFederatedStorage,
+ UserRequiredActionsFederatedStorage,
+ UserRoleMappingsFederatedStorage,
+ UserCredentialStore {
+
+ private final MongoStoreInvocationContext invocationContext;
+ private final KeycloakSession session;
+
+ public MongoUserFederatedStorageProvider(KeycloakSession session, MongoStoreInvocationContext invocationContext) {
+ this.session = session;
+ this.invocationContext = invocationContext;
+ }
+
+ protected MongoStore getMongoStore() {
+ return invocationContext.getMongoStore();
+ }
+
+
+ protected FederatedUser addUserEntity(RealmModel realm, String id) {
+ FederatedUser userEntity = new FederatedUser();
+ userEntity.setId(id);
+ userEntity.setStorageId(StorageId.providerId(id));
+ userEntity.setRealmId(realm.getId());
+
+ getMongoStore().insertEntity(userEntity, invocationContext);
+ return userEntity;
+ }
+
+ protected FederatedUser getUserById(String id) {
+ return getMongoStore().loadEntity(FederatedUser.class, id, invocationContext);
+ }
+
+ protected FederatedUser findOrCreate(RealmModel realm, String id) {
+ FederatedUser user = getUserById(id);
+ if (user != null) return user;
+ return addUserEntity(realm, id);
+ }
+
+
+
+ @Override
+ public boolean removeStoredCredential(RealmModel realm, UserModel user, String id) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null) return false;
+ CredentialEntity ce = getCredentialEntity(id, userEntity);
+ if (ce != null) return getMongoStore().pullItemFromList(userEntity, "credentials", ce, invocationContext);
+ return false;
+ }
+
+ private CredentialEntity getCredentialEntity(String id, FederatedUser userEntity) {
+ CredentialEntity ce = null;
+ if (userEntity.getCredentials() != null) {
+ for (CredentialEntity credentialEntity : userEntity.getCredentials()) {
+ if (credentialEntity.getId().equals(id)) {
+ ce = credentialEntity;
+ break;
+
+ }
+ }
+ }
+ return ce;
+ }
+
+ protected CredentialModel toModel(CredentialEntity entity) {
+ CredentialModel model = new CredentialModel();
+ model.setId(entity.getId());
+ model.setHashIterations(entity.getHashIterations());
+ model.setType(entity.getType());
+ model.setValue(entity.getValue());
+ model.setAlgorithm(entity.getAlgorithm());
+ model.setSalt(entity.getSalt());
+ model.setPeriod(entity.getPeriod());
+ model.setCounter(entity.getCounter());
+ model.setCreatedDate(entity.getCreatedDate());
+ model.setDevice(entity.getDevice());
+ model.setDigits(entity.getDigits());
+ MultivaluedHashMap<String, String> config = new MultivaluedHashMap<>();
+ model.setConfig(config);
+ if (entity.getConfig() != null) {
+ config.putAll(entity.getConfig());
+ }
+
+ return model;
+ }
+
+ @Override
+ public CredentialModel getStoredCredentialById(RealmModel realm, UserModel user, String id) {
+ FederatedUser userEntity = getUserById(id);
+ if (userEntity != null && userEntity.getCredentials() != null) {
+ for (CredentialEntity credentialEntity : userEntity.getCredentials()) {
+ if (credentialEntity.getId().equals(id)) {
+ return toModel(credentialEntity);
+
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public List<CredentialModel> getStoredCredentials(RealmModel realm, UserModel user) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity != null && userEntity.getCredentials() != null) {
+ List<CredentialModel> list = new LinkedList<>();
+ for (CredentialEntity credentialEntity : userEntity.getCredentials()) {
+ list.add(toModel(credentialEntity));
+ }
+ return list;
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ @Override
+ public List<CredentialModel> getStoredCredentialsByType(RealmModel realm, UserModel user, String type) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity != null && userEntity.getCredentials() != null) {
+ List<CredentialModel> list = new LinkedList<>();
+ for (CredentialEntity credentialEntity : userEntity.getCredentials()) {
+ if (type.equals(credentialEntity.getType())) list.add(toModel(credentialEntity));
+ }
+ return list;
+ }
+ return Collections.EMPTY_LIST;
+ }
+
+ @Override
+ public CredentialModel getStoredCredentialByNameAndType(RealmModel realm, UserModel user, String name, String type) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity != null && userEntity.getCredentials() != null) {
+ for (CredentialEntity credentialEntity : userEntity.getCredentials()) {
+ if (credentialEntity.getDevice().equals(name) && type.equals(credentialEntity.getType())) {
+ return toModel(credentialEntity);
+
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public List<String> getStoredUsers(RealmModel realm, int first, int max) {
+ QueryBuilder queryBuilder = new QueryBuilder()
+ .and("realmId").is(realm.getId());
+
+ DBObject query = queryBuilder.get();
+ List<FederatedUser> users = getMongoStore().loadEntities(FederatedUser.class, query, null, first, max, invocationContext);
+ List<String> ids = new LinkedList<>();
+ for (FederatedUser user : users) ids.add(user.getId());
+ return ids;
+ }
+
+ @Override
+ public void preRemove(RealmModel realm) {
+ DBObject query = new QueryBuilder()
+ .and("realmId").is(realm.getId())
+ .get();
+ getMongoStore().removeEntities(FederatedUser.class, query, true, invocationContext);
+ }
+
+ @Override
+ public void preRemove(RealmModel realm, UserFederationProviderModel link) {
+
+ }
+
+ @Override
+ public void preRemove(RealmModel realm, GroupModel group) {
+ DBObject query = new QueryBuilder()
+ .and("groupIds").is(group.getId())
+ .get();
+
+ DBObject pull = new BasicDBObject("$pull", query);
+ getMongoStore().updateEntities(FederatedUser.class, query, pull, invocationContext);
+
+ }
+
+ @Override
+ public void preRemove(RealmModel realm, RoleModel role) {
+ DBObject query = new QueryBuilder()
+ .and("roleIds").is(role.getId())
+ .get();
+
+ DBObject pull = new BasicDBObject("$pull", query);
+ getMongoStore().updateEntities(FederatedUser.class, query, pull, invocationContext);
+
+ }
+
+ @Override
+ public void preRemove(RealmModel realm, ClientModel client) {
+
+ }
+
+ @Override
+ public void preRemove(ProtocolMapperModel protocolMapper) {
+
+ }
+
+ @Override
+ public void preRemove(RealmModel realm, UserModel user) {
+ getMongoStore().removeEntity(FederatedUser.class, user.getId(), invocationContext);
+
+ }
+
+ @Override
+ public void preRemove(RealmModel realm, ComponentModel model) {
+ if (!model.getProviderType().equals(UserStorageProvider.class.getName())) return;
+ DBObject query = new QueryBuilder()
+ .and("storageId").is(model.getId())
+ .get();
+ getMongoStore().removeEntities(FederatedUser.class, query, true, invocationContext);
+
+ }
+
+ @Override
+ public void close() {
+
+ }
+
+ @Override
+ public void setSingleAttribute(RealmModel realm, UserModel user, String name, String value) {
+ FederatedUser userEntity = findOrCreate(realm, user.getId());
+ if (userEntity.getAttributes() == null) {
+ userEntity.setAttributes(new HashMap<>());
+ }
+
+ List<String> attrValues = new LinkedList<>();
+ attrValues.add(value);
+ userEntity.getAttributes().put(name, attrValues);
+ getMongoStore().updateEntity(userEntity, invocationContext);
+ }
+
+ @Override
+ public void setAttribute(RealmModel realm, UserModel user, String name, List<String> values) {
+ FederatedUser userEntity = findOrCreate(realm, user.getId());
+ if (userEntity.getAttributes() == null) {
+ userEntity.setAttributes(new HashMap<>());
+ }
+
+ userEntity.getAttributes().put(name, values);
+ getMongoStore().updateEntity(userEntity, invocationContext);
+
+ }
+
+ @Override
+ public void removeAttribute(RealmModel realm, UserModel user, String name) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || userEntity.getAttributes() == null) return;
+
+ userEntity.getAttributes().remove(name);
+ getMongoStore().updateEntity(userEntity, invocationContext);
+ }
+
+ @Override
+ public MultivaluedHashMap<String, String> getAttributes(RealmModel realm, UserModel user) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || userEntity.getAttributes() == null) return new MultivaluedHashMap<>();
+ MultivaluedHashMap<String, String> result = new MultivaluedHashMap<>();
+ result.putAll(userEntity.getAttributes());
+ return result;
+ }
+
+ @Override
+ public List<String> getUsersByUserAttribute(RealmModel realm, String name, String value) {
+ QueryBuilder queryBuilder = new QueryBuilder()
+ .and("realmId").is(realm.getId());
+ queryBuilder.and("attributes." + name).is(value);
+
+ List<FederatedUser> users = getMongoStore().loadEntities(FederatedUser.class, queryBuilder.get(), invocationContext);
+ List<String> ids = new LinkedList<>();
+ for (FederatedUser user : users) ids.add(user.getId());
+ return ids;
+ }
+
+ @Override
+ public String getUserByFederatedIdentity(FederatedIdentityModel socialLink, RealmModel realm) {
+ DBObject query = new QueryBuilder()
+ .and("federatedIdentities.identityProvider").is(socialLink.getIdentityProvider())
+ .and("federatedIdentities.userId").is(socialLink.getUserId())
+ .and("realmId").is(realm.getId())
+ .get();
+ FederatedUser userEntity = getMongoStore().loadSingleEntity(FederatedUser.class, query, invocationContext);
+ return userEntity != null ? userEntity.getId() : null;
+ }
+
+ @Override
+ public void addFederatedIdentity(RealmModel realm, UserModel user, FederatedIdentityModel socialLink) {
+ FederatedUser userEntity = findOrCreate(realm, user.getId());
+ FederatedIdentityEntity federatedIdentityEntity = new FederatedIdentityEntity();
+ federatedIdentityEntity.setIdentityProvider(socialLink.getIdentityProvider());
+ federatedIdentityEntity.setUserId(socialLink.getUserId());
+ federatedIdentityEntity.setUserName(socialLink.getUserName().toLowerCase());
+ federatedIdentityEntity.setToken(socialLink.getToken());
+
+ getMongoStore().pushItemToList(userEntity, "federatedIdentities", federatedIdentityEntity, true, invocationContext);
+ }
+
+ @Override
+ public boolean removeFederatedIdentity(RealmModel realm, UserModel user, String socialProvider) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null) return false;
+
+ FederatedIdentityEntity federatedIdentityEntity = findFederatedIdentityLink(userEntity, socialProvider);
+ if (federatedIdentityEntity == null) {
+ return false;
+ }
+ return getMongoStore().pullItemFromList(userEntity, "federatedIdentities", federatedIdentityEntity, invocationContext); }
+
+ private FederatedIdentityEntity findFederatedIdentityLink(FederatedUser userEntity, String identityProvider) {
+ List<FederatedIdentityEntity> linkEntities = userEntity.getFederatedIdentities();
+ if (linkEntities == null) {
+ return null;
+ }
+
+ for (FederatedIdentityEntity federatedIdentityEntity : linkEntities) {
+ if (federatedIdentityEntity.getIdentityProvider().equals(identityProvider)) {
+ return federatedIdentityEntity;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void updateFederatedIdentity(RealmModel realm, UserModel federatedUser, FederatedIdentityModel federatedIdentityModel) {
+ FederatedUser userEntity = getUserById(federatedUser.getId());
+ if (userEntity == null) return;
+ FederatedIdentityEntity federatedIdentityEntity = findFederatedIdentityLink(userEntity, federatedIdentityModel.getIdentityProvider());
+ if (federatedIdentityEntity == null) return;
+ //pushItemToList updates the whole federatedIdentities array in Mongo so we just need to remove this object from the Java
+ //List and pushItemToList will handle the DB update.
+ userEntity.getFederatedIdentities().remove(federatedIdentityEntity);
+ federatedIdentityEntity.setToken(federatedIdentityModel.getToken());
+ getMongoStore().pushItemToList(userEntity, "federatedIdentities", federatedIdentityEntity, true, invocationContext);
+ }
+
+ @Override
+ public Set<FederatedIdentityModel> getFederatedIdentities(UserModel user, RealmModel realm) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null) return Collections.EMPTY_SET;
+ List<FederatedIdentityEntity> linkEntities = userEntity.getFederatedIdentities();
+
+ if (linkEntities == null) {
+ return Collections.EMPTY_SET;
+ }
+
+ Set<FederatedIdentityModel> result = new HashSet<FederatedIdentityModel>();
+ for (FederatedIdentityEntity federatedIdentityEntity : linkEntities) {
+ FederatedIdentityModel model = new FederatedIdentityModel(federatedIdentityEntity.getIdentityProvider(),
+ federatedIdentityEntity.getUserId(), federatedIdentityEntity.getUserName(), federatedIdentityEntity.getToken());
+ result.add(model);
+ }
+ return result;
+ }
+
+ @Override
+ public FederatedIdentityModel getFederatedIdentity(UserModel user, String socialProvider, RealmModel realm) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null) return null;
+ FederatedIdentityEntity federatedIdentityEntity = findFederatedIdentityLink(userEntity, socialProvider);
+
+ return federatedIdentityEntity != null ? new FederatedIdentityModel(federatedIdentityEntity.getIdentityProvider(), federatedIdentityEntity.getUserId(),
+ federatedIdentityEntity.getUserName(), federatedIdentityEntity.getToken()) : null;
+ }
+
+ @Override
+ public void addConsent(RealmModel realm, UserModel user, UserConsentModel consent) {
+ session.userLocalStorage().addConsent(realm, user, consent);
+
+ }
+
+ @Override
+ public UserConsentModel getConsentByClient(RealmModel realm, UserModel user, String clientInternalId) {
+ return session.userLocalStorage().getConsentByClient(realm, user, clientInternalId);
+ }
+
+ @Override
+ public List<UserConsentModel> getConsents(RealmModel realm, UserModel user) {
+ return session.userLocalStorage().getConsents(realm, user);
+ }
+
+ @Override
+ public void updateConsent(RealmModel realm, UserModel user, UserConsentModel consent) {
+ session.userLocalStorage().updateConsent(realm, user, consent);
+
+ }
+
+ @Override
+ public boolean revokeConsentForClient(RealmModel realm, UserModel user, String clientInternalId) {
+ return session.userLocalStorage().revokeConsentForClient(realm, user, clientInternalId);
+ }
+
+ @Override
+ public void updateCredential(RealmModel realm, UserModel user, CredentialModel cred) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null) return;
+ CredentialEntity entity = getCredentialEntity(cred.getId(), userEntity);
+ if (entity == null) return;
+ toEntity(cred, entity);
+ userEntity.getCredentials().remove(entity);
+
+ getMongoStore().pushItemToList(userEntity, "credentials", entity, true, invocationContext);
+ }
+
+ private void toEntity(CredentialModel cred, CredentialEntity entity) {
+ entity.setAlgorithm(cred.getAlgorithm());
+ entity.setCounter(cred.getCounter());
+ entity.setCreatedDate(cred.getCreatedDate());
+ entity.setDevice(cred.getDevice());
+ entity.setDigits(cred.getDigits());
+ entity.setHashIterations(cred.getHashIterations());
+ entity.setPeriod(cred.getPeriod());
+ entity.setSalt(cred.getSalt());
+ entity.setType(cred.getType());
+ entity.setValue(cred.getValue());
+
+ if (cred.getConfig() == null) entity.setConfig(null);
+ else {
+ MultivaluedHashMap<String, String> newConfig = new MultivaluedHashMap<>();
+ newConfig.putAll(cred.getConfig());
+ entity.setConfig(newConfig);
+ }
+ }
+
+ @Override
+ public CredentialModel createCredential(RealmModel realm, UserModel user, CredentialModel cred) {
+ FederatedUser userEntity = findOrCreate(realm, user.getId());
+ CredentialEntity entity = new CredentialEntity();
+ entity.setId(KeycloakModelUtils.generateId());
+ toEntity(cred, entity);
+ getMongoStore().pushItemToList(userEntity, "credentials", entity, true, invocationContext);
+ cred.setId(entity.getId());
+ return cred;
+ }
+
+ @Override
+ public Set<GroupModel> getGroups(RealmModel realm, UserModel user) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || userEntity.getGroupIds() == null || userEntity.getGroupIds().isEmpty()) return Collections.EMPTY_SET;
+ Set<GroupModel> groups = new HashSet<>();
+ for (String groupId : userEntity.getGroupIds()) {
+ GroupModel group = session.realms().getGroupById(groupId, realm);
+ if (group != null) groups.add(group);
+ }
+
+ return groups;
+ }
+
+ @Override
+ public void joinGroup(RealmModel realm, UserModel user, GroupModel group) {
+ FederatedUser userEntity = findOrCreate(realm, user.getId());
+ getMongoStore().pushItemToList(userEntity, "groupIds", group.getId(), true, invocationContext);
+
+
+ }
+
+ @Override
+ public void leaveGroup(RealmModel realm, UserModel user, GroupModel group) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || group == null) return;
+ getMongoStore().pullItemFromList(userEntity, "groupIds", group.getId(), invocationContext);
+
+
+ }
+
+ @Override
+ public List<String> getMembership(RealmModel realm, GroupModel group, int firstResult, int max) {
+ QueryBuilder queryBuilder = new QueryBuilder()
+ .and("realmId").is(realm.getId());
+ queryBuilder.and("groupIds").is(group.getId());
+
+ List<FederatedUser> users = getMongoStore().loadEntities(FederatedUser.class, queryBuilder.get(), null, firstResult, max, invocationContext);
+ List<String> ids = new LinkedList<>();
+ for (FederatedUser user : users) ids.add(user.getId());
+ return ids;
+ }
+
+ @Override
+ public Set<String> getRequiredActions(RealmModel realm, UserModel user) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || userEntity.getRequiredActions() == null || userEntity.getRequiredActions().isEmpty()) return Collections.EMPTY_SET;
+ Set<String> set = new HashSet<>();
+ set.addAll(userEntity.getRequiredActions());
+ return set;
+ }
+
+ @Override
+ public void addRequiredAction(RealmModel realm, UserModel user, String action) {
+ FederatedUser userEntity = findOrCreate(realm, user.getId());
+ getMongoStore().pushItemToList(userEntity, "requiredActions", action, true, invocationContext);
+
+ }
+
+ @Override
+ public void removeRequiredAction(RealmModel realm, UserModel user, String action) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || userEntity.getRequiredActions() == null || userEntity.getRequiredActions().isEmpty()) return;
+ getMongoStore().pullItemFromList(userEntity, "requiredActions", action, invocationContext);
+
+ }
+
+ @Override
+ public void grantRole(RealmModel realm, UserModel user, RoleModel role) {
+ FederatedUser userEntity = findOrCreate(realm, user.getId());
+ getMongoStore().pushItemToList(userEntity, "roleIds", role.getId(), true, invocationContext);
+
+ }
+
+ @Override
+ public Set<RoleModel> getRoleMappings(RealmModel realm, UserModel user) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || userEntity.getRoleIds() == null || userEntity.getRoleIds().isEmpty()) return Collections.EMPTY_SET;
+ Set<RoleModel> roles = new HashSet<>();
+ for (String roleId : userEntity.getRoleIds()) {
+ RoleModel role = realm.getRoleById(roleId);
+ if (role != null) roles.add(role);
+ }
+ return roles;
+ }
+
+ @Override
+ public void deleteRoleMapping(RealmModel realm, UserModel user, RoleModel role) {
+ FederatedUser userEntity = getUserById(user.getId());
+ if (userEntity == null || userEntity.getRoleIds() == null || userEntity.getRoleIds().isEmpty()) return;
+ getMongoStore().pullItemFromList(userEntity, "roleIds", role.getId(), invocationContext);
+
+ }
+}
diff --git a/model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProviderFactory.java b/model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProviderFactory.java
new file mode 100644
index 0000000..d07e872
--- /dev/null
+++ b/model/mongo/src/main/java/org/keycloak/storage/mongo/MongoUserFederatedStorageProviderFactory.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2016 Red Hat, Inc. and/or its affiliates
+ * and other contributors as indicated by the @author tags.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.keycloak.storage.mongo;
+
+import org.keycloak.Config;
+import org.keycloak.connections.mongo.MongoConnectionProvider;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.provider.ProviderFactory;
+import org.keycloak.storage.federated.UserFederatedStorageProvider;
+import org.keycloak.storage.federated.UserFederatedStorageProviderFactory;
+
+/**
+ * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class MongoUserFederatedStorageProviderFactory implements UserFederatedStorageProviderFactory {
+ @Override
+ public UserFederatedStorageProvider create(KeycloakSession session) {
+ MongoConnectionProvider connection = session.getProvider(MongoConnectionProvider.class);
+ return new MongoUserFederatedStorageProvider(session, connection.getInvocationContext());
+ }
+
+ @Override
+ public void init(Config.Scope config) {
+
+ }
+
+ @Override
+ public void postInit(KeycloakSessionFactory factory) {
+
+ }
+
+ @Override
+ public void close() {
+
+ }
+
+ @Override
+ public String getId() {
+ return "mongo";
+ }
+}
diff --git a/model/mongo/src/main/resources/META-INF/services/org.keycloak.storage.federated.UserFederatedStorageProviderFactory b/model/mongo/src/main/resources/META-INF/services/org.keycloak.storage.federated.UserFederatedStorageProviderFactory
new file mode 100644
index 0000000..c6afa25
--- /dev/null
+++ b/model/mongo/src/main/resources/META-INF/services/org.keycloak.storage.federated.UserFederatedStorageProviderFactory
@@ -0,0 +1 @@
+org.keycloak.storage.mongo.MongoUserFederatedStorageProviderFactory
\ No newline at end of file
diff --git a/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyConfig.java b/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyConfig.java
index 24e9e0d..e328187 100755
--- a/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyConfig.java
+++ b/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyConfig.java
@@ -20,7 +20,12 @@ package org.keycloak.proxy;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.keycloak.representations.adapters.config.AdapterConfig;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyServerBuilder.java b/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyServerBuilder.java
index 62b1814..eb00610 100755
--- a/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyServerBuilder.java
+++ b/proxy/proxy-server/src/main/java/org/keycloak/proxy/ProxyServerBuilder.java
@@ -18,6 +18,7 @@
package org.keycloak.proxy;
import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.ObjectMapper;
import io.undertow.Undertow;
import io.undertow.security.api.AuthenticationMechanism;
import io.undertow.security.api.AuthenticationMode;
@@ -30,18 +31,16 @@ import io.undertow.security.impl.CachedAuthenticatedSessionMechanism;
import io.undertow.server.HttpHandler;
import io.undertow.server.HttpServerExchange;
import io.undertow.server.handlers.PathHandler;
+import io.undertow.server.handlers.ProxyPeerAddressHandler;
import io.undertow.server.handlers.ResponseCodeHandler;
import io.undertow.server.handlers.proxy.ProxyHandler;
-import io.undertow.server.handlers.ProxyPeerAddressHandler;
import io.undertow.server.handlers.proxy.SimpleProxyClientProvider;
import io.undertow.server.session.InMemorySessionManager;
import io.undertow.server.session.SessionAttachmentHandler;
import io.undertow.server.session.SessionCookieConfig;
import io.undertow.server.session.SessionManager;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.jboss.logging.Logger;
import org.keycloak.adapters.AdapterDeploymentContext;
-import org.keycloak.common.util.FindFile;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.NodesRegistrationManagement;
@@ -50,8 +49,9 @@ import org.keycloak.adapters.undertow.UndertowAuthenticationMechanism;
import org.keycloak.adapters.undertow.UndertowPreAuthActionsHandler;
import org.keycloak.adapters.undertow.UndertowUserSessionManagement;
import org.keycloak.common.enums.SslRequired;
-import org.keycloak.representations.adapters.config.AdapterConfig;
import org.keycloak.common.util.CertificateUtils;
+import org.keycloak.common.util.FindFile;
+import org.keycloak.representations.adapters.config.AdapterConfig;
import org.keycloak.util.SystemPropertiesJsonParserFactory;
import org.xnio.Option;
@@ -69,7 +69,11 @@ import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
-import java.util.*;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/saml-core/src/main/java/org/keycloak/saml/BaseSAML2BindingBuilder.java b/saml-core/src/main/java/org/keycloak/saml/BaseSAML2BindingBuilder.java
index a40c188..6d84c13 100755
--- a/saml-core/src/main/java/org/keycloak/saml/BaseSAML2BindingBuilder.java
+++ b/saml-core/src/main/java/org/keycloak/saml/BaseSAML2BindingBuilder.java
@@ -18,6 +18,7 @@
package org.keycloak.saml;
import org.jboss.logging.Logger;
+import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.saml.common.constants.GeneralConstants;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
@@ -28,7 +29,6 @@ import org.keycloak.saml.processing.core.saml.v2.util.DocumentUtil;
import org.keycloak.saml.processing.core.util.XMLEncryptionUtil;
import org.keycloak.saml.processing.web.util.PostBindingUtil;
import org.keycloak.saml.processing.web.util.RedirectBindingUtil;
-import org.keycloak.common.util.KeycloakUriBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -45,8 +45,8 @@ import java.security.PublicKey;
import java.security.Signature;
import java.security.cert.X509Certificate;
-import static org.keycloak.saml.common.util.StringUtil.isNotNull;
import static org.keycloak.common.util.HtmlUtils.escapeAttribute;
+import static org.keycloak.saml.common.util.StringUtil.isNotNull;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/saml-core/src/main/java/org/keycloak/saml/common/parsers/AbstractParser.java b/saml-core/src/main/java/org/keycloak/saml/common/parsers/AbstractParser.java
index 5cb19de..3a5867b 100755
--- a/saml-core/src/main/java/org/keycloak/saml/common/parsers/AbstractParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/common/parsers/AbstractParser.java
@@ -31,7 +31,6 @@ import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.Characters;
import javax.xml.stream.events.XMLEvent;
import javax.xml.stream.util.EventReaderDelegate;
-
import java.io.InputStream;
import java.security.AccessController;
import java.security.PrivilegedAction;
diff --git a/saml-core/src/main/java/org/keycloak/saml/common/util/StaxParserUtil.java b/saml-core/src/main/java/org/keycloak/saml/common/util/StaxParserUtil.java
index 212fb13..6e37558 100755
--- a/saml-core/src/main/java/org/keycloak/saml/common/util/StaxParserUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/common/util/StaxParserUtil.java
@@ -16,6 +16,7 @@
*/
package org.keycloak.saml.common.util;
+import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.GeneralConstants;
@@ -23,7 +24,6 @@ import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ConfigurationException;
import org.keycloak.saml.common.exceptions.ParsingException;
-import org.keycloak.saml.common.ErrorCodes;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/request/SAML2Request.java b/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/request/SAML2Request.java
index 73beb90..77c15ee 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/request/SAML2Request.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/request/SAML2Request.java
@@ -16,6 +16,13 @@
*/
package org.keycloak.saml.processing.api.saml.v2.request;
+import org.keycloak.dom.saml.v2.SAML2Object;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
+import org.keycloak.dom.saml.v2.protocol.LogoutRequestType;
+import org.keycloak.dom.saml.v2.protocol.NameIDPolicyType;
+import org.keycloak.dom.saml.v2.protocol.RequestAbstractType;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -25,7 +32,6 @@ import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.exceptions.ProcessingException;
import org.keycloak.saml.common.util.DocumentUtil;
import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.dom.saml.v2.SAML2Object;
import org.keycloak.saml.processing.core.parsers.saml.SAMLParser;
import org.keycloak.saml.processing.core.saml.v2.common.IDGenerator;
import org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder;
@@ -33,12 +39,6 @@ import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.keycloak.saml.processing.core.saml.v2.writers.SAMLRequestWriter;
import org.keycloak.saml.processing.core.saml.v2.writers.SAMLResponseWriter;
import org.keycloak.saml.processing.core.util.JAXPValidationUtil;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
-import org.keycloak.dom.saml.v2.protocol.LogoutRequestType;
-import org.keycloak.dom.saml.v2.protocol.NameIDPolicyType;
-import org.keycloak.dom.saml.v2.protocol.RequestAbstractType;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.w3c.dom.Document;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/response/SAML2Response.java b/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/response/SAML2Response.java
index 4cca65e..76155fe 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/response/SAML2Response.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/api/saml/v2/response/SAML2Response.java
@@ -16,27 +16,6 @@
*/
package org.keycloak.saml.processing.api.saml.v2.response;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.exceptions.ConfigurationException;
-import org.keycloak.saml.common.exceptions.ParsingException;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.exceptions.fed.IssueInstantMissingException;
-import org.keycloak.saml.common.util.DocumentUtil;
-import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.saml.processing.core.parsers.saml.SAMLParser;
-import org.keycloak.saml.processing.core.saml.v2.common.IDGenerator;
-import org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder;
-import org.keycloak.saml.processing.core.saml.v2.factories.JBossSAMLAuthnResponseFactory;
-import org.keycloak.saml.processing.core.saml.v2.factories.SAMLAssertionFactory;
-import org.keycloak.saml.processing.core.saml.v2.holders.IDPInfoHolder;
-import org.keycloak.saml.processing.core.saml.v2.holders.IssuerInfoHolder;
-import org.keycloak.saml.processing.core.saml.v2.holders.SPInfoHolder;
-import org.keycloak.saml.processing.core.saml.v2.util.AssertionUtil;
-import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.saml.processing.core.saml.v2.writers.SAMLResponseWriter;
-import org.keycloak.saml.processing.core.util.JAXPValidationUtil;
import org.keycloak.dom.saml.v2.SAML2Object;
import org.keycloak.dom.saml.v2.assertion.ActionType;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
@@ -57,7 +36,28 @@ import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationType;
import org.keycloak.dom.saml.v2.assertion.SubjectType;
import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ConfigurationException;
+import org.keycloak.saml.common.exceptions.ParsingException;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.exceptions.fed.IssueInstantMissingException;
+import org.keycloak.saml.common.util.DocumentUtil;
+import org.keycloak.saml.common.util.StaxUtil;
+import org.keycloak.saml.processing.core.parsers.saml.SAMLParser;
+import org.keycloak.saml.processing.core.saml.v2.common.IDGenerator;
+import org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder;
+import org.keycloak.saml.processing.core.saml.v2.factories.JBossSAMLAuthnResponseFactory;
+import org.keycloak.saml.processing.core.saml.v2.factories.SAMLAssertionFactory;
+import org.keycloak.saml.processing.core.saml.v2.holders.IDPInfoHolder;
+import org.keycloak.saml.processing.core.saml.v2.holders.IssuerInfoHolder;
+import org.keycloak.saml.processing.core.saml.v2.holders.SPInfoHolder;
+import org.keycloak.saml.processing.core.saml.v2.util.AssertionUtil;
+import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
+import org.keycloak.saml.processing.core.saml.v2.writers.SAMLResponseWriter;
+import org.keycloak.saml.processing.core.util.JAXPValidationUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntitiesDescriptorParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntitiesDescriptorParser.java
index 8a33a0a..8df0d3b 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntitiesDescriptorParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntitiesDescriptorParser.java
@@ -16,6 +16,8 @@
*/
package org.keycloak.saml.processing.core.parsers.saml.metadata;
+import org.keycloak.dom.saml.v2.metadata.EntitiesDescriptorType;
+import org.keycloak.dom.saml.v2.metadata.ExtensionsType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -24,8 +26,6 @@ import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.metadata.EntitiesDescriptorType;
-import org.keycloak.dom.saml.v2.metadata.ExtensionsType;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntityDescriptorParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntityDescriptorParser.java
index 835093f..a0520ab 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntityDescriptorParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/metadata/SAMLEntityDescriptorParser.java
@@ -16,15 +16,6 @@
*/
package org.keycloak.saml.processing.core.parsers.saml.metadata;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.exceptions.ParsingException;
-import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
-import org.keycloak.saml.common.util.StaxParserUtil;
-import org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil;
-import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.keycloak.dom.saml.v2.assertion.AttributeType;
import org.keycloak.dom.saml.v2.metadata.AttributeAuthorityDescriptorType;
import org.keycloak.dom.saml.v2.metadata.AttributeConsumingServiceType;
@@ -44,6 +35,15 @@ import org.keycloak.dom.saml.v2.metadata.RequestedAttributeType;
import org.keycloak.dom.saml.v2.metadata.RoleDescriptorType;
import org.keycloak.dom.saml.v2.metadata.SPSSODescriptorType;
import org.keycloak.dom.xmlsec.w3.xmlenc.EncryptionMethodType;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ParsingException;
+import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
+import org.keycloak.saml.common.util.StaxParserUtil;
+import org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil;
+import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11AssertionParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11AssertionParser.java
index bb5b102..d239b0f 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11AssertionParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11AssertionParser.java
@@ -16,6 +16,13 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
+import org.keycloak.dom.saml.v1.assertion.SAML11AttributeStatementType;
+import org.keycloak.dom.saml.v1.assertion.SAML11AuthenticationStatementType;
+import org.keycloak.dom.saml.v1.assertion.SAML11AuthorizationDecisionStatementType;
+import org.keycloak.dom.saml.v1.assertion.SAML11ConditionsType;
+import org.keycloak.dom.saml.v1.assertion.SAML11SubjectStatementType;
+import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -30,13 +37,6 @@ import org.keycloak.saml.common.util.StringUtil;
import org.keycloak.saml.processing.core.parsers.util.SAML11ParserUtil;
import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
-import org.keycloak.dom.saml.v1.assertion.SAML11AttributeStatementType;
-import org.keycloak.dom.saml.v1.assertion.SAML11AuthenticationStatementType;
-import org.keycloak.dom.saml.v1.assertion.SAML11AuthorizationDecisionStatementType;
-import org.keycloak.dom.saml.v1.assertion.SAML11ConditionsType;
-import org.keycloak.dom.saml.v1.assertion.SAML11SubjectStatementType;
-import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType;
import org.w3c.dom.Element;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11RequestParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11RequestParser.java
index 5f387d3..eff7e78 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11RequestParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11RequestParser.java
@@ -16,6 +16,10 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v1.protocol.SAML11AttributeQueryType;
+import org.keycloak.dom.saml.v1.protocol.SAML11AuthenticationQueryType;
+import org.keycloak.dom.saml.v1.protocol.SAML11AuthorizationDecisionQueryType;
+import org.keycloak.dom.saml.v1.protocol.SAML11RequestType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -26,10 +30,6 @@ import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.parsers.util.SAML11ParserUtil;
import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v1.protocol.SAML11AttributeQueryType;
-import org.keycloak.dom.saml.v1.protocol.SAML11AuthenticationQueryType;
-import org.keycloak.dom.saml.v1.protocol.SAML11AuthorizationDecisionQueryType;
-import org.keycloak.dom.saml.v1.protocol.SAML11RequestType;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11ResponseParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11ResponseParser.java
index a889d92..b75fb30 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11ResponseParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11ResponseParser.java
@@ -16,6 +16,11 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
+import org.keycloak.dom.saml.v1.protocol.SAML11ResponseType;
+import org.keycloak.dom.saml.v1.protocol.SAML11StatusCodeType;
+import org.keycloak.dom.saml.v1.protocol.SAML11StatusType;
+import org.keycloak.dom.saml.v2.protocol.StatusDetailType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -24,11 +29,6 @@ import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
-import org.keycloak.dom.saml.v1.protocol.SAML11ResponseType;
-import org.keycloak.dom.saml.v1.protocol.SAML11StatusCodeType;
-import org.keycloak.dom.saml.v1.protocol.SAML11StatusType;
-import org.keycloak.dom.saml.v2.protocol.StatusDetailType;
import org.w3c.dom.Element;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11SubjectParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11SubjectParser.java
index 8e33127..fbfd58e 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11SubjectParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAML11SubjectParser.java
@@ -16,6 +16,10 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v1.assertion.SAML11NameIdentifierType;
+import org.keycloak.dom.saml.v1.assertion.SAML11SubjectConfirmationType;
+import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType;
+import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType.SAML11SubjectTypeChoice;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -25,10 +29,6 @@ import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.parsers.util.SAML11ParserUtil;
import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
-import org.keycloak.dom.saml.v1.assertion.SAML11NameIdentifierType;
-import org.keycloak.dom.saml.v1.assertion.SAML11SubjectConfirmationType;
-import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType;
-import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType.SAML11SubjectTypeChoice;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResolveParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResolveParser.java
index 95674bf..ca0316b 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResolveParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResolveParser.java
@@ -16,13 +16,13 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.protocol.ArtifactResolveType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
-import org.keycloak.dom.saml.v2.protocol.ArtifactResolveType;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResponseParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResponseParser.java
index 84a80d1..5f98403 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResponseParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLArtifactResponseParser.java
@@ -16,17 +16,17 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.protocol.ArtifactResponseType;
+import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
+import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.protocol.ArtifactResponseType;
-import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
-import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAssertionParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAssertionParser.java
index 92334e1..5dfe8b7 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAssertionParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAssertionParser.java
@@ -16,6 +16,13 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.AssertionType;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
+import org.keycloak.dom.saml.v2.assertion.AuthnStatementType;
+import org.keycloak.dom.saml.v2.assertion.ConditionsType;
+import org.keycloak.dom.saml.v2.assertion.EncryptedAssertionType;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.assertion.SubjectType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
@@ -28,13 +35,6 @@ import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.common.util.StringUtil;
import org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.AssertionType;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
-import org.keycloak.dom.saml.v2.assertion.AuthnStatementType;
-import org.keycloak.dom.saml.v2.assertion.ConditionsType;
-import org.keycloak.dom.saml.v2.assertion.EncryptedAssertionType;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.assertion.SubjectType;
import org.w3c.dom.Element;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAttributeQueryParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAttributeQueryParser.java
index f69b55b..139e4e0 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAttributeQueryParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAttributeQueryParser.java
@@ -16,6 +16,7 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.protocol.AttributeQueryType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
@@ -23,7 +24,6 @@ import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil;
-import org.keycloak.dom.saml.v2.protocol.AttributeQueryType;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAuthNRequestParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAuthNRequestParser.java
index 6ef2410..5a15b2c 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAuthNRequestParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLAuthNRequestParser.java
@@ -16,17 +16,17 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.ConditionsType;
+import org.keycloak.dom.saml.v2.protocol.AuthnContextComparisonType;
+import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
+import org.keycloak.dom.saml.v2.protocol.NameIDPolicyType;
+import org.keycloak.dom.saml.v2.protocol.RequestedAuthnContextType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
-import org.keycloak.dom.saml.v2.assertion.ConditionsType;
-import org.keycloak.dom.saml.v2.protocol.AuthnContextComparisonType;
-import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
-import org.keycloak.dom.saml.v2.protocol.NameIDPolicyType;
-import org.keycloak.dom.saml.v2.protocol.RequestedAuthnContextType;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLConditionsParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLConditionsParser.java
index a3196f8..4e49483 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLConditionsParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLConditionsParser.java
@@ -16,6 +16,9 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.AudienceRestrictionType;
+import org.keycloak.dom.saml.v2.assertion.ConditionsType;
+import org.keycloak.dom.saml.v2.assertion.OneTimeUseType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
@@ -23,9 +26,6 @@ import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.AudienceRestrictionType;
-import org.keycloak.dom.saml.v2.assertion.ConditionsType;
-import org.keycloak.dom.saml.v2.assertion.OneTimeUseType;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLRequestAbstractParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLRequestAbstractParser.java
index 61f5739..457f332 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLRequestAbstractParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLRequestAbstractParser.java
@@ -16,15 +16,15 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.assertion.SubjectType;
+import org.keycloak.dom.saml.v2.protocol.RequestAbstractType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.assertion.SubjectType;
-import org.keycloak.dom.saml.v2.protocol.RequestAbstractType;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLResponseParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLResponseParser.java
index d9cdd48..a2691c2 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLResponseParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLResponseParser.java
@@ -16,17 +16,17 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.exceptions.ParsingException;
-import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
-import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
import org.keycloak.dom.saml.v2.assertion.EncryptedAssertionType;
import org.keycloak.dom.saml.v2.assertion.NameIDType;
import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.dom.saml.v2.protocol.ResponseType.RTChoiceType;
import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ParsingException;
+import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
+import org.keycloak.saml.common.util.StaxParserUtil;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloRequestParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloRequestParser.java
index 3a826a4..f604cf5 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloRequestParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloRequestParser.java
@@ -16,14 +16,14 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.protocol.LogoutRequestType;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.protocol.LogoutRequestType;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloResponseParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloResponseParser.java
index e950c62..167a3c5 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloResponseParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSloResponseParser.java
@@ -16,13 +16,13 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLStatusResponseTypeParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLStatusResponseTypeParser.java
index af66c90..ef03929 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLStatusResponseTypeParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLStatusResponseTypeParser.java
@@ -16,6 +16,10 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.protocol.StatusCodeType;
+import org.keycloak.dom.saml.v2.protocol.StatusDetailType;
+import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
+import org.keycloak.dom.saml.v2.protocol.StatusType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -23,10 +27,6 @@ import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.common.util.StringUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.protocol.StatusCodeType;
-import org.keycloak.dom.saml.v2.protocol.StatusDetailType;
-import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
-import org.keycloak.dom.saml.v2.protocol.StatusType;
import org.w3c.dom.Element;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSubjectParser.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSubjectParser.java
index b2e8c82..da801db 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSubjectParser.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/saml/SAMLSubjectParser.java
@@ -16,6 +16,12 @@
*/
package org.keycloak.saml.processing.core.parsers.saml;
+import org.keycloak.dom.saml.v2.assertion.EncryptedElementType;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationDataType;
+import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationType;
+import org.keycloak.dom.saml.v2.assertion.SubjectType;
+import org.keycloak.dom.xmlsec.w3.xmldsig.KeyInfoType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
@@ -27,12 +33,6 @@ import org.keycloak.saml.common.parsers.ParserNamespaceSupport;
import org.keycloak.saml.common.util.StaxParserUtil;
import org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.EncryptedElementType;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationDataType;
-import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationType;
-import org.keycloak.dom.saml.v2.assertion.SubjectType;
-import org.keycloak.dom.xmlsec.w3.xmldsig.KeyInfoType;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAML11ParserUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAML11ParserUtil.java
index c4f762e..1a5a204 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAML11ParserUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAML11ParserUtil.java
@@ -16,17 +16,6 @@
*/
package org.keycloak.saml.processing.core.parsers.util;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.constants.WSTrustConstants;
-import org.keycloak.saml.common.exceptions.ParsingException;
-import org.keycloak.saml.common.util.StaxParserUtil;
-import org.keycloak.saml.processing.core.parsers.saml.SAML11SubjectParser;
-import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
-import org.keycloak.saml.processing.core.saml.v2.util.SignatureUtil;
-import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.keycloak.dom.saml.v1.assertion.SAML11ActionType;
import org.keycloak.dom.saml.v1.assertion.SAML11AttributeStatementType;
import org.keycloak.dom.saml.v1.assertion.SAML11AttributeType;
@@ -50,6 +39,17 @@ import org.keycloak.dom.xmlsec.w3.xmldsig.KeyValueType;
import org.keycloak.dom.xmlsec.w3.xmldsig.RSAKeyValueType;
import org.keycloak.dom.xmlsec.w3.xmldsig.X509CertificateType;
import org.keycloak.dom.xmlsec.w3.xmldsig.X509DataType;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.constants.WSTrustConstants;
+import org.keycloak.saml.common.exceptions.ParsingException;
+import org.keycloak.saml.common.util.StaxParserUtil;
+import org.keycloak.saml.processing.core.parsers.saml.SAML11SubjectParser;
+import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
+import org.keycloak.saml.processing.core.saml.v2.util.SignatureUtil;
+import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAMLParserUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAMLParserUtil.java
index 5b35a2d..8b17822 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAMLParserUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/parsers/util/SAMLParserUtil.java
@@ -16,16 +16,6 @@
*/
package org.keycloak.saml.processing.core.parsers.util;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.constants.WSTrustConstants;
-import org.keycloak.saml.common.exceptions.ParsingException;
-import org.keycloak.saml.common.util.StaxParserUtil;
-import org.keycloak.saml.common.util.StringUtil;
-import org.keycloak.saml.processing.core.saml.v2.util.SignatureUtil;
-import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.dom.saml.v2.assertion.AttributeStatementType.ASTChoiceType;
import org.keycloak.dom.saml.v2.assertion.AttributeType;
@@ -42,13 +32,18 @@ import org.keycloak.dom.xmlsec.w3.xmldsig.KeyValueType;
import org.keycloak.dom.xmlsec.w3.xmldsig.RSAKeyValueType;
import org.keycloak.dom.xmlsec.w3.xmldsig.X509CertificateType;
import org.keycloak.dom.xmlsec.w3.xmldsig.X509DataType;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.constants.WSTrustConstants;
+import org.keycloak.saml.common.exceptions.ParsingException;
+import org.keycloak.saml.common.util.StaxParserUtil;
+import org.keycloak.saml.common.util.StringUtil;
+import org.keycloak.saml.processing.core.saml.v2.util.SignatureUtil;
+import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.w3c.dom.Element;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLEventReader;
@@ -56,6 +51,10 @@ import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.EndElement;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
/**
* Utility methods for SAML Parser
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11AssertionWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11AssertionWriter.java
index 1d564f9..c6105c4 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11AssertionWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11AssertionWriter.java
@@ -16,12 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v1.writers;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.saml.common.util.StringUtil;
-import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.keycloak.dom.saml.v1.assertion.SAML11ActionType;
import org.keycloak.dom.saml.v1.assertion.SAML11AdviceType;
import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
@@ -43,6 +37,12 @@ import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType;
import org.keycloak.dom.saml.v1.assertion.SAML11SubjectType.SAML11SubjectTypeChoice;
import org.keycloak.dom.saml.v2.assertion.StatementAbstractType;
import org.keycloak.dom.saml.v2.metadata.LocalizedNameType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
+import org.keycloak.saml.common.util.StringUtil;
+import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.w3c.dom.Element;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11RequestWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11RequestWriter.java
index c3018ae..4e8a1d1 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11RequestWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11RequestWriter.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v1.writers;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.keycloak.dom.saml.v1.assertion.SAML11ActionType;
import org.keycloak.dom.saml.v1.assertion.SAML11AttributeDesignatorType;
import org.keycloak.dom.saml.v1.assertion.SAML11AttributeType;
@@ -30,6 +26,10 @@ import org.keycloak.dom.saml.v1.protocol.SAML11AuthenticationQueryType;
import org.keycloak.dom.saml.v1.protocol.SAML11AuthorizationDecisionQueryType;
import org.keycloak.dom.saml.v1.protocol.SAML11QueryAbstractType;
import org.keycloak.dom.saml.v1.protocol.SAML11RequestType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
+import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import javax.xml.stream.XMLStreamWriter;
import java.net.URI;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11ResponseWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11ResponseWriter.java
index 4a1e957..66fbb53 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11ResponseWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v1/writers/SAML11ResponseWriter.java
@@ -16,16 +16,16 @@
*/
package org.keycloak.saml.processing.core.saml.v1.writers;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.saml.common.util.StringUtil;
-import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.keycloak.dom.saml.common.CommonStatusDetailType;
import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
import org.keycloak.dom.saml.v1.protocol.SAML11ResponseType;
import org.keycloak.dom.saml.v1.protocol.SAML11StatusCodeType;
import org.keycloak.dom.saml.v1.protocol.SAML11StatusType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
+import org.keycloak.saml.common.util.StringUtil;
+import org.keycloak.saml.processing.core.saml.v1.SAML11Constants;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/factories/JBossSAMLAuthnResponseFactory.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/factories/JBossSAMLAuthnResponseFactory.java
index 2fedf6d..15e8165 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/factories/JBossSAMLAuthnResponseFactory.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/factories/JBossSAMLAuthnResponseFactory.java
@@ -16,15 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v2.factories;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.exceptions.ConfigurationException;
-import org.keycloak.saml.processing.core.saml.v2.common.IDGenerator;
-import org.keycloak.saml.processing.core.saml.v2.holders.IDPInfoHolder;
-import org.keycloak.saml.processing.core.saml.v2.holders.IssuerInfoHolder;
-import org.keycloak.saml.processing.core.saml.v2.holders.SPInfoHolder;
-import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
import org.keycloak.dom.saml.v2.assertion.ConditionsType;
import org.keycloak.dom.saml.v2.assertion.EncryptedAssertionType;
@@ -37,6 +28,15 @@ import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.dom.saml.v2.protocol.ResponseType.RTChoiceType;
import org.keycloak.dom.saml.v2.protocol.StatusCodeType;
import org.keycloak.dom.saml.v2.protocol.StatusType;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ConfigurationException;
+import org.keycloak.saml.processing.core.saml.v2.common.IDGenerator;
+import org.keycloak.saml.processing.core.saml.v2.holders.IDPInfoHolder;
+import org.keycloak.saml.processing.core.saml.v2.holders.IssuerInfoHolder;
+import org.keycloak.saml.processing.core.saml.v2.holders.SPInfoHolder;
+import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.w3c.dom.Element;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IDPInfoHolder.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IDPInfoHolder.java
index 96dc34e..72631a2 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IDPInfoHolder.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IDPInfoHolder.java
@@ -16,8 +16,8 @@
*/
package org.keycloak.saml.processing.core.saml.v2.holders;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
/**
* Holds essential information about an IDP for creating saml messages.
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IssuerInfoHolder.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IssuerInfoHolder.java
index 94f090c..eba7500 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IssuerInfoHolder.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/holders/IssuerInfoHolder.java
@@ -16,11 +16,11 @@
*/
package org.keycloak.saml.processing.core.saml.v2.holders;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
/**
* Holds info about the issuer for saml messages creation
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/AssertionUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/AssertionUtil.java
index 4f4a521..67fb78f 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/AssertionUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/AssertionUtil.java
@@ -16,7 +16,21 @@
*/
package org.keycloak.saml.processing.core.saml.v2.util;
+import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
+import org.keycloak.dom.saml.v1.assertion.SAML11AttributeStatementType;
+import org.keycloak.dom.saml.v1.assertion.SAML11AttributeType;
+import org.keycloak.dom.saml.v1.assertion.SAML11ConditionsType;
+import org.keycloak.dom.saml.v1.assertion.SAML11StatementAbstractType;
+import org.keycloak.dom.saml.v2.assertion.AssertionType;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType.ASTChoiceType;
+import org.keycloak.dom.saml.v2.assertion.AttributeType;
+import org.keycloak.dom.saml.v2.assertion.ConditionsType;
import org.keycloak.dom.saml.v2.assertion.EncryptedAssertionType;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.assertion.StatementAbstractType;
+import org.keycloak.dom.saml.v2.assertion.SubjectType;
+import org.keycloak.dom.saml.v2.assertion.SubjectType.STSubType;
import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.common.ErrorCodes;
import org.keycloak.saml.common.PicketLinkLogger;
@@ -33,20 +47,6 @@ import org.keycloak.saml.processing.api.saml.v2.response.SAML2Response;
import org.keycloak.saml.processing.api.saml.v2.sig.SAML2Signature;
import org.keycloak.saml.processing.core.parsers.saml.SAMLParser;
import org.keycloak.saml.processing.core.saml.v2.writers.SAMLAssertionWriter;
-import org.keycloak.dom.saml.v1.assertion.SAML11AssertionType;
-import org.keycloak.dom.saml.v1.assertion.SAML11AttributeStatementType;
-import org.keycloak.dom.saml.v1.assertion.SAML11AttributeType;
-import org.keycloak.dom.saml.v1.assertion.SAML11ConditionsType;
-import org.keycloak.dom.saml.v1.assertion.SAML11StatementAbstractType;
-import org.keycloak.dom.saml.v2.assertion.AssertionType;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType.ASTChoiceType;
-import org.keycloak.dom.saml.v2.assertion.AttributeType;
-import org.keycloak.dom.saml.v2.assertion.ConditionsType;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.assertion.StatementAbstractType;
-import org.keycloak.dom.saml.v2.assertion.SubjectType;
-import org.keycloak.dom.saml.v2.assertion.SubjectType.STSubType;
import org.keycloak.saml.processing.core.util.JAXPValidationUtil;
import org.keycloak.saml.processing.core.util.XMLEncryptionUtil;
import org.w3c.dom.Document;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SAMLMetadataUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SAMLMetadataUtil.java
index 53e0808..99f6c57 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SAMLMetadataUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SAMLMetadataUtil.java
@@ -16,13 +16,13 @@
*/
package org.keycloak.saml.processing.core.saml.v2.util;
+import org.keycloak.dom.saml.v2.metadata.KeyDescriptorType;
+import org.keycloak.dom.saml.v2.metadata.KeyTypes;
+import org.keycloak.dom.saml.v2.metadata.SSODescriptorType;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ConfigurationException;
import org.keycloak.saml.common.exceptions.ProcessingException;
import org.keycloak.saml.processing.core.util.XMLSignatureUtil;
-import org.keycloak.dom.saml.v2.metadata.KeyDescriptorType;
-import org.keycloak.dom.saml.v2.metadata.KeyTypes;
-import org.keycloak.dom.saml.v2.metadata.SSODescriptorType;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SignatureUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SignatureUtil.java
index 396a467..352144d 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SignatureUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/SignatureUtil.java
@@ -16,6 +16,10 @@
*/
package org.keycloak.saml.processing.core.saml.v2.util;
+import org.keycloak.dom.xmlsec.w3.xmldsig.DSAKeyValueType;
+import org.keycloak.dom.xmlsec.w3.xmldsig.KeyValueType;
+import org.keycloak.dom.xmlsec.w3.xmldsig.RSAKeyValueType;
+import org.keycloak.dom.xmlsec.w3.xmldsig.SignatureType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -23,10 +27,6 @@ import org.keycloak.saml.common.constants.WSTrustConstants;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.util.Base64;
import org.keycloak.saml.processing.core.constants.PicketLinkFederationConstants;
-import org.keycloak.dom.xmlsec.w3.xmldsig.DSAKeyValueType;
-import org.keycloak.dom.xmlsec.w3.xmldsig.KeyValueType;
-import org.keycloak.dom.xmlsec.w3.xmldsig.RSAKeyValueType;
-import org.keycloak.dom.xmlsec.w3.xmldsig.SignatureType;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StatementUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StatementUtil.java
index beee6c1..b01b55b 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StatementUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StatementUtil.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v2.util;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.util.StringUtil;
-import org.keycloak.saml.processing.core.constants.AttributeConstants;
-import org.keycloak.saml.processing.core.saml.v2.constants.X500SAMLProfileConstants;
import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.dom.saml.v2.assertion.AttributeStatementType.ASTChoiceType;
import org.keycloak.dom.saml.v2.assertion.AttributeType;
@@ -27,6 +23,10 @@ import org.keycloak.dom.saml.v2.assertion.AuthnContextClassRefType;
import org.keycloak.dom.saml.v2.assertion.AuthnContextType;
import org.keycloak.dom.saml.v2.assertion.AuthnStatementType;
import org.keycloak.dom.saml.v2.assertion.StatementAbstractType;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.util.StringUtil;
+import org.keycloak.saml.processing.core.constants.AttributeConstants;
+import org.keycloak.saml.processing.core.saml.v2.constants.X500SAMLProfileConstants;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StaxWriterUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StaxWriterUtil.java
index d597f13..5c83183 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StaxWriterUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/StaxWriterUtil.java
@@ -18,18 +18,18 @@
package org.keycloak.saml.processing.core.saml.v2.util;
-import org.keycloak.saml.common.ErrorCodes;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
-import org.keycloak.saml.common.constants.WSTrustConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
import org.keycloak.dom.xmlsec.w3.xmldsig.DSAKeyValueType;
import org.keycloak.dom.xmlsec.w3.xmldsig.KeyInfoType;
import org.keycloak.dom.xmlsec.w3.xmldsig.KeyValueType;
import org.keycloak.dom.xmlsec.w3.xmldsig.RSAKeyValueType;
import org.keycloak.dom.xmlsec.w3.xmldsig.X509CertificateType;
import org.keycloak.dom.xmlsec.w3.xmldsig.X509DataType;
+import org.keycloak.saml.common.ErrorCodes;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
+import org.keycloak.saml.common.constants.WSTrustConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
import org.w3c.dom.Element;
import javax.xml.stream.XMLStreamWriter;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/BaseWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/BaseWriter.java
index 7df18bd..4c041d1 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/BaseWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/BaseWriter.java
@@ -16,14 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v2.writers;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.saml.common.util.StringUtil;
-import org.keycloak.saml.processing.core.saml.v2.util.StaxWriterUtil;
import org.keycloak.dom.saml.v2.assertion.AttributeType;
import org.keycloak.dom.saml.v2.assertion.BaseIDAbstractType;
import org.keycloak.dom.saml.v2.assertion.EncryptedElementType;
@@ -34,6 +26,14 @@ import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationType;
import org.keycloak.dom.saml.v2.assertion.SubjectType;
import org.keycloak.dom.saml.v2.metadata.LocalizedNameType;
import org.keycloak.dom.xmlsec.w3.xmldsig.KeyInfoType;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
+import org.keycloak.saml.common.util.StringUtil;
+import org.keycloak.saml.processing.core.saml.v2.util.StaxWriterUtil;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLAssertionWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLAssertionWriter.java
index 467d019..7ece1c7 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLAssertionWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLAssertionWriter.java
@@ -16,9 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v2.writers;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
import org.keycloak.dom.saml.v2.assertion.AdviceType;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
@@ -37,6 +34,9 @@ import org.keycloak.dom.saml.v2.assertion.NameIDType;
import org.keycloak.dom.saml.v2.assertion.StatementAbstractType;
import org.keycloak.dom.saml.v2.assertion.SubjectType;
import org.keycloak.dom.saml.v2.assertion.URIType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
import org.w3c.dom.Element;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLMetadataWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLMetadataWriter.java
index a67cf36..42fa794 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLMetadataWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLMetadataWriter.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v2.writers;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
import org.keycloak.dom.saml.v2.assertion.AttributeType;
import org.keycloak.dom.saml.v2.metadata.AdditionalMetadataLocationType;
import org.keycloak.dom.saml.v2.metadata.AffiliationDescriptorType;
@@ -44,6 +40,10 @@ import org.keycloak.dom.saml.v2.metadata.RequestedAttributeType;
import org.keycloak.dom.saml.v2.metadata.RoleDescriptorType;
import org.keycloak.dom.saml.v2.metadata.SPSSODescriptorType;
import org.keycloak.dom.saml.v2.metadata.SSODescriptorType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLRequestWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLRequestWriter.java
index 043a54a..9f99780 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLRequestWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLRequestWriter.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v2.writers;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.saml.common.util.StringUtil;
import org.keycloak.dom.saml.v2.assertion.AttributeType;
import org.keycloak.dom.saml.v2.assertion.NameIDType;
import org.keycloak.dom.saml.v2.assertion.SubjectType;
@@ -30,6 +26,10 @@ import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
import org.keycloak.dom.saml.v2.protocol.LogoutRequestType;
import org.keycloak.dom.saml.v2.protocol.NameIDPolicyType;
import org.keycloak.dom.saml.v2.protocol.RequestedAuthnContextType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
+import org.keycloak.saml.common.util.StringUtil;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLResponseWriter.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLResponseWriter.java
index b34701f..07fae2a 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLResponseWriter.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/writers/SAMLResponseWriter.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.saml.processing.core.saml.v2.writers;
-import org.keycloak.saml.common.constants.JBossSAMLConstants;
-import org.keycloak.saml.common.exceptions.ProcessingException;
-import org.keycloak.saml.common.util.StaxUtil;
-import org.keycloak.saml.common.util.StringUtil;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
import org.keycloak.dom.saml.v2.assertion.EncryptedAssertionType;
import org.keycloak.dom.saml.v2.assertion.NameIDType;
@@ -30,7 +26,11 @@ import org.keycloak.dom.saml.v2.protocol.StatusCodeType;
import org.keycloak.dom.saml.v2.protocol.StatusDetailType;
import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
import org.keycloak.dom.saml.v2.protocol.StatusType;
+import org.keycloak.saml.common.constants.JBossSAMLConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.common.exceptions.ProcessingException;
+import org.keycloak.saml.common.util.StaxUtil;
+import org.keycloak.saml.common.util.StringUtil;
import org.w3c.dom.Element;
import javax.xml.namespace.QName;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/CoreConfigUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/CoreConfigUtil.java
index 91acb6e..3678a60 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/CoreConfigUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/CoreConfigUtil.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.saml.processing.core.util;
-import org.keycloak.saml.common.PicketLinkLogger;
-import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.dom.saml.v2.metadata.EndpointType;
import org.keycloak.dom.saml.v2.metadata.EntitiesDescriptorType;
import org.keycloak.dom.saml.v2.metadata.EntityDescriptorType;
@@ -26,6 +24,9 @@ import org.keycloak.dom.saml.v2.metadata.EntityDescriptorType.EDTDescriptorChoic
import org.keycloak.dom.saml.v2.metadata.IDPSSODescriptorType;
import org.keycloak.dom.saml.v2.metadata.IndexedEndpointType;
import org.keycloak.dom.saml.v2.metadata.SPSSODescriptorType;
+import org.keycloak.saml.common.PicketLinkLogger;
+import org.keycloak.saml.common.PicketLinkLoggerFactory;
+
import java.util.List;
/**
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/KeyStoreUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/KeyStoreUtil.java
index 90653c8..6f8ec4b 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/KeyStoreUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/KeyStoreUtil.java
@@ -27,8 +27,6 @@ import java.io.InputStream;
import java.net.URL;
import java.security.GeneralSecurityException;
import java.security.Key;
-import java.security.KeyPair;
-import java.security.KeyPairGenerator;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.PublicKey;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java
index bd07882..98635b7 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java
@@ -16,6 +16,10 @@
*/
package org.keycloak.saml.processing.core.util;
+import org.keycloak.dom.xmlsec.w3.xmldsig.DSAKeyValueType;
+import org.keycloak.dom.xmlsec.w3.xmldsig.KeyValueType;
+import org.keycloak.dom.xmlsec.w3.xmldsig.RSAKeyValueType;
+import org.keycloak.dom.xmlsec.w3.xmldsig.SignatureType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLConstants;
@@ -27,10 +31,6 @@ import org.keycloak.saml.common.util.DocumentUtil;
import org.keycloak.saml.common.util.StringUtil;
import org.keycloak.saml.common.util.SystemPropertiesUtil;
import org.keycloak.saml.common.util.TransformerUtil;
-import org.keycloak.dom.xmlsec.w3.xmldsig.DSAKeyValueType;
-import org.keycloak.dom.xmlsec.w3.xmldsig.KeyValueType;
-import org.keycloak.dom.xmlsec.w3.xmldsig.RSAKeyValueType;
-import org.keycloak.dom.xmlsec.w3.xmldsig.SignatureType;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingSignatureUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingSignatureUtil.java
index c04cac8..c559f2b 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingSignatureUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingSignatureUtil.java
@@ -16,6 +16,8 @@
*/
package org.keycloak.saml.processing.web.util;
+import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.GeneralConstants;
@@ -26,8 +28,6 @@ import org.keycloak.saml.common.util.DocumentUtil;
import org.keycloak.saml.processing.api.saml.v2.request.SAML2Request;
import org.keycloak.saml.processing.api.saml.v2.response.SAML2Response;
import org.keycloak.saml.processing.core.saml.v2.util.SignatureUtil;
-import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingUtil.java
index 8536025..7b22767 100755
--- a/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingUtil.java
+++ b/saml-core/src/main/java/org/keycloak/saml/processing/web/util/RedirectBindingUtil.java
@@ -17,8 +17,8 @@
package org.keycloak.saml.processing.web.util;
import org.keycloak.saml.common.util.Base64;
-import org.keycloak.saml.processing.api.util.DeflateUtil;
import org.keycloak.saml.common.util.StringUtil;
+import org.keycloak.saml.processing.api.util.DeflateUtil;
import java.io.IOException;
import java.io.InputStream;
diff --git a/saml-core/src/main/java/org/keycloak/saml/SAML2AuthnRequestBuilder.java b/saml-core/src/main/java/org/keycloak/saml/SAML2AuthnRequestBuilder.java
index 94fbd8c..302237e 100755
--- a/saml-core/src/main/java/org/keycloak/saml/SAML2AuthnRequestBuilder.java
+++ b/saml-core/src/main/java/org/keycloak/saml/SAML2AuthnRequestBuilder.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.saml;
-import java.net.URI;
-
import org.keycloak.dom.saml.v2.assertion.NameIDType;
import org.keycloak.dom.saml.v2.protocol.AuthnRequestType;
import org.keycloak.saml.common.exceptions.ConfigurationException;
@@ -26,6 +24,8 @@ import org.keycloak.saml.processing.core.saml.v2.common.IDGenerator;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
import org.w3c.dom.Document;
+import java.net.URI;
+
/**
* @author pedroigor
*/
diff --git a/saml-core/src/main/java/org/keycloak/saml/SAML2LoginResponseBuilder.java b/saml-core/src/main/java/org/keycloak/saml/SAML2LoginResponseBuilder.java
index be8754c..2386edb 100755
--- a/saml-core/src/main/java/org/keycloak/saml/SAML2LoginResponseBuilder.java
+++ b/saml-core/src/main/java/org/keycloak/saml/SAML2LoginResponseBuilder.java
@@ -17,6 +17,12 @@
package org.keycloak.saml;
+import org.keycloak.dom.saml.v2.assertion.AssertionType;
+import org.keycloak.dom.saml.v2.assertion.AudienceRestrictionType;
+import org.keycloak.dom.saml.v2.assertion.AuthnStatementType;
+import org.keycloak.dom.saml.v2.assertion.ConditionsType;
+import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationDataType;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.common.PicketLinkLogger;
import org.keycloak.saml.common.PicketLinkLoggerFactory;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
@@ -30,13 +36,8 @@ import org.keycloak.saml.processing.core.saml.v2.holders.IssuerInfoHolder;
import org.keycloak.saml.processing.core.saml.v2.holders.SPInfoHolder;
import org.keycloak.saml.processing.core.saml.v2.util.StatementUtil;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.AssertionType;
-import org.keycloak.dom.saml.v2.assertion.AuthnStatementType;
-import org.keycloak.dom.saml.v2.assertion.ConditionsType;
-import org.keycloak.dom.saml.v2.assertion.SubjectConfirmationDataType;
-import org.keycloak.dom.saml.v2.assertion.AudienceRestrictionType;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.w3c.dom.Document;
+
import java.net.URI;
import static org.keycloak.saml.common.util.StringUtil.isNotNull;
diff --git a/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutRequestBuilder.java b/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutRequestBuilder.java
index 9155edf..99b1cf8 100755
--- a/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutRequestBuilder.java
+++ b/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutRequestBuilder.java
@@ -17,13 +17,13 @@
package org.keycloak.saml;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.protocol.LogoutRequestType;
import org.keycloak.saml.common.exceptions.ConfigurationException;
import org.keycloak.saml.common.exceptions.ParsingException;
import org.keycloak.saml.common.exceptions.ProcessingException;
import org.keycloak.saml.processing.api.saml.v2.request.SAML2Request;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.protocol.LogoutRequestType;
import org.w3c.dom.Document;
import java.net.URI;
diff --git a/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutResponseBuilder.java b/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutResponseBuilder.java
index 642ede3..c00a4d4 100755
--- a/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutResponseBuilder.java
+++ b/saml-core/src/main/java/org/keycloak/saml/SAML2LogoutResponseBuilder.java
@@ -17,6 +17,10 @@
package org.keycloak.saml;
+import org.keycloak.dom.saml.v2.assertion.NameIDType;
+import org.keycloak.dom.saml.v2.protocol.StatusCodeType;
+import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
+import org.keycloak.dom.saml.v2.protocol.StatusType;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ConfigurationException;
import org.keycloak.saml.common.exceptions.ParsingException;
@@ -24,10 +28,6 @@ import org.keycloak.saml.common.exceptions.ProcessingException;
import org.keycloak.saml.processing.api.saml.v2.response.SAML2Response;
import org.keycloak.saml.processing.core.saml.v2.common.IDGenerator;
import org.keycloak.saml.processing.core.saml.v2.util.XMLTimeUtil;
-import org.keycloak.dom.saml.v2.assertion.NameIDType;
-import org.keycloak.dom.saml.v2.protocol.StatusCodeType;
-import org.keycloak.dom.saml.v2.protocol.StatusResponseType;
-import org.keycloak.dom.saml.v2.protocol.StatusType;
import org.w3c.dom.Document;
import java.net.URI;
diff --git a/server-spi/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java b/server-spi/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java
index 1d9e7dc..8214e7d 100755
--- a/server-spi/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java
+++ b/server-spi/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java
@@ -17,9 +17,6 @@
package org.keycloak.authentication;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
import org.jboss.resteasy.spi.HttpRequest;
import org.keycloak.common.ClientConnection;
import org.keycloak.events.EventBuilder;
@@ -30,6 +27,9 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.FormMessage;
import org.keycloak.services.managers.BruteForceProtector;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java b/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java
index 7027d69..ee93ca7 100644
--- a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java
+++ b/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java
@@ -17,10 +17,10 @@
package org.keycloak.authentication;
-import java.util.Map;
-
import org.keycloak.models.ClientModel;
+import java.util.Map;
+
/**
* Encapsulates information about the execution in ClientAuthenticationFlow
*
diff --git a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java b/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java
index 8e3e658..8da52f0 100644
--- a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java
+++ b/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java
@@ -17,14 +17,14 @@
package org.keycloak.authentication;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.keycloak.models.ClientModel;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.provider.ProviderFactory;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Factory for creating ClientAuthenticator instances. This is a singleton and created when Keycloak boots.
*
diff --git a/server-spi/src/main/java/org/keycloak/authorization/attribute/Attributes.java b/server-spi/src/main/java/org/keycloak/authorization/attribute/Attributes.java
index a0a7b6c..c83d9f8 100644
--- a/server-spi/src/main/java/org/keycloak/authorization/attribute/Attributes.java
+++ b/server-spi/src/main/java/org/keycloak/authorization/attribute/Attributes.java
@@ -26,8 +26,6 @@ import java.util.Collection;
import java.util.Date;
import java.util.Map;
-import static java.util.Collections.emptyList;
-
/**
* <p>Holds attributes, their values and provides utlity methods to manage them.
*
diff --git a/server-spi/src/main/java/org/keycloak/authorization/identity/Identity.java b/server-spi/src/main/java/org/keycloak/authorization/identity/Identity.java
index f16e6c3..ad7057b 100644
--- a/server-spi/src/main/java/org/keycloak/authorization/identity/Identity.java
+++ b/server-spi/src/main/java/org/keycloak/authorization/identity/Identity.java
@@ -19,10 +19,6 @@ package org.keycloak.authorization.identity;
import org.keycloak.authorization.attribute.Attributes;
-import java.util.Collection;
-import java.util.Map;
-import java.util.function.Predicate;
-
/**
* <p>Represents a security identity, which can be a person or non-person entity that was previously authenticated.
*
diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java b/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java
index 724b655..207c89e 100644
--- a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java
+++ b/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java
@@ -38,7 +38,6 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
-import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java b/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java
index 1beedd9..f82bdb7 100644
--- a/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java
+++ b/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java
@@ -21,7 +21,6 @@ package org.keycloak.authorization.policy.provider;
import org.keycloak.authorization.AuthorizationProvider;
import org.keycloak.authorization.model.Policy;
import org.keycloak.authorization.model.ResourceServer;
-import org.keycloak.provider.ProviderEvent;
import org.keycloak.provider.ProviderFactory;
/**
diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java b/server-spi/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java
index dac1b33..6179cc7 100644
--- a/server-spi/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java
+++ b/server-spi/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java
@@ -18,11 +18,9 @@
package org.keycloak.authorization.store;
-import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.authorization.store.syncronization.ClientApplicationSynchronizer;
import org.keycloak.authorization.store.syncronization.RealmSynchronizer;
import org.keycloak.authorization.store.syncronization.Synchronizer;
-import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.RealmModel.ClientRemovedEvent;
import org.keycloak.models.RealmModel.RealmRemovedEvent;
diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java b/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java
index 67683ff..686eeef 100644
--- a/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java
+++ b/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java
@@ -20,7 +20,6 @@ package org.keycloak.authorization.store.syncronization;
import org.keycloak.authorization.AuthorizationProvider;
import org.keycloak.authorization.model.ResourceServer;
-import org.keycloak.authorization.store.AuthorizationStoreFactory;
import org.keycloak.authorization.store.ResourceServerStore;
import org.keycloak.authorization.store.StoreFactory;
import org.keycloak.models.KeycloakSessionFactory;
diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java b/server-spi/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java
index b013e8e..8aa8dab 100644
--- a/server-spi/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java
+++ b/server-spi/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java
@@ -17,12 +17,12 @@
package org.keycloak.broker.provider;
-import java.io.IOException;
-import java.util.List;
-
import org.keycloak.common.util.Base64Url;
import org.keycloak.util.JsonSerialization;
+import java.io.IOException;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/cluster/ClusterProvider.java b/server-spi/src/main/java/org/keycloak/cluster/ClusterProvider.java
index 498782b..6c22056 100644
--- a/server-spi/src/main/java/org/keycloak/cluster/ClusterProvider.java
+++ b/server-spi/src/main/java/org/keycloak/cluster/ClusterProvider.java
@@ -18,10 +18,10 @@
package org.keycloak.cluster;
-import java.util.concurrent.Callable;
-
import org.keycloak.provider.Provider;
+import java.util.concurrent.Callable;
+
/**
* Various utils related to clustering and concurrent tasks on cluster nodes
*
diff --git a/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java b/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java
index b107d5a..284d29d 100644
--- a/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java
+++ b/server-spi/src/main/java/org/keycloak/component/ComponentFactory.java
@@ -19,12 +19,7 @@ package org.keycloak.component;
import org.keycloak.models.KeycloakSession;
import org.keycloak.provider.ConfiguredProvider;
import org.keycloak.provider.Provider;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.provider.ProviderFactory;
-import org.keycloak.storage.UserStorageProviderModel;
-
-import java.util.Collections;
-import java.util.List;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/component/ComponentModel.java b/server-spi/src/main/java/org/keycloak/component/ComponentModel.java
index 338bc4b..c80df69 100755
--- a/server-spi/src/main/java/org/keycloak/component/ComponentModel.java
+++ b/server-spi/src/main/java/org/keycloak/component/ComponentModel.java
@@ -20,10 +20,6 @@ package org.keycloak.component;
import org.keycloak.common.util.MultivaluedHashMap;
import java.io.Serializable;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
/**
* Stored configuration of a User Storage provider instance.
diff --git a/server-spi/src/main/java/org/keycloak/component/ConfiguredComponent.java b/server-spi/src/main/java/org/keycloak/component/ConfiguredComponent.java
index 835cd39..814e368 100644
--- a/server-spi/src/main/java/org/keycloak/component/ConfiguredComponent.java
+++ b/server-spi/src/main/java/org/keycloak/component/ConfiguredComponent.java
@@ -16,7 +16,6 @@
*/
package org.keycloak.component;
-import org.keycloak.models.KeycloakSession;
import org.keycloak.provider.ConfiguredProvider;
/**
diff --git a/server-spi/src/main/java/org/keycloak/component/PrioritizedComponentModel.java b/server-spi/src/main/java/org/keycloak/component/PrioritizedComponentModel.java
index 7a0393a..51da6c1 100644
--- a/server-spi/src/main/java/org/keycloak/component/PrioritizedComponentModel.java
+++ b/server-spi/src/main/java/org/keycloak/component/PrioritizedComponentModel.java
@@ -16,9 +16,6 @@
*/
package org.keycloak.component;
-import org.keycloak.component.ComponentModel;
-import org.keycloak.storage.UserStorageProviderModel;
-
import java.util.Comparator;
/**
diff --git a/server-spi/src/main/java/org/keycloak/credential/CredentialInputUpdater.java b/server-spi/src/main/java/org/keycloak/credential/CredentialInputUpdater.java
index 3456f8f..f4e3165 100644
--- a/server-spi/src/main/java/org/keycloak/credential/CredentialInputUpdater.java
+++ b/server-spi/src/main/java/org/keycloak/credential/CredentialInputUpdater.java
@@ -19,8 +19,6 @@ package org.keycloak.credential;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
-import java.util.Set;
-
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/server-spi/src/main/java/org/keycloak/credential/CredentialInputValidator.java b/server-spi/src/main/java/org/keycloak/credential/CredentialInputValidator.java
index a7a4c6d..95e1d1e 100644
--- a/server-spi/src/main/java/org/keycloak/credential/CredentialInputValidator.java
+++ b/server-spi/src/main/java/org/keycloak/credential/CredentialInputValidator.java
@@ -18,10 +18,6 @@ package org.keycloak.credential;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
-import org.keycloak.provider.Provider;
-
-import java.util.List;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/credential/CredentialModel.java b/server-spi/src/main/java/org/keycloak/credential/CredentialModel.java
index 24b7772..d3600ba 100755
--- a/server-spi/src/main/java/org/keycloak/credential/CredentialModel.java
+++ b/server-spi/src/main/java/org/keycloak/credential/CredentialModel.java
@@ -20,8 +20,6 @@ package org.keycloak.credential;
import org.keycloak.common.util.MultivaluedHashMap;
import java.io.Serializable;
-import java.util.List;
-import java.util.Map;
/**
* Used just in cases when we want to "directly" update or retrieve the hash or salt of user credential (For example during export/import)
diff --git a/server-spi/src/main/java/org/keycloak/credential/CredentialProviderFactory.java b/server-spi/src/main/java/org/keycloak/credential/CredentialProviderFactory.java
index 9ad2bc8..f853e6e 100755
--- a/server-spi/src/main/java/org/keycloak/credential/CredentialProviderFactory.java
+++ b/server-spi/src/main/java/org/keycloak/credential/CredentialProviderFactory.java
@@ -18,18 +18,8 @@
package org.keycloak.credential;
import org.keycloak.Config;
-import org.keycloak.component.ComponentFactory;
-import org.keycloak.component.ComponentModel;
-import org.keycloak.component.ComponentValidationException;
-import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.provider.ProviderFactory;
-import org.keycloak.storage.UserStorageProvider;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/credential/CredentialSpi.java b/server-spi/src/main/java/org/keycloak/credential/CredentialSpi.java
index 34bd43f..c627750 100644
--- a/server-spi/src/main/java/org/keycloak/credential/CredentialSpi.java
+++ b/server-spi/src/main/java/org/keycloak/credential/CredentialSpi.java
@@ -17,8 +17,6 @@
package org.keycloak.credential;
-import org.keycloak.credential.hash.PasswordHashProvider;
-import org.keycloak.credential.hash.PasswordHashProviderFactory;
import org.keycloak.provider.Provider;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.provider.Spi;
diff --git a/server-spi/src/main/java/org/keycloak/credential/hash/PasswordHashProvider.java b/server-spi/src/main/java/org/keycloak/credential/hash/PasswordHashProvider.java
index 74fe7cd..0a4013e 100644
--- a/server-spi/src/main/java/org/keycloak/credential/hash/PasswordHashProvider.java
+++ b/server-spi/src/main/java/org/keycloak/credential/hash/PasswordHashProvider.java
@@ -19,7 +19,6 @@ package org.keycloak.credential.hash;
import org.keycloak.credential.CredentialModel;
import org.keycloak.models.PasswordPolicy;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.provider.Provider;
/**
diff --git a/server-spi/src/main/java/org/keycloak/events/EventBuilder.java b/server-spi/src/main/java/org/keycloak/events/EventBuilder.java
index c55feb5..837d351 100755
--- a/server-spi/src/main/java/org/keycloak/events/EventBuilder.java
+++ b/server-spi/src/main/java/org/keycloak/events/EventBuilder.java
@@ -19,12 +19,12 @@ package org.keycloak.events;
import org.jboss.logging.Logger;
import org.keycloak.common.ClientConnection;
+import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.common.util.Time;
import java.util.HashMap;
import java.util.LinkedList;
diff --git a/server-spi/src/main/java/org/keycloak/forms/account/AccountProvider.java b/server-spi/src/main/java/org/keycloak/forms/account/AccountProvider.java
index f82164f..7c20cf7 100755
--- a/server-spi/src/main/java/org/keycloak/forms/account/AccountProvider.java
+++ b/server-spi/src/main/java/org/keycloak/forms/account/AccountProvider.java
@@ -17,13 +17,6 @@
package org.keycloak.forms.account;
-import java.util.List;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
import org.keycloak.events.Event;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
@@ -31,6 +24,12 @@ import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.FormMessage;
import org.keycloak.provider.Provider;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import java.util.List;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java b/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java
index 88b309e..f16f0c2 100755
--- a/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java
+++ b/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java
@@ -17,12 +17,6 @@
package org.keycloak.forms.login;
-import java.net.URI;
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RoleModel;
@@ -30,6 +24,11 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.FormMessage;
import org.keycloak.provider.Provider;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+import java.net.URI;
+import java.util.List;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapper.java b/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapper.java
index 98fa98d..9e4be6f 100644
--- a/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapper.java
+++ b/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapper.java
@@ -17,8 +17,6 @@
package org.keycloak.mappers;
-import java.util.List;
-
import org.keycloak.models.GroupModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -28,6 +26,8 @@ import org.keycloak.models.UserFederationSyncResult;
import org.keycloak.models.UserModel;
import org.keycloak.provider.Provider;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java b/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java
index 0efcf2e..023d181 100644
--- a/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java
+++ b/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java
@@ -17,8 +17,6 @@
package org.keycloak.mappers;
-import java.util.Map;
-
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderModel;
@@ -26,6 +24,8 @@ import org.keycloak.provider.ConfiguredProvider;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.representations.idm.UserFederationMapperSyncConfigRepresentation;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java
index d363a10..5cd0037 100755
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java
@@ -26,7 +26,6 @@ import org.keycloak.models.RoleModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import java.util.List;
-import java.util.Map;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java
index ee33714..2b03f6e 100755
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java
@@ -27,12 +27,11 @@ import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderFactory;
import org.keycloak.models.UserFederationProviderModel;
+import javax.naming.directory.SearchControls;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import javax.naming.directory.SearchControls;
-
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java
index c3d9222..aab2d52 100644
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java
@@ -16,14 +16,20 @@
*/
package org.keycloak.migration.migrators;
-import java.util.List;
-
import org.keycloak.Config;
import org.keycloak.migration.MigrationProvider;
import org.keycloak.migration.ModelVersion;
-import org.keycloak.models.*;
+import org.keycloak.models.AdminRoles;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.Constants;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RoleModel;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java
index 3d4a5d5..55e0958 100644
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java
@@ -17,8 +17,6 @@
package org.keycloak.migration.migrators;
-import java.util.List;
-
import org.keycloak.migration.MigrationProvider;
import org.keycloak.migration.ModelVersion;
import org.keycloak.models.AuthenticationFlowModel;
@@ -28,6 +26,8 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.DefaultAuthenticationFlows;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java
index 549cde9..79fb02c 100644
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java
@@ -17,8 +17,6 @@
package org.keycloak.migration.migrators;
-import java.util.List;
-import java.util.Map;
import org.keycloak.migration.ModelVersion;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.LDAPConstants;
@@ -27,6 +25,9 @@ import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java
index e91f126..241cac7 100644
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java
@@ -19,16 +19,8 @@ package org.keycloak.migration.migrators;
import org.keycloak.Config;
import org.keycloak.migration.ModelVersion;
-import org.keycloak.models.Constants;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.LDAPConstants;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserFederationMapperModel;
-import org.keycloak.models.UserFederationProviderModel;
-import org.keycloak.models.utils.KeycloakModelUtils;
-
-import java.util.List;
-import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java
index 1dbcba4..411bf24 100644
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java
@@ -19,16 +19,11 @@ package org.keycloak.migration.migrators;
import org.jboss.logging.Logger;
import org.keycloak.migration.ModelVersion;
-import org.keycloak.models.AuthenticationExecutionModel;
-import org.keycloak.models.AuthenticatorConfigModel;
import org.keycloak.models.IdentityProviderModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.DefaultAuthenticationFlows;
-import java.util.HashMap;
-import java.util.Map;
-
public class MigrateTo2_2_0 implements Migration {
public static final ModelVersion VERSION = new ModelVersion("2.2.0");
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java
index 2afbbcc..e9d0cb9 100644
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java
@@ -18,7 +18,13 @@
package org.keycloak.migration.migrators;
import org.keycloak.Config;
-import org.keycloak.models.*;
+import org.keycloak.models.AdminRoles;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.Constants;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RequiredActionProviderModel;
+import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserModel;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/server-spi/src/main/java/org/keycloak/models/AuthenticationExecutionModel.java b/server-spi/src/main/java/org/keycloak/models/AuthenticationExecutionModel.java
index 304b5f3..666d5dc 100755
--- a/server-spi/src/main/java/org/keycloak/models/AuthenticationExecutionModel.java
+++ b/server-spi/src/main/java/org/keycloak/models/AuthenticationExecutionModel.java
@@ -17,8 +17,8 @@
package org.keycloak.models;
-import java.util.Comparator;
import java.io.Serializable;
+import java.util.Comparator;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/models/ClientModel.java b/server-spi/src/main/java/org/keycloak/models/ClientModel.java
index 6d96eb0..072cda3 100755
--- a/server-spi/src/main/java/org/keycloak/models/ClientModel.java
+++ b/server-spi/src/main/java/org/keycloak/models/ClientModel.java
@@ -17,7 +17,6 @@
package org.keycloak.models;
-import java.util.List;
import java.util.Map;
import java.util.Set;
diff --git a/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java b/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java
index 2a1ad0f..c880250 100755
--- a/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java
+++ b/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java
@@ -21,7 +21,6 @@ import org.keycloak.models.cache.UserCache;
import org.keycloak.provider.Provider;
import org.keycloak.scripting.ScriptingProvider;
import org.keycloak.storage.federated.UserFederatedStorageProvider;
-import org.keycloak.storage.federated.UserFederatedStorageProviderFactory;
import java.util.Set;
diff --git a/server-spi/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java b/server-spi/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java
index a67f10c..f5e58d3 100644
--- a/server-spi/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java
+++ b/server-spi/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java
@@ -17,9 +17,6 @@
package org.keycloak.models.session;
-import java.util.Collections;
-import java.util.List;
-
import org.keycloak.Config;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
@@ -29,6 +26,9 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
+import java.util.Collections;
+import java.util.List;
+
/**
* Persistence of userSessions is disabled . Useful just if you never need survive of userSessions/clientSessions
* among server restart. Offline sessions / offline tokens will be invalid after server restart as well,
diff --git a/server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java b/server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java
index e55d282..f842787 100644
--- a/server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java
+++ b/server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java
@@ -17,13 +17,6 @@
package org.keycloak.models.session;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
import com.fasterxml.jackson.annotation.JsonProperty;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
@@ -33,6 +26,13 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.util.JsonSerialization;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java b/server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java
index dad4867..6047be2 100644
--- a/server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java
+++ b/server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java
@@ -17,11 +17,6 @@
package org.keycloak.models.session;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import com.fasterxml.jackson.annotation.JsonProperty;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.ModelException;
@@ -30,6 +25,11 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.util.JsonSerialization;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterProvider.java b/server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterProvider.java
index 4a27d0c..c0d033a 100644
--- a/server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterProvider.java
+++ b/server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterProvider.java
@@ -17,8 +17,6 @@
package org.keycloak.models.session;
-import java.util.List;
-
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.RealmModel;
@@ -26,6 +24,8 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.provider.Provider;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/server-spi/src/main/java/org/keycloak/models/UserCredentialManager.java b/server-spi/src/main/java/org/keycloak/models/UserCredentialManager.java
index 0dd1aae..8dad996 100644
--- a/server-spi/src/main/java/org/keycloak/models/UserCredentialManager.java
+++ b/server-spi/src/main/java/org/keycloak/models/UserCredentialManager.java
@@ -20,7 +20,6 @@ import org.keycloak.credential.CredentialInput;
import org.keycloak.credential.UserCredentialStore;
import java.util.List;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java b/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java
index 42f112d..771a03a 100755
--- a/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java
+++ b/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java
@@ -19,14 +19,10 @@ package org.keycloak.models;
import org.jboss.logging.Logger;
import org.keycloak.component.ComponentModel;
-import org.keycloak.credential.CredentialInput;
import org.keycloak.models.utils.KeycloakModelUtils;
-import org.keycloak.policy.PasswordPolicyManagerProvider;
-import org.keycloak.policy.PolicyError;
import org.keycloak.services.managers.UserManager;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashSet;
@@ -524,6 +520,7 @@ public class UserFederationManager implements UserProvider {
@Override
public void preRemove(RealmModel realm, ComponentModel component) {
+ session.userStorage().preRemove(realm, component);
}
diff --git a/server-spi/src/main/java/org/keycloak/models/utils/CredentialValidation.java b/server-spi/src/main/java/org/keycloak/models/utils/CredentialValidation.java
index 4bbb2ab..e2e31e6 100755
--- a/server-spi/src/main/java/org/keycloak/models/utils/CredentialValidation.java
+++ b/server-spi/src/main/java/org/keycloak/models/utils/CredentialValidation.java
@@ -18,20 +18,15 @@
package org.keycloak.models.utils;
import org.keycloak.common.util.Time;
-import org.keycloak.hash.PasswordHashManager;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.jose.jws.crypto.RSAProvider;
-import org.keycloak.models.KeycloakSession;
import org.keycloak.models.OTPPolicy;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.representations.PasswordToken;
-import java.util.List;
-
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/server-spi/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java b/server-spi/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java
index a738d05..b028814 100755
--- a/server-spi/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java
+++ b/server-spi/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java
@@ -17,11 +17,6 @@
package org.keycloak.models.utils;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.AuthenticationFlowModel;
import org.keycloak.models.AuthenticatorConfigModel;
@@ -29,6 +24,11 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.RequiredCredentialModel;
import org.keycloak.representations.idm.IdentityProviderRepresentation;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/server-spi/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java b/server-spi/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java
index 4c1a4bb..c291c42 100755
--- a/server-spi/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java
+++ b/server-spi/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java
@@ -21,6 +21,8 @@ import org.bouncycastle.openssl.PEMWriter;
import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.broker.social.SocialIdentityProviderFactory;
import org.keycloak.common.util.Base64Url;
+import org.keycloak.common.util.CertificateUtils;
+import org.keycloak.common.util.PemUtils;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.AuthenticationFlowModel;
import org.keycloak.models.ClientModel;
@@ -44,8 +46,6 @@ import org.keycloak.models.UserFederationProviderFactory;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.representations.idm.CertificateRepresentation;
-import org.keycloak.common.util.CertificateUtils;
-import org.keycloak.common.util.PemUtils;
import org.keycloak.transaction.JtaTransactionManagerLookup;
import javax.crypto.spec.SecretKeySpec;
diff --git a/server-spi/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java b/server-spi/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
index e5e888d..193bbc2 100755
--- a/server-spi/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
+++ b/server-spi/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java
@@ -25,6 +25,7 @@ import org.keycloak.authorization.model.Scope;
import org.keycloak.authorization.store.PolicyStore;
import org.keycloak.authorization.store.ResourceStore;
import org.keycloak.authorization.store.StoreFactory;
+import org.keycloak.common.util.Time;
import org.keycloak.component.ComponentModel;
import org.keycloak.credential.CredentialModel;
import org.keycloak.events.Event;
@@ -54,7 +55,6 @@ import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
-
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.idm.AdminEventRepresentation;
import org.keycloak.representations.idm.AuthDetailsRepresentation;
@@ -81,7 +81,6 @@ import org.keycloak.representations.idm.UserFederationMapperRepresentation;
import org.keycloak.representations.idm.UserFederationProviderRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.idm.UserSessionRepresentation;
-import org.keycloak.common.util.Time;
import org.keycloak.representations.idm.authorization.PolicyRepresentation;
import org.keycloak.representations.idm.authorization.ResourceOwnerRepresentation;
import org.keycloak.representations.idm.authorization.ResourceRepresentation;
diff --git a/server-spi/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/server-spi/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
index 4cfdfd0..54acd0e 100755
--- a/server-spi/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
+++ b/server-spi/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
@@ -17,6 +17,7 @@
package org.keycloak.models.utils;
+import org.jboss.logging.Logger;
import org.keycloak.authorization.AuthorizationProvider;
import org.keycloak.authorization.AuthorizationProviderFactory;
import org.keycloak.authorization.model.Policy;
@@ -28,23 +29,23 @@ import org.keycloak.authorization.store.ResourceServerStore;
import org.keycloak.authorization.store.ResourceStore;
import org.keycloak.authorization.store.ScopeStore;
import org.keycloak.authorization.store.StoreFactory;
+import org.keycloak.common.enums.SslRequired;
+import org.keycloak.common.util.Base64;
import org.keycloak.common.util.MultivaluedHashMap;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.component.ComponentModel;
import org.keycloak.credential.CredentialModel;
import org.keycloak.hash.Pbkdf2PasswordHashProvider;
-import org.keycloak.migration.migrators.MigrationUtils;
-import org.keycloak.models.ClientTemplateModel;
-import org.keycloak.models.Constants;
-import org.keycloak.common.util.Base64;
-import org.jboss.logging.Logger;
-import org.keycloak.common.enums.SslRequired;
import org.keycloak.migration.MigrationProvider;
+import org.keycloak.migration.migrators.MigrationUtils;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.AuthenticationFlowModel;
import org.keycloak.models.AuthenticatorConfigModel;
import org.keycloak.models.BrowserSecurityHeaders;
import org.keycloak.models.ClaimMask;
import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientTemplateModel;
+import org.keycloak.models.Constants;
import org.keycloak.models.FederatedIdentityModel;
import org.keycloak.models.GroupModel;
import org.keycloak.models.IdentityProviderMapperModel;
@@ -60,11 +61,9 @@ import org.keycloak.models.RoleModel;
import org.keycloak.models.ScopeContainerModel;
import org.keycloak.models.UserConsentModel;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
-import org.keycloak.common.util.UriUtils;
import org.keycloak.representations.idm.ApplicationRepresentation;
import org.keycloak.representations.idm.AuthenticationExecutionExportRepresentation;
import org.keycloak.representations.idm.AuthenticationExecutionRepresentation;
diff --git a/server-spi/src/main/java/org/keycloak/models/utils/UserModelDelegate.java b/server-spi/src/main/java/org/keycloak/models/utils/UserModelDelegate.java
index 9efdfad..a08e18a 100755
--- a/server-spi/src/main/java/org/keycloak/models/utils/UserModelDelegate.java
+++ b/server-spi/src/main/java/org/keycloak/models/utils/UserModelDelegate.java
@@ -19,10 +19,7 @@ package org.keycloak.models.utils;
import org.keycloak.models.ClientModel;
import org.keycloak.models.GroupModel;
-import org.keycloak.models.UserConsentModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import java.util.List;
diff --git a/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java b/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java
index b65aff2..154ea56 100644
--- a/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java
+++ b/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java
@@ -20,17 +20,11 @@ package org.keycloak.policy;
import org.jboss.logging.Logger;
import org.keycloak.credential.CredentialModel;
import org.keycloak.credential.hash.PasswordHashProvider;
-import org.keycloak.hash.PasswordHashManager;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
/**
diff --git a/server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java b/server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java
index 567d7a0..0d3e24c 100755
--- a/server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java
+++ b/server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java
@@ -17,8 +17,6 @@
package org.keycloak.services.managers;
-import org.keycloak.models.UserFederationProvider;
-import org.keycloak.models.UserFederationProviderFactory;
import org.keycloak.provider.Provider;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.provider.Spi;
diff --git a/server-spi/src/main/java/org/keycloak/services/managers/ClientSessionCode.java b/server-spi/src/main/java/org/keycloak/services/managers/ClientSessionCode.java
index 8c096ed..5cf883d 100755
--- a/server-spi/src/main/java/org/keycloak/services/managers/ClientSessionCode.java
+++ b/server-spi/src/main/java/org/keycloak/services/managers/ClientSessionCode.java
@@ -17,6 +17,8 @@
package org.keycloak.services.managers;
+import org.keycloak.common.util.Base64Url;
+import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.ClientTemplateModel;
@@ -24,14 +26,11 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.common.util.Base64Url;
-import org.keycloak.common.util.Time;
import javax.crypto.Mac;
import java.security.Key;
import java.util.HashSet;
import java.util.Set;
-import java.util.UUID;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java
index 157f9dd..49d2288 100644
--- a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java
+++ b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java
@@ -24,8 +24,6 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.DefaultRoles;
import org.keycloak.models.utils.KeycloakModelUtils;
diff --git a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java
index 705a872..68e0689 100644
--- a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java
+++ b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java
@@ -23,8 +23,6 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.DefaultRoles;
import org.keycloak.models.utils.KeycloakModelUtils;
diff --git a/server-spi/src/main/java/org/keycloak/storage/federated/UserAttributeFederatedStorage.java b/server-spi/src/main/java/org/keycloak/storage/federated/UserAttributeFederatedStorage.java
index 08755da..6c04521 100644
--- a/server-spi/src/main/java/org/keycloak/storage/federated/UserAttributeFederatedStorage.java
+++ b/server-spi/src/main/java/org/keycloak/storage/federated/UserAttributeFederatedStorage.java
@@ -21,8 +21,6 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/server-spi/src/main/java/org/keycloak/storage/federated/UserFederatedStorageProvider.java b/server-spi/src/main/java/org/keycloak/storage/federated/UserFederatedStorageProvider.java
index 4a45301..b8d4e35 100755
--- a/server-spi/src/main/java/org/keycloak/storage/federated/UserFederatedStorageProvider.java
+++ b/server-spi/src/main/java/org/keycloak/storage/federated/UserFederatedStorageProvider.java
@@ -28,7 +28,6 @@ import org.keycloak.models.UserModel;
import org.keycloak.provider.Provider;
import java.util.List;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
@@ -38,7 +37,6 @@ public interface UserFederatedStorageProvider extends Provider,
UserAttributeFederatedStorage,
UserBrokerLinkFederatedStorage,
UserConsentFederatedStorage,
- UserCredentialsFederatedStorage,
UserGroupMembershipFederatedStorage,
UserRequiredActionsFederatedStorage,
UserRoleMappingsFederatedStorage {
diff --git a/server-spi/src/main/java/org/keycloak/storage/StorageId.java b/server-spi/src/main/java/org/keycloak/storage/StorageId.java
index ab44e47..e7ada01 100644
--- a/server-spi/src/main/java/org/keycloak/storage/StorageId.java
+++ b/server-spi/src/main/java/org/keycloak/storage/StorageId.java
@@ -63,6 +63,9 @@ public class StorageId implements Serializable {
public static String externalId(String keycloakId) {
return new StorageId(keycloakId).getExternalId();
}
+ public static String providerId(String keycloakId) {
+ return new StorageId(keycloakId).getProviderId();
+ }
diff --git a/services/src/main/java/org/keycloak/authentication/AuthenticationProcessor.java b/services/src/main/java/org/keycloak/authentication/AuthenticationProcessor.java
index cd921bb..691acf8 100755
--- a/services/src/main/java/org/keycloak/authentication/AuthenticationProcessor.java
+++ b/services/src/main/java/org/keycloak/authentication/AuthenticationProcessor.java
@@ -17,12 +17,12 @@
package org.keycloak.authentication;
-import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.spi.HttpRequest;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
import org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator;
import org.keycloak.authentication.authenticators.client.ClientAuthUtil;
+import org.keycloak.common.ClientConnection;
+import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventBuilder;
@@ -48,7 +48,6 @@ import org.keycloak.services.managers.BruteForceProtector;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.messages.Messages;
import org.keycloak.services.resources.LoginActionsService;
-import org.keycloak.common.util.Time;
import org.keycloak.services.util.CacheControlUtil;
import javax.ws.rs.core.Response;
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/AbstractIdpAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/AbstractIdpAuthenticator.java
index 1aa0fd9..87108da 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/AbstractIdpAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/AbstractIdpAuthenticator.java
@@ -17,8 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import javax.ws.rs.core.Response;
-
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowException;
@@ -33,6 +31,8 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.services.messages.Messages;
+import javax.ws.rs.core.Response;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticator.java
index ca88dbc..407f8cc 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticator.java
@@ -17,9 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowException;
@@ -34,6 +31,9 @@ import org.keycloak.models.UserModel;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.messages.Messages;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticatorFactory.java
index e2252ef..ca94180 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticatorFactory.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpConfirmLinkAuthenticatorFactory.java
@@ -17,8 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import java.util.List;
-
import org.keycloak.Config;
import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
@@ -27,6 +25,8 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticator.java
index 6971ab5..c39d975 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticator.java
@@ -17,11 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.core.Response;
-
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.authenticators.broker.util.ExistingUserInfo;
import org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext;
@@ -35,6 +30,10 @@ import org.keycloak.models.UserModel;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.messages.Messages;
+import javax.ws.rs.core.Response;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticatorFactory.java
index 230fe6f..c4e968d 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticatorFactory.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpCreateUserIfUniqueAuthenticatorFactory.java
@@ -17,9 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import java.util.ArrayList;
-import java.util.List;
-
import org.keycloak.Config;
import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
@@ -28,6 +25,9 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticator.java
index e56e7e6..936ac7b 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticator.java
@@ -17,16 +17,10 @@
package org.keycloak.authentication.authenticators.broker;
-import java.util.concurrent.TimeUnit;
-
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
-import org.keycloak.authentication.requiredactions.VerifyEmail;
import org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext;
+import org.keycloak.authentication.requiredactions.VerifyEmail;
import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.email.EmailException;
import org.keycloak.email.EmailTemplateProvider;
@@ -44,6 +38,11 @@ import org.keycloak.services.ServicesLogger;
import org.keycloak.services.messages.Messages;
import org.keycloak.services.resources.LoginActionsService;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+import java.util.concurrent.TimeUnit;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticatorFactory.java
index 9901310..ef14089 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticatorFactory.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpEmailVerificationAuthenticatorFactory.java
@@ -17,8 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import java.util.List;
-
import org.keycloak.Config;
import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
@@ -27,6 +25,8 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticator.java
index b9a2816..003983d 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticator.java
@@ -17,11 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext;
import org.keycloak.broker.provider.BrokeredIdentityContext;
@@ -41,6 +36,10 @@ import org.keycloak.services.ServicesLogger;
import org.keycloak.services.resources.AttributeFormDataProcessor;
import org.keycloak.services.validation.Validation;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticatorFactory.java
index b0aced8..4937db3 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticatorFactory.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpReviewProfileAuthenticatorFactory.java
@@ -17,10 +17,6 @@
package org.keycloak.authentication.authenticators.broker;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
import org.keycloak.Config;
import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
@@ -30,6 +26,10 @@ import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.idm.IdentityProviderRepresentation;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpUsernamePasswordForm.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpUsernamePasswordForm.java
index 5b0e152..cd09c37 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpUsernamePasswordForm.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/IdpUsernamePasswordForm.java
@@ -17,19 +17,19 @@
package org.keycloak.authentication.authenticators.broker;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowException;
-import org.keycloak.authentication.authenticators.browser.UsernamePasswordForm;
import org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext;
+import org.keycloak.authentication.authenticators.browser.UsernamePasswordForm;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.UserModel;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.messages.Messages;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+
/**
* Same like classic username+password form, but username is "known" and user can't change it
*
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/ExistingUserInfo.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/ExistingUserInfo.java
index 883f2a2..2054441 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/ExistingUserInfo.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/ExistingUserInfo.java
@@ -17,10 +17,10 @@
package org.keycloak.authentication.authenticators.broker.util;
-import java.io.IOException;
-
import org.keycloak.util.JsonSerialization;
+import java.io.IOException;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/SerializedBrokeredIdentityContext.java b/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/SerializedBrokeredIdentityContext.java
index 952c7f1..d1c749b 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/SerializedBrokeredIdentityContext.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/broker/util/SerializedBrokeredIdentityContext.java
@@ -17,12 +17,6 @@
package org.keycloak.authentication.authenticators.broker.util;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.keycloak.authentication.requiredactions.util.UpdateProfileContext;
import org.keycloak.broker.provider.BrokeredIdentityContext;
@@ -39,6 +33,12 @@ import org.keycloak.models.RealmModel;
import org.keycloak.services.resources.IdentityBrokerService;
import org.keycloak.util.JsonSerialization;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/AbstractUsernameFormAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/AbstractUsernameFormAuthenticator.java
index 5249101..6c10318 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/AbstractUsernameFormAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/AbstractUsernameFormAuthenticator.java
@@ -18,8 +18,8 @@
package org.keycloak.authentication.authenticators.browser;
import org.keycloak.authentication.AbstractFormAuthenticator;
-import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowContext;
+import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.credential.CredentialInput;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java
index 019e647..fdaa481 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java
@@ -26,7 +26,9 @@ import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
-import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.OtpDecision.*;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.OtpDecision.ABSTAIN;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.OtpDecision.SHOW_OTP;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.OtpDecision.SKIP_OTP;
import static org.keycloak.models.utils.KeycloakModelUtils.getRoleFromString;
import static org.keycloak.models.utils.KeycloakModelUtils.hasRole;
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticatorFactory.java
index facc61b..f19cbb6 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticatorFactory.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticatorFactory.java
@@ -29,8 +29,17 @@ import org.keycloak.provider.ProviderConfigProperty;
import java.util.List;
import static java.util.Arrays.asList;
-import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.*;
-import static org.keycloak.provider.ProviderConfigProperty.*;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.DEFAULT_OTP_OUTCOME;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.FORCE;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.FORCE_OTP_FOR_HTTP_HEADER;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.FORCE_OTP_ROLE;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.OTP_CONTROL_USER_ATTRIBUTE;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.SKIP;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.SKIP_OTP_FOR_HTTP_HEADER;
+import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.SKIP_OTP_ROLE;
+import static org.keycloak.provider.ProviderConfigProperty.LIST_TYPE;
+import static org.keycloak.provider.ProviderConfigProperty.ROLE_TYPE;
+import static org.keycloak.provider.ProviderConfigProperty.STRING_TYPE;
/**
* An {@link AuthenticatorFactory} for {@link ConditionalOtpFormAuthenticator}s.
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/CookieAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/CookieAuthenticator.java
index 6c961e1..b4552af 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/CookieAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/CookieAuthenticator.java
@@ -19,17 +19,12 @@ package org.keycloak.authentication.authenticators.browser;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.Authenticator;
-import org.keycloak.common.util.Time;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
-import org.keycloak.models.UserSessionModel;
import org.keycloak.protocol.LoginProtocol;
-import org.keycloak.protocol.oidc.OIDCLoginProtocol;
-import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.AuthenticationManager;
-import org.keycloak.util.TokenUtil;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/OTPFormAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/OTPFormAuthenticator.java
index 543aa96..9df33fc 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/OTPFormAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/OTPFormAuthenticator.java
@@ -17,8 +17,8 @@
package org.keycloak.authentication.authenticators.browser;
-import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowContext;
+import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.Authenticator;
import org.keycloak.events.Errors;
import org.keycloak.forms.login.LoginFormsProvider;
@@ -31,8 +31,6 @@ import org.keycloak.services.messages.Messages;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
-import java.util.LinkedList;
-import java.util.List;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/SpnegoAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/SpnegoAuthenticator.java
index c290c9a..1d6e7ae 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/SpnegoAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/SpnegoAuthenticator.java
@@ -18,8 +18,8 @@
package org.keycloak.authentication.authenticators.browser;
import org.jboss.resteasy.spi.HttpRequest;
-import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowContext;
+import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.Authenticator;
import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.events.Errors;
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientAuthUtil.java b/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientAuthUtil.java
index 94cefa3..0b7d7b4 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientAuthUtil.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientAuthUtil.java
@@ -17,11 +17,11 @@
package org.keycloak.authentication.authenticators.client;
+import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
+
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientIdAndSecretAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientIdAndSecretAuthenticator.java
index 4516de4..b7ecb41 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientIdAndSecretAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/client/ClientIdAndSecretAuthenticator.java
@@ -17,20 +17,6 @@
package org.keycloak.authentication.authenticators.client;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
import org.keycloak.OAuth2Constants;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.ClientAuthenticationFlowContext;
@@ -42,6 +28,18 @@ import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.services.ServicesLogger;
import org.keycloak.util.BasicAuthHelper;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Validates client based on "client_id" and "client_secret" sent either in request parameters or in "Authorization: Basic" header .
*
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/client/JWTClientAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/client/JWTClientAuthenticator.java
index 2f3ed58..aec70dc 100644
--- a/services/src/main/java/org/keycloak/authentication/authenticators/client/JWTClientAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/client/JWTClientAuthenticator.java
@@ -17,21 +17,6 @@
package org.keycloak.authentication.authenticators.client;
-import java.security.PublicKey;
-import java.security.cert.X509Certificate;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-
import org.keycloak.OAuth2Constants;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.ClientAuthenticationFlowContext;
@@ -43,16 +28,26 @@ import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ModelException;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.JsonWebToken;
-import org.keycloak.representations.idm.CertificateRepresentation;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.Urls;
import org.keycloak.services.util.CertificateInfoHelper;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+import java.security.PublicKey;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Client authentication based on JWT signed by client private key .
* See <a href="https://tools.ietf.org/html/rfc7519">specs</a> for more details.
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/AbstractDirectGrantAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/AbstractDirectGrantAuthenticator.java
index 88d0e15..b171a83 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/AbstractDirectGrantAuthenticator.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/AbstractDirectGrantAuthenticator.java
@@ -18,7 +18,6 @@
package org.keycloak.authentication.authenticators.directgrant;
import org.keycloak.Config;
-import org.keycloak.OAuth2Constants;
import org.keycloak.authentication.AuthenticationFlowContext;
import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
@@ -28,8 +27,6 @@ import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import java.util.HashMap;
-import java.util.Map;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateOTP.java b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateOTP.java
index fd3736c..a9ea094 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateOTP.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateOTP.java
@@ -17,8 +17,8 @@
package org.keycloak.authentication.authenticators.directgrant;
-import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowContext;
+import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.events.Errors;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.KeycloakSession;
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidatePassword.java b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidatePassword.java
index 033972b..0de3b2a 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidatePassword.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidatePassword.java
@@ -17,8 +17,8 @@
package org.keycloak.authentication.authenticators.directgrant;
-import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowContext;
+import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.events.Errors;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.KeycloakSession;
diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateUsername.java b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateUsername.java
index de48a3c..54bf8b9 100755
--- a/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateUsername.java
+++ b/services/src/main/java/org/keycloak/authentication/authenticators/directgrant/ValidateUsername.java
@@ -17,8 +17,8 @@
package org.keycloak.authentication.authenticators.directgrant;
-import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowContext;
+import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
diff --git a/services/src/main/java/org/keycloak/authentication/ClientAuthenticationFlow.java b/services/src/main/java/org/keycloak/authentication/ClientAuthenticationFlow.java
index 47ada2d..4d3ae65 100755
--- a/services/src/main/java/org/keycloak/authentication/ClientAuthenticationFlow.java
+++ b/services/src/main/java/org/keycloak/authentication/ClientAuthenticationFlow.java
@@ -17,12 +17,6 @@
package org.keycloak.authentication;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.ws.rs.core.Response;
-
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.models.AuthenticationExecutionModel;
@@ -31,6 +25,11 @@ import org.keycloak.models.ClientModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.services.ServicesLogger;
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authentication/FormAuthenticationFlow.java b/services/src/main/java/org/keycloak/authentication/FormAuthenticationFlow.java
index 6ec5825..59c85fb 100755
--- a/services/src/main/java/org/keycloak/authentication/FormAuthenticationFlow.java
+++ b/services/src/main/java/org/keycloak/authentication/FormAuthenticationFlow.java
@@ -18,8 +18,8 @@
package org.keycloak.authentication;
import org.jboss.resteasy.spi.HttpRequest;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
+import org.keycloak.common.ClientConnection;
import org.keycloak.events.EventBuilder;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.AuthenticationExecutionModel;
@@ -35,7 +35,12 @@ import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import java.net.URI;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/authentication/forms/RegistrationPassword.java b/services/src/main/java/org/keycloak/authentication/forms/RegistrationPassword.java
index d44e394..0094f0a 100755
--- a/services/src/main/java/org/keycloak/authentication/forms/RegistrationPassword.java
+++ b/services/src/main/java/org/keycloak/authentication/forms/RegistrationPassword.java
@@ -28,7 +28,6 @@ import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
-import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserModel;
diff --git a/services/src/main/java/org/keycloak/authentication/RequiredActionContextResult.java b/services/src/main/java/org/keycloak/authentication/RequiredActionContextResult.java
index 25eb750..684075e 100755
--- a/services/src/main/java/org/keycloak/authentication/RequiredActionContextResult.java
+++ b/services/src/main/java/org/keycloak/authentication/RequiredActionContextResult.java
@@ -18,8 +18,9 @@
package org.keycloak.authentication;
import org.jboss.resteasy.spi.HttpRequest;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
+import org.keycloak.common.ClientConnection;
+import org.keycloak.common.util.Time;
import org.keycloak.events.EventBuilder;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.ClientSessionModel;
@@ -29,7 +30,6 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.resources.LoginActionsService;
-import org.keycloak.common.util.Time;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
diff --git a/services/src/main/java/org/keycloak/authentication/requiredactions/TermsAndConditions.java b/services/src/main/java/org/keycloak/authentication/requiredactions/TermsAndConditions.java
index 4826b62..f4a1566 100755
--- a/services/src/main/java/org/keycloak/authentication/requiredactions/TermsAndConditions.java
+++ b/services/src/main/java/org/keycloak/authentication/requiredactions/TermsAndConditions.java
@@ -17,8 +17,6 @@
package org.keycloak.authentication.requiredactions;
-import java.util.Arrays;
-
import org.keycloak.Config;
import org.keycloak.authentication.RequiredActionContext;
import org.keycloak.authentication.RequiredActionFactory;
@@ -28,6 +26,7 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import javax.ws.rs.core.Response;
+import java.util.Arrays;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/authentication/requiredactions/UpdatePassword.java b/services/src/main/java/org/keycloak/authentication/requiredactions/UpdatePassword.java
index 9393d3e..cafcd72 100755
--- a/services/src/main/java/org/keycloak/authentication/requiredactions/UpdatePassword.java
+++ b/services/src/main/java/org/keycloak/authentication/requiredactions/UpdatePassword.java
@@ -21,6 +21,7 @@ import org.keycloak.Config;
import org.keycloak.authentication.RequiredActionContext;
import org.keycloak.authentication.RequiredActionFactory;
import org.keycloak.authentication.RequiredActionProvider;
+import org.keycloak.common.util.Time;
import org.keycloak.credential.CredentialModel;
import org.keycloak.credential.CredentialProvider;
import org.keycloak.credential.PasswordCredentialProvider;
@@ -33,12 +34,10 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.ModelException;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.messages.Messages;
import org.keycloak.services.validation.Validation;
-import org.keycloak.common.util.Time;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
diff --git a/services/src/main/java/org/keycloak/authentication/requiredactions/util/UserUpdateProfileContext.java b/services/src/main/java/org/keycloak/authentication/requiredactions/util/UserUpdateProfileContext.java
index f772814..3629a8b 100644
--- a/services/src/main/java/org/keycloak/authentication/requiredactions/util/UserUpdateProfileContext.java
+++ b/services/src/main/java/org/keycloak/authentication/requiredactions/util/UserUpdateProfileContext.java
@@ -17,12 +17,12 @@
package org.keycloak.authentication.requiredactions.util;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/authorization/admin/PolicyService.java b/services/src/main/java/org/keycloak/authorization/admin/PolicyService.java
index b179378..ffc61e5 100644
--- a/services/src/main/java/org/keycloak/authorization/admin/PolicyService.java
+++ b/services/src/main/java/org/keycloak/authorization/admin/PolicyService.java
@@ -48,7 +48,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.function.Consumer;
import java.util.stream.Collectors;
import static org.keycloak.models.utils.ModelToRepresentation.toRepresentation;
diff --git a/services/src/main/java/org/keycloak/authorization/authorization/AuthorizationTokenService.java b/services/src/main/java/org/keycloak/authorization/authorization/AuthorizationTokenService.java
index 4e7c2a9..cdb7cd0 100644
--- a/services/src/main/java/org/keycloak/authorization/authorization/AuthorizationTokenService.java
+++ b/services/src/main/java/org/keycloak/authorization/authorization/AuthorizationTokenService.java
@@ -64,7 +64,6 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.function.Function;
-import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
diff --git a/services/src/main/java/org/keycloak/authorization/entitlement/representation/EntitlementRequest.java b/services/src/main/java/org/keycloak/authorization/entitlement/representation/EntitlementRequest.java
index 3afcc31..444645a 100644
--- a/services/src/main/java/org/keycloak/authorization/entitlement/representation/EntitlementRequest.java
+++ b/services/src/main/java/org/keycloak/authorization/entitlement/representation/EntitlementRequest.java
@@ -1,6 +1,5 @@
package org.keycloak.authorization.entitlement.representation;
-import com.fasterxml.jackson.annotation.JsonProperty;
import org.keycloak.authorization.protection.permission.representation.PermissionRequest;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/authorization/protection/permission/AbstractPermissionService.java b/services/src/main/java/org/keycloak/authorization/protection/permission/AbstractPermissionService.java
index eb215f9..09bf694 100644
--- a/services/src/main/java/org/keycloak/authorization/protection/permission/AbstractPermissionService.java
+++ b/services/src/main/java/org/keycloak/authorization/protection/permission/AbstractPermissionService.java
@@ -32,7 +32,6 @@ import org.keycloak.services.ErrorResponseException;
import javax.ws.rs.core.Response;
import java.util.List;
import java.util.Set;
-import java.util.function.Function;
import java.util.stream.Collectors;
/**
diff --git a/services/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java b/services/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java
index 64792d7..c301371 100755
--- a/services/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java
+++ b/services/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java
@@ -19,14 +19,13 @@ package org.keycloak.broker.oidc;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.jboss.logging.Logger;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
-import org.keycloak.broker.provider.util.SimpleHttp;
import org.keycloak.broker.provider.AbstractIdentityProvider;
import org.keycloak.broker.provider.AuthenticationRequest;
import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.broker.provider.IdentityBrokerException;
-import org.keycloak.truststore.JSSETruststoreConfigurator;
+import org.keycloak.broker.provider.util.SimpleHttp;
+import org.keycloak.common.ClientConnection;
import org.keycloak.events.Errors;
import org.keycloak.events.EventBuilder;
import org.keycloak.events.EventType;
@@ -35,6 +34,7 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.services.ErrorPage;
import org.keycloak.services.messages.Messages;
+import org.keycloak.truststore.JSSETruststoreConfigurator;
import javax.ws.rs.GET;
import javax.ws.rs.QueryParam;
diff --git a/services/src/main/java/org/keycloak/broker/oidc/KeycloakOIDCIdentityProvider.java b/services/src/main/java/org/keycloak/broker/oidc/KeycloakOIDCIdentityProvider.java
index 492a796..1f2871b 100755
--- a/services/src/main/java/org/keycloak/broker/oidc/KeycloakOIDCIdentityProvider.java
+++ b/services/src/main/java/org/keycloak/broker/oidc/KeycloakOIDCIdentityProvider.java
@@ -17,8 +17,8 @@
package org.keycloak.broker.oidc;
-import org.keycloak.broker.provider.util.SimpleHttp;
import org.keycloak.broker.provider.BrokeredIdentityContext;
+import org.keycloak.broker.provider.util.SimpleHttp;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.events.EventBuilder;
import org.keycloak.jose.jws.JWSInput;
diff --git a/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractClaimMapper.java b/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractClaimMapper.java
index 44c7185..feb51b6 100755
--- a/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractClaimMapper.java
+++ b/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractClaimMapper.java
@@ -17,6 +17,7 @@
package org.keycloak.broker.oidc.mappers;
+import com.fasterxml.jackson.databind.JsonNode;
import org.keycloak.broker.oidc.KeycloakOIDCIdentityProvider;
import org.keycloak.broker.oidc.OIDCIdentityProvider;
import org.keycloak.broker.provider.AbstractIdentityProviderMapper;
@@ -24,7 +25,6 @@ import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.models.IdentityProviderMapperModel;
import org.keycloak.representations.JsonWebToken;
-import com.fasterxml.jackson.databind.JsonNode;
import java.util.List;
import java.util.Map;
diff --git a/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractJsonUserAttributeMapper.java b/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractJsonUserAttributeMapper.java
index a063ddb..e718a0d 100755
--- a/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractJsonUserAttributeMapper.java
+++ b/services/src/main/java/org/keycloak/broker/oidc/mappers/AbstractJsonUserAttributeMapper.java
@@ -17,9 +17,6 @@
package org.keycloak.broker.oidc.mappers;
-import java.util.ArrayList;
-import java.util.List;
-
import com.fasterxml.jackson.databind.JsonNode;
import org.jboss.logging.Logger;
import org.keycloak.broker.oidc.OIDCIdentityProvider;
@@ -31,6 +28,9 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Abstract class for Social Provider mappers which allow mapping of JSON user profile field into Keycloak user
* attribute. Concrete mapper classes with own ID and provider mapping must be implemented for each social provider who
diff --git a/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java b/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java
index aeedd9c..c83d03f 100755
--- a/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java
+++ b/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProvider.java
@@ -20,10 +20,11 @@ import com.fasterxml.jackson.databind.JsonNode;
import org.jboss.logging.Logger;
import org.keycloak.broker.oidc.mappers.AbstractJsonUserAttributeMapper;
import org.keycloak.broker.oidc.util.JsonSimpleHttp;
-import org.keycloak.broker.provider.util.SimpleHttp;
import org.keycloak.broker.provider.AuthenticationRequest;
import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.broker.provider.IdentityBrokerException;
+import org.keycloak.broker.provider.util.SimpleHttp;
+import org.keycloak.common.util.PemUtils;
import org.keycloak.common.util.Time;
import org.keycloak.events.Errors;
import org.keycloak.events.EventBuilder;
@@ -46,7 +47,6 @@ import org.keycloak.services.resources.IdentityBrokerService;
import org.keycloak.services.resources.RealmsResource;
import org.keycloak.truststore.JSSETruststoreConfigurator;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.PemUtils;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@@ -55,7 +55,6 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
-
import java.io.IOException;
import java.security.PublicKey;
diff --git a/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProviderFactory.java b/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProviderFactory.java
index 4bd8486..fcb41a4 100755
--- a/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProviderFactory.java
+++ b/services/src/main/java/org/keycloak/broker/oidc/OIDCIdentityProviderFactory.java
@@ -17,12 +17,12 @@
package org.keycloak.broker.oidc;
import org.keycloak.broker.provider.AbstractIdentityProviderFactory;
+import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.jose.jwk.JWK;
import org.keycloak.jose.jwk.JWKParser;
import org.keycloak.models.IdentityProviderModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.utils.KeycloakModelUtils;
-import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.protocol.oidc.representations.OIDCConfigurationRepresentation;
import org.keycloak.protocol.oidc.utils.JWKSHttpUtils;
import org.keycloak.services.ServicesLogger;
diff --git a/services/src/main/java/org/keycloak/broker/saml/SAMLDataMarshaller.java b/services/src/main/java/org/keycloak/broker/saml/SAMLDataMarshaller.java
index d9f4359..78459e8 100644
--- a/services/src/main/java/org/keycloak/broker/saml/SAMLDataMarshaller.java
+++ b/services/src/main/java/org/keycloak/broker/saml/SAMLDataMarshaller.java
@@ -17,12 +17,6 @@
package org.keycloak.broker.saml;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import javax.xml.stream.XMLEventReader;
-
import org.keycloak.broker.provider.DefaultDataMarshaller;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
import org.keycloak.dom.saml.v2.assertion.AuthnStatementType;
@@ -35,6 +29,11 @@ import org.keycloak.saml.processing.core.parsers.util.SAMLParserUtil;
import org.keycloak.saml.processing.core.saml.v2.writers.SAMLAssertionWriter;
import org.keycloak.saml.processing.core.saml.v2.writers.SAMLResponseWriter;
+import javax.xml.stream.XMLEventReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/broker/saml/SAMLEndpoint.java b/services/src/main/java/org/keycloak/broker/saml/SAMLEndpoint.java
index 32d6426..f55aa02 100755
--- a/services/src/main/java/org/keycloak/broker/saml/SAMLEndpoint.java
+++ b/services/src/main/java/org/keycloak/broker/saml/SAMLEndpoint.java
@@ -19,11 +19,11 @@ package org.keycloak.broker.saml;
import org.jboss.logging.Logger;
import org.jboss.resteasy.annotations.cache.NoCache;
-import org.keycloak.common.ClientConnection;
-import org.keycloak.common.VerificationException;
import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.broker.provider.IdentityBrokerException;
import org.keycloak.broker.provider.IdentityProvider;
+import org.keycloak.common.ClientConnection;
+import org.keycloak.common.VerificationException;
import org.keycloak.dom.saml.v2.assertion.AssertionType;
import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.dom.saml.v2.assertion.AttributeType;
@@ -42,10 +42,10 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.protocol.saml.JaxrsSAML2BindingBuilder;
-import org.keycloak.saml.SAML2LogoutResponseBuilder;
-import org.keycloak.saml.SAMLRequestParser;
import org.keycloak.protocol.saml.SamlProtocol;
import org.keycloak.protocol.saml.SamlProtocolUtils;
+import org.keycloak.saml.SAML2LogoutResponseBuilder;
+import org.keycloak.saml.SAMLRequestParser;
import org.keycloak.saml.common.constants.GeneralConstants;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.exceptions.ConfigurationException;
diff --git a/services/src/main/java/org/keycloak/connections/httpclient/DefaultHttpClientFactory.java b/services/src/main/java/org/keycloak/connections/httpclient/DefaultHttpClientFactory.java
index d881382..217581b 100755
--- a/services/src/main/java/org/keycloak/connections/httpclient/DefaultHttpClientFactory.java
+++ b/services/src/main/java/org/keycloak/connections/httpclient/DefaultHttpClientFactory.java
@@ -27,11 +27,11 @@ import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.CloseableHttpClient;
import org.jboss.logging.Logger;
import org.keycloak.Config;
-import org.keycloak.truststore.TruststoreProvider;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.common.util.EnvUtil;
import org.keycloak.common.util.KeystoreUtil;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.truststore.TruststoreProvider;
import java.io.IOException;
import java.io.InputStream;
diff --git a/services/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java b/services/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java
index d3d9b60..24bff5e 100644
--- a/services/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java
+++ b/services/src/main/java/org/keycloak/credential/hash/Pbkdf2PasswordHashProvider.java
@@ -20,8 +20,6 @@ package org.keycloak.credential.hash;
import org.keycloak.Config;
import org.keycloak.common.util.Base64;
import org.keycloak.credential.CredentialModel;
-import org.keycloak.credential.hash.PasswordHashProvider;
-import org.keycloak.credential.hash.PasswordHashProviderFactory;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.PasswordPolicy;
diff --git a/services/src/main/java/org/keycloak/credential/UserCredentialStoreManager.java b/services/src/main/java/org/keycloak/credential/UserCredentialStoreManager.java
index fab3127..065be1f 100644
--- a/services/src/main/java/org/keycloak/credential/UserCredentialStoreManager.java
+++ b/services/src/main/java/org/keycloak/credential/UserCredentialStoreManager.java
@@ -17,29 +17,22 @@
package org.keycloak.credential;
import org.keycloak.common.util.reflections.Types;
-import org.keycloak.component.ComponentModel;
-import org.keycloak.component.PrioritizedComponentModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserCredentialManager;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationProvider;
-import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.cache.CachedUserModel;
import org.keycloak.models.cache.OnUserCache;
-import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.storage.StorageId;
import org.keycloak.storage.UserStorageManager;
import org.keycloak.storage.UserStorageProvider;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
-import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java b/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
index c19d1e8..f94fe07 100644
--- a/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
+++ b/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
@@ -17,12 +17,12 @@
package org.keycloak.email;
-import org.keycloak.truststore.HostnameVerificationPolicy;
-import org.keycloak.truststore.JSSETruststoreConfigurator;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.services.ServicesLogger;
+import org.keycloak.truststore.HostnameVerificationPolicy;
+import org.keycloak.truststore.JSSETruststoreConfigurator;
import javax.mail.MessagingException;
import javax.mail.Multipart;
diff --git a/services/src/main/java/org/keycloak/email/freemarker/beans/AdminEventBean.java b/services/src/main/java/org/keycloak/email/freemarker/beans/AdminEventBean.java
index 96a9b56..6dae05d 100644
--- a/services/src/main/java/org/keycloak/email/freemarker/beans/AdminEventBean.java
+++ b/services/src/main/java/org/keycloak/email/freemarker/beans/AdminEventBean.java
@@ -17,10 +17,10 @@
package org.keycloak.email.freemarker.beans;
-import java.util.Date;
-
import org.keycloak.events.admin.AdminEvent;
+import java.util.Date;
+
/**
* @author <a href="mailto:giriraj.sharma27@gmail.com">Giriraj Sharma</a>
*/
diff --git a/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProvider.java b/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProvider.java
index e1a27bc..5105eae 100755
--- a/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProvider.java
+++ b/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProvider.java
@@ -26,17 +26,23 @@ import org.keycloak.email.freemarker.beans.EventBean;
import org.keycloak.email.freemarker.beans.ProfileBean;
import org.keycloak.events.Event;
import org.keycloak.events.EventType;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserModel;
import org.keycloak.theme.FreeMarkerException;
import org.keycloak.theme.FreeMarkerUtil;
import org.keycloak.theme.Theme;
import org.keycloak.theme.ThemeProvider;
import org.keycloak.theme.beans.MessageFormatterMethod;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserModel;
import java.text.MessageFormat;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProviderFactory.java b/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProviderFactory.java
index d047228..0cda51d 100755
--- a/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProviderFactory.java
+++ b/services/src/main/java/org/keycloak/email/freemarker/FreeMarkerEmailTemplateProviderFactory.java
@@ -20,9 +20,9 @@ package org.keycloak.email.freemarker;
import org.keycloak.Config;
import org.keycloak.email.EmailTemplateProvider;
import org.keycloak.email.EmailTemplateProviderFactory;
-import org.keycloak.theme.FreeMarkerUtil;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.theme.FreeMarkerUtil;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/events/email/EmailEventListenerProvider.java b/services/src/main/java/org/keycloak/events/email/EmailEventListenerProvider.java
index 0d74811..94bd1a3 100755
--- a/services/src/main/java/org/keycloak/events/email/EmailEventListenerProvider.java
+++ b/services/src/main/java/org/keycloak/events/email/EmailEventListenerProvider.java
@@ -20,10 +20,10 @@ package org.keycloak.events.email;
import org.jboss.logging.Logger;
import org.keycloak.email.EmailException;
import org.keycloak.email.EmailTemplateProvider;
-import org.keycloak.events.admin.AdminEvent;
import org.keycloak.events.Event;
import org.keycloak.events.EventListenerProvider;
import org.keycloak.events.EventType;
+import org.keycloak.events.admin.AdminEvent;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RealmProvider;
diff --git a/services/src/main/java/org/keycloak/events/log/JBossLoggingEventListenerProvider.java b/services/src/main/java/org/keycloak/events/log/JBossLoggingEventListenerProvider.java
index 2675175..918f51a 100755
--- a/services/src/main/java/org/keycloak/events/log/JBossLoggingEventListenerProvider.java
+++ b/services/src/main/java/org/keycloak/events/log/JBossLoggingEventListenerProvider.java
@@ -18,16 +18,15 @@
package org.keycloak.events.log;
import org.jboss.logging.Logger;
-import org.keycloak.events.admin.AdminEvent;
import org.keycloak.events.Event;
import org.keycloak.events.EventListenerProvider;
+import org.keycloak.events.admin.AdminEvent;
import org.keycloak.models.KeycloakContext;
import org.keycloak.models.KeycloakSession;
import javax.ws.rs.core.Cookie;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.UriInfo;
-
import java.util.Map;
/**
diff --git a/services/src/main/java/org/keycloak/exportimport/ExportImportManager.java b/services/src/main/java/org/keycloak/exportimport/ExportImportManager.java
index f8fb7ea..b51513c 100644
--- a/services/src/main/java/org/keycloak/exportimport/ExportImportManager.java
+++ b/services/src/main/java/org/keycloak/exportimport/ExportImportManager.java
@@ -18,9 +18,9 @@
package org.keycloak.exportimport;
-import org.keycloak.services.ServicesLogger;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.services.ServicesLogger;
import java.io.IOException;
diff --git a/services/src/main/java/org/keycloak/exportimport/util/ExportUtils.java b/services/src/main/java/org/keycloak/exportimport/util/ExportUtils.java
index 598b8e2..136f519 100755
--- a/services/src/main/java/org/keycloak/exportimport/util/ExportUtils.java
+++ b/services/src/main/java/org/keycloak/exportimport/util/ExportUtils.java
@@ -44,7 +44,6 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserConsentModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserFederationManager;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.ModelToRepresentation;
diff --git a/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java b/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java
index 769cabb..044e89c 100755
--- a/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java
+++ b/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java
@@ -25,7 +25,6 @@ import org.jboss.logging.Logger;
import org.keycloak.Config;
import org.keycloak.exportimport.ExportImportConfig;
import org.keycloak.exportimport.Strategy;
-import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RealmProvider;
@@ -37,7 +36,11 @@ import org.keycloak.services.managers.RealmManager;
import java.io.IOException;
import java.io.InputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProvider.java b/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProvider.java
index 58c39ec..6241c85 100755
--- a/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProvider.java
+++ b/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProvider.java
@@ -16,28 +16,13 @@
*/
package org.keycloak.forms.account.freemarker;
-import java.io.IOException;
-import java.net.URI;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
-
import org.jboss.logging.Logger;
+import org.keycloak.events.Event;
import org.keycloak.forms.account.AccountPages;
import org.keycloak.forms.account.AccountProvider;
-import org.keycloak.forms.account.freemarker.model.ApplicationsBean;
import org.keycloak.forms.account.freemarker.model.AccountBean;
import org.keycloak.forms.account.freemarker.model.AccountFederatedIdentityBean;
+import org.keycloak.forms.account.freemarker.model.ApplicationsBean;
import org.keycloak.forms.account.freemarker.model.FeaturesBean;
import org.keycloak.forms.account.freemarker.model.LogBean;
import org.keycloak.forms.account.freemarker.model.PasswordBean;
@@ -46,7 +31,11 @@ import org.keycloak.forms.account.freemarker.model.ReferrerBean;
import org.keycloak.forms.account.freemarker.model.SessionsBean;
import org.keycloak.forms.account.freemarker.model.TotpBean;
import org.keycloak.forms.account.freemarker.model.UrlBean;
-import org.keycloak.events.Event;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserModel;
+import org.keycloak.models.UserSessionModel;
+import org.keycloak.models.utils.FormMessage;
import org.keycloak.theme.BrowserSecurityHeaderSetup;
import org.keycloak.theme.FreeMarkerException;
import org.keycloak.theme.FreeMarkerUtil;
@@ -58,13 +47,23 @@ import org.keycloak.theme.beans.MessageBean;
import org.keycloak.theme.beans.MessageFormatterMethod;
import org.keycloak.theme.beans.MessageType;
import org.keycloak.theme.beans.MessagesPerFieldBean;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserModel;
-import org.keycloak.models.UserSessionModel;
-import org.keycloak.models.utils.FormMessage;
import org.keycloak.utils.MediaType;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+import javax.ws.rs.core.UriInfo;
+import java.io.IOException;
+import java.net.URI;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProviderFactory.java b/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProviderFactory.java
index 6e33353..2902353 100755
--- a/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProviderFactory.java
+++ b/services/src/main/java/org/keycloak/forms/account/freemarker/FreeMarkerAccountProviderFactory.java
@@ -20,9 +20,9 @@ package org.keycloak.forms.account.freemarker;
import org.keycloak.Config;
import org.keycloak.forms.account.AccountProvider;
import org.keycloak.forms.account.AccountProviderFactory;
-import org.keycloak.theme.FreeMarkerUtil;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.theme.FreeMarkerUtil;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/forms/account/freemarker/model/AccountFederatedIdentityBean.java b/services/src/main/java/org/keycloak/forms/account/freemarker/model/AccountFederatedIdentityBean.java
index 3c63de2..96f4257 100755
--- a/services/src/main/java/org/keycloak/forms/account/freemarker/model/AccountFederatedIdentityBean.java
+++ b/services/src/main/java/org/keycloak/forms/account/freemarker/model/AccountFederatedIdentityBean.java
@@ -27,7 +27,6 @@ import org.keycloak.services.resources.AccountService;
import org.keycloak.services.Urls;
import javax.ws.rs.core.UriBuilder;
-
import java.net.URI;
import java.util.Comparator;
import java.util.LinkedList;
diff --git a/services/src/main/java/org/keycloak/forms/account/freemarker/model/ApplicationsBean.java b/services/src/main/java/org/keycloak/forms/account/freemarker/model/ApplicationsBean.java
index f845903..82d7fb3 100755
--- a/services/src/main/java/org/keycloak/forms/account/freemarker/model/ApplicationsBean.java
+++ b/services/src/main/java/org/keycloak/forms/account/freemarker/model/ApplicationsBean.java
@@ -17,21 +17,21 @@
package org.keycloak.forms.account.freemarker.model;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
+import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.UserConsentModel;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.UserModel;
import org.keycloak.protocol.oidc.TokenManager;
import org.keycloak.services.managers.UserSessionManager;
-import org.keycloak.common.util.MultivaluedHashMap;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/services/src/main/java/org/keycloak/forms/account/freemarker/model/SessionsBean.java b/services/src/main/java/org/keycloak/forms/account/freemarker/model/SessionsBean.java
index aefcc72..a474f4f 100755
--- a/services/src/main/java/org/keycloak/forms/account/freemarker/model/SessionsBean.java
+++ b/services/src/main/java/org/keycloak/forms/account/freemarker/model/SessionsBean.java
@@ -17,11 +17,11 @@
package org.keycloak.forms.account.freemarker.model;
+import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.common.util.Time;
import java.util.Date;
import java.util.HashSet;
diff --git a/services/src/main/java/org/keycloak/forms/account/freemarker/model/TotpBean.java b/services/src/main/java/org/keycloak/forms/account/freemarker/model/TotpBean.java
index d90f21e..21afcff 100644
--- a/services/src/main/java/org/keycloak/forms/account/freemarker/model/TotpBean.java
+++ b/services/src/main/java/org/keycloak/forms/account/freemarker/model/TotpBean.java
@@ -20,15 +20,9 @@ package org.keycloak.forms.account.freemarker.model;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
-import org.keycloak.models.utils.Base32;
import org.keycloak.models.utils.HmacOTP;
import org.keycloak.utils.TotpUtils;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URLEncoder;
-import java.security.SecureRandom;
-
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/forms/account/freemarker/model/UrlBean.java b/services/src/main/java/org/keycloak/forms/account/freemarker/model/UrlBean.java
index 5558ae1..6ba04fe 100755
--- a/services/src/main/java/org/keycloak/forms/account/freemarker/model/UrlBean.java
+++ b/services/src/main/java/org/keycloak/forms/account/freemarker/model/UrlBean.java
@@ -17,9 +17,9 @@
package org.keycloak.forms.account.freemarker.model;
-import org.keycloak.theme.Theme;
import org.keycloak.models.RealmModel;
import org.keycloak.services.Urls;
+import org.keycloak.theme.Theme;
import java.net.URI;
diff --git a/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProvider.java b/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProvider.java
index 515ab76..9f60404 100755
--- a/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProvider.java
+++ b/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProvider.java
@@ -25,22 +25,10 @@ import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.common.util.ObjectUtil;
import org.keycloak.email.EmailException;
import org.keycloak.email.EmailTemplateProvider;
-import org.keycloak.forms.login.freemarker.model.CodeBean;
-import org.keycloak.forms.login.freemarker.model.UrlBean;
-import org.keycloak.theme.BrowserSecurityHeaderSetup;
-import org.keycloak.theme.FreeMarkerException;
-import org.keycloak.theme.FreeMarkerUtil;
-import org.keycloak.theme.Theme;
-import org.keycloak.theme.ThemeProvider;
-import org.keycloak.theme.beans.AdvancedMessageFormatterMethod;
-import org.keycloak.theme.beans.LocaleBean;
-import org.keycloak.theme.beans.MessageBean;
-import org.keycloak.theme.beans.MessageFormatterMethod;
-import org.keycloak.theme.beans.MessageType;
-import org.keycloak.theme.beans.MessagesPerFieldBean;
import org.keycloak.forms.login.LoginFormsPages;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.forms.login.freemarker.model.ClientBean;
+import org.keycloak.forms.login.freemarker.model.CodeBean;
import org.keycloak.forms.login.freemarker.model.IdentityProviderBean;
import org.keycloak.forms.login.freemarker.model.LoginBean;
import org.keycloak.forms.login.freemarker.model.OAuthGrantBean;
@@ -49,6 +37,7 @@ import org.keycloak.forms.login.freemarker.model.RealmBean;
import org.keycloak.forms.login.freemarker.model.RegisterBean;
import org.keycloak.forms.login.freemarker.model.RequiredActionUrlFormatterMethod;
import org.keycloak.forms.login.freemarker.model.TotpBean;
+import org.keycloak.forms.login.freemarker.model.UrlBean;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.Constants;
@@ -61,6 +50,17 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.FormMessage;
import org.keycloak.services.Urls;
import org.keycloak.services.messages.Messages;
+import org.keycloak.theme.BrowserSecurityHeaderSetup;
+import org.keycloak.theme.FreeMarkerException;
+import org.keycloak.theme.FreeMarkerUtil;
+import org.keycloak.theme.Theme;
+import org.keycloak.theme.ThemeProvider;
+import org.keycloak.theme.beans.AdvancedMessageFormatterMethod;
+import org.keycloak.theme.beans.LocaleBean;
+import org.keycloak.theme.beans.MessageBean;
+import org.keycloak.theme.beans.MessageFormatterMethod;
+import org.keycloak.theme.beans.MessageType;
+import org.keycloak.theme.beans.MessagesPerFieldBean;
import org.keycloak.utils.MediaType;
import javax.ws.rs.core.MultivaluedMap;
diff --git a/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProviderFactory.java b/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProviderFactory.java
index 53a808d..c801b05 100755
--- a/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProviderFactory.java
+++ b/services/src/main/java/org/keycloak/forms/login/freemarker/FreeMarkerLoginFormsProviderFactory.java
@@ -18,11 +18,11 @@
package org.keycloak.forms.login.freemarker;
import org.keycloak.Config;
-import org.keycloak.theme.FreeMarkerUtil;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.forms.login.LoginFormsProviderFactory;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.theme.FreeMarkerUtil;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/forms/login/freemarker/LoginFormsUtil.java b/services/src/main/java/org/keycloak/forms/login/freemarker/LoginFormsUtil.java
index f6c1808..1de8bea 100755
--- a/services/src/main/java/org/keycloak/forms/login/freemarker/LoginFormsUtil.java
+++ b/services/src/main/java/org/keycloak/forms/login/freemarker/LoginFormsUtil.java
@@ -17,14 +17,6 @@
package org.keycloak.forms.login.freemarker;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.FederatedIdentityModel;
import org.keycloak.models.IdentityProviderModel;
@@ -32,6 +24,13 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
+import javax.ws.rs.core.MultivaluedMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Various util methods, so the logic is not hardcoded in freemarker beans
*
diff --git a/services/src/main/java/org/keycloak/forms/login/freemarker/model/ProfileBean.java b/services/src/main/java/org/keycloak/forms/login/freemarker/model/ProfileBean.java
index 926af00..577d8a1 100755
--- a/services/src/main/java/org/keycloak/forms/login/freemarker/model/ProfileBean.java
+++ b/services/src/main/java/org/keycloak/forms/login/freemarker/model/ProfileBean.java
@@ -16,15 +16,14 @@
*/
package org.keycloak.forms.login.freemarker.model;
+import org.jboss.logging.Logger;
+import org.keycloak.authentication.requiredactions.util.UpdateProfileContext;
+
+import javax.ws.rs.core.MultivaluedMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.ws.rs.core.MultivaluedMap;
-
-import org.jboss.logging.Logger;
-import org.keycloak.authentication.requiredactions.util.UpdateProfileContext;
-
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
* @author Vlastimil Elias (velias at redhat dot com)
diff --git a/services/src/main/java/org/keycloak/forms/login/freemarker/model/TotpBean.java b/services/src/main/java/org/keycloak/forms/login/freemarker/model/TotpBean.java
index c302533..6626018 100755
--- a/services/src/main/java/org/keycloak/forms/login/freemarker/model/TotpBean.java
+++ b/services/src/main/java/org/keycloak/forms/login/freemarker/model/TotpBean.java
@@ -20,14 +20,9 @@ import org.keycloak.credential.CredentialModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
-import org.keycloak.models.utils.Base32;
import org.keycloak.models.utils.HmacOTP;
import org.keycloak.utils.TotpUtils;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URLEncoder;
-
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/services/src/main/java/org/keycloak/forms/login/freemarker/model/UrlBean.java b/services/src/main/java/org/keycloak/forms/login/freemarker/model/UrlBean.java
index 581325a..a622c22 100755
--- a/services/src/main/java/org/keycloak/forms/login/freemarker/model/UrlBean.java
+++ b/services/src/main/java/org/keycloak/forms/login/freemarker/model/UrlBean.java
@@ -16,9 +16,9 @@
*/
package org.keycloak.forms.login.freemarker.model;
-import org.keycloak.theme.Theme;
import org.keycloak.models.RealmModel;
import org.keycloak.services.Urls;
+import org.keycloak.theme.Theme;
import java.net.URI;
diff --git a/services/src/main/java/org/keycloak/partialimport/AbstractPartialImport.java b/services/src/main/java/org/keycloak/partialimport/AbstractPartialImport.java
index 37097fc..cd81c56 100644
--- a/services/src/main/java/org/keycloak/partialimport/AbstractPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/AbstractPartialImport.java
@@ -17,16 +17,17 @@
package org.keycloak.partialimport;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import javax.ws.rs.core.Response;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.services.ErrorResponse;
import org.keycloak.services.ServicesLogger;
+import javax.ws.rs.core.Response;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* Base PartialImport for most resource types.
*
diff --git a/services/src/main/java/org/keycloak/partialimport/ClientRolesPartialImport.java b/services/src/main/java/org/keycloak/partialimport/ClientRolesPartialImport.java
index 5f57164..008917d 100644
--- a/services/src/main/java/org/keycloak/partialimport/ClientRolesPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/ClientRolesPartialImport.java
@@ -16,12 +16,6 @@
*/
package org.keycloak.partialimport;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import javax.ws.rs.core.Response;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -31,6 +25,13 @@ import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.services.ErrorResponse;
+import javax.ws.rs.core.Response;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Partial Import handler for Client Roles.
*
diff --git a/services/src/main/java/org/keycloak/partialimport/ClientsPartialImport.java b/services/src/main/java/org/keycloak/partialimport/ClientsPartialImport.java
index ab414c5..b7e46df 100755
--- a/services/src/main/java/org/keycloak/partialimport/ClientsPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/ClientsPartialImport.java
@@ -17,7 +17,6 @@
package org.keycloak.partialimport;
-import java.util.List;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -27,6 +26,8 @@ import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
+import java.util.List;
+
/**
* PartialImport handler for Clients.
*
diff --git a/services/src/main/java/org/keycloak/partialimport/GroupsPartialImport.java b/services/src/main/java/org/keycloak/partialimport/GroupsPartialImport.java
index e9632d6..cdb57ad 100644
--- a/services/src/main/java/org/keycloak/partialimport/GroupsPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/GroupsPartialImport.java
@@ -17,7 +17,6 @@
package org.keycloak.partialimport;
-import java.util.List;
import org.keycloak.models.GroupModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -26,6 +25,8 @@ import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.PartialImportRepresentation;
+import java.util.List;
+
/**
* Partial import handler for Groups.
*
diff --git a/services/src/main/java/org/keycloak/partialimport/IdentityProvidersPartialImport.java b/services/src/main/java/org/keycloak/partialimport/IdentityProvidersPartialImport.java
index 505c61d..cdcb89c 100644
--- a/services/src/main/java/org/keycloak/partialimport/IdentityProvidersPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/IdentityProvidersPartialImport.java
@@ -17,7 +17,6 @@
package org.keycloak.partialimport;
-import java.util.List;
import org.keycloak.models.IdentityProviderModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -26,6 +25,8 @@ import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.representations.idm.IdentityProviderRepresentation;
import org.keycloak.representations.idm.PartialImportRepresentation;
+import java.util.List;
+
/**
* PartialImport handler for Identitiy Providers.
*
diff --git a/services/src/main/java/org/keycloak/partialimport/PartialImportManager.java b/services/src/main/java/org/keycloak/partialimport/PartialImportManager.java
index 705d230..5ec3eec 100644
--- a/services/src/main/java/org/keycloak/partialimport/PartialImportManager.java
+++ b/services/src/main/java/org/keycloak/partialimport/PartialImportManager.java
@@ -17,15 +17,16 @@
package org.keycloak.partialimport;
-import java.util.ArrayList;
-import java.util.List;
-import javax.ws.rs.core.Response;
import org.keycloak.events.admin.OperationType;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.services.resources.admin.AdminEventBuilder;
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* This class manages the PartialImport handlers.
*
diff --git a/services/src/main/java/org/keycloak/partialimport/RealmRolesPartialImport.java b/services/src/main/java/org/keycloak/partialimport/RealmRolesPartialImport.java
index 4a84b70..9c53709 100644
--- a/services/src/main/java/org/keycloak/partialimport/RealmRolesPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/RealmRolesPartialImport.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.partialimport;
-import java.util.List;
-import java.util.Set;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
@@ -25,6 +23,9 @@ import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.services.resources.admin.RoleResource;
+import java.util.List;
+import java.util.Set;
+
/**
* PartialImport handler for Realm Roles.
*
diff --git a/services/src/main/java/org/keycloak/partialimport/RolesPartialImport.java b/services/src/main/java/org/keycloak/partialimport/RolesPartialImport.java
index 7bd16b2..6fca177 100644
--- a/services/src/main/java/org/keycloak/partialimport/RolesPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/RolesPartialImport.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.partialimport;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import javax.ws.rs.core.Response;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.KeycloakModelUtils;
@@ -30,6 +26,11 @@ import org.keycloak.representations.idm.RolesRepresentation;
import org.keycloak.services.ErrorResponse;
import org.keycloak.services.ServicesLogger;
+import javax.ws.rs.core.Response;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* This class handles both realm roles and client roles. It delegates to
* RealmRolesPartialImport and ClientRolesPartialImport, which are no longer used
diff --git a/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java b/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java
index 2dc4136..0128e4e 100755
--- a/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java
@@ -17,10 +17,6 @@
package org.keycloak.partialimport;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
@@ -30,6 +26,10 @@ import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.services.managers.UserManager;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* PartialImport handler for users.
*
diff --git a/services/src/main/java/org/keycloak/protocol/AuthorizationEndpointBase.java b/services/src/main/java/org/keycloak/protocol/AuthorizationEndpointBase.java
index 12dba27..8eed142 100755
--- a/services/src/main/java/org/keycloak/protocol/AuthorizationEndpointBase.java
+++ b/services/src/main/java/org/keycloak/protocol/AuthorizationEndpointBase.java
@@ -17,11 +17,6 @@
package org.keycloak.protocol;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
import org.jboss.resteasy.spi.HttpRequest;
import org.keycloak.authentication.AuthenticationProcessor;
import org.keycloak.common.ClientConnection;
@@ -36,6 +31,11 @@ import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.resources.LoginActionsService;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+
/**
* Common base class for Authorization REST endpoints implementation, which have to be implemented by each protocol.
*
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/AuthorizationEndpoint.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/AuthorizationEndpoint.java
index 3f18b27..4ef0c5c 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/AuthorizationEndpoint.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/AuthorizationEndpoint.java
@@ -17,10 +17,6 @@
package org.keycloak.protocol.oidc.endpoints;
-import javax.ws.rs.GET;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
import org.keycloak.OAuth2Constants;
import org.keycloak.OAuthErrorException;
import org.keycloak.authentication.AuthenticationProcessor;
@@ -49,6 +45,10 @@ import org.keycloak.services.resources.LoginActionsService;
import org.keycloak.services.util.CacheControlUtil;
import org.keycloak.util.TokenUtil;
+import javax.ws.rs.GET;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LoginStatusIframeEndpoint.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LoginStatusIframeEndpoint.java
index 757f0d7..b41f52d 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LoginStatusIframeEndpoint.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LoginStatusIframeEndpoint.java
@@ -19,12 +19,12 @@ package org.keycloak.protocol.oidc.endpoints;
import org.jboss.resteasy.spi.NotFoundException;
import org.keycloak.Config;
+import org.keycloak.common.util.StreamUtil;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.protocol.oidc.utils.RedirectUtils;
-import org.keycloak.common.util.StreamUtil;
-import org.keycloak.common.util.UriUtils;
import org.keycloak.services.util.P3PHelper;
import javax.ws.rs.GET;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LogoutEndpoint.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LogoutEndpoint.java
index 85fea77..1a47301 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LogoutEndpoint.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/LogoutEndpoint.java
@@ -19,9 +19,9 @@ package org.keycloak.protocol.oidc.endpoints;
import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.spi.HttpRequest;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
import org.keycloak.OAuthErrorException;
+import org.keycloak.common.ClientConnection;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventBuilder;
@@ -36,12 +36,12 @@ import org.keycloak.protocol.oidc.utils.AuthorizeClientUtil;
import org.keycloak.protocol.oidc.utils.RedirectUtils;
import org.keycloak.representations.IDToken;
import org.keycloak.representations.RefreshToken;
+import org.keycloak.services.ErrorPage;
import org.keycloak.services.ErrorResponseException;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.messages.Messages;
import org.keycloak.services.resources.Cors;
-import org.keycloak.services.ErrorPage;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthorizationEndpointRequestParserProcessor.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthorizationEndpointRequestParserProcessor.java
index 5ae49f5..4469c0f 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthorizationEndpointRequestParserProcessor.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthorizationEndpointRequestParserProcessor.java
@@ -17,11 +17,6 @@
package org.keycloak.protocol.oidc.endpoints.request;
-import java.io.InputStream;
-import java.util.Map;
-
-import javax.ws.rs.core.MultivaluedMap;
-
import org.keycloak.common.util.StreamUtil;
import org.keycloak.connections.httpclient.HttpClientProvider;
import org.keycloak.events.Errors;
@@ -33,6 +28,9 @@ import org.keycloak.services.ErrorPageException;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.messages.Messages;
+import javax.ws.rs.core.MultivaluedMap;
+import java.io.InputStream;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointQueryStringParser.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointQueryStringParser.java
index 8384fdc..148576e 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointQueryStringParser.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointQueryStringParser.java
@@ -17,9 +17,8 @@
package org.keycloak.protocol.oidc.endpoints.request;
-import java.util.Set;
-
import javax.ws.rs.core.MultivaluedMap;
+import java.util.Set;
/**
* Parse the parameters from request queryString
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestObjectParser.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestObjectParser.java
index 9a3f5ab..62d711f 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestObjectParser.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestObjectParser.java
@@ -17,11 +17,6 @@
package org.keycloak.protocol.oidc.endpoints.request;
-import java.security.PublicKey;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
import org.keycloak.authentication.authenticators.client.JWTClientAuthenticator;
import org.keycloak.jose.jws.Algorithm;
import org.keycloak.jose.jws.JWSHeader;
@@ -35,6 +30,11 @@ import org.keycloak.protocol.oidc.OIDCAdvancedConfigWrapper;
import org.keycloak.services.util.CertificateInfoHelper;
import org.keycloak.util.JsonSerialization;
+import java.security.PublicKey;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
/**
* Parse the parameters from OIDC "request" object
*
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestParser.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestParser.java
index e322d4b..82d2c95 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestParser.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/request/AuthzEndpointRequestParser.java
@@ -17,14 +17,14 @@
package org.keycloak.protocol.oidc.endpoints.request;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
import org.keycloak.constants.AdapterConstants;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.services.ServicesLogger;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/TokenEndpoint.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/TokenEndpoint.java
index a79e679..6d9df6c 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/TokenEndpoint.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/TokenEndpoint.java
@@ -19,12 +19,12 @@ package org.keycloak.protocol.oidc.endpoints;
import org.jboss.resteasy.spi.HttpRequest;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
import org.keycloak.OAuthErrorException;
import org.keycloak.authentication.AuthenticationProcessor;
-import org.keycloak.constants.AdapterConstants;
+import org.keycloak.common.ClientConnection;
import org.keycloak.common.constants.ServiceAccountConstants;
+import org.keycloak.constants.AdapterConstants;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventBuilder;
@@ -44,12 +44,12 @@ import org.keycloak.representations.AccessToken;
import org.keycloak.representations.AccessTokenResponse;
import org.keycloak.services.ErrorResponseException;
import org.keycloak.services.ServicesLogger;
+import org.keycloak.services.Urls;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.managers.ClientManager;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.resources.Cors;
-import org.keycloak.services.Urls;
import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/UserInfoEndpoint.java b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/UserInfoEndpoint.java
index 28d9514..739fd96 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/endpoints/UserInfoEndpoint.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/endpoints/UserInfoEndpoint.java
@@ -29,7 +29,12 @@ import org.keycloak.events.EventBuilder;
import org.keycloak.events.EventType;
import org.keycloak.jose.jws.Algorithm;
import org.keycloak.jose.jws.JWSBuilder;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientSessionModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserModel;
+import org.keycloak.models.UserSessionModel;
import org.keycloak.protocol.oidc.OIDCAdvancedConfigWrapper;
import org.keycloak.protocol.oidc.TokenManager;
import org.keycloak.representations.AccessToken;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/mappers/AbstractPairwiseSubMapper.java b/services/src/main/java/org/keycloak/protocol/oidc/mappers/AbstractPairwiseSubMapper.java
index e372c73..b2bbdcc 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/mappers/AbstractPairwiseSubMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/mappers/AbstractPairwiseSubMapper.java
@@ -1,10 +1,15 @@
package org.keycloak.protocol.oidc.mappers;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientSessionModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ProtocolMapperContainerModel;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserSessionModel;
import org.keycloak.protocol.ProtocolMapperConfigException;
-import org.keycloak.protocol.oidc.OIDCAdvancedConfigWrapper;
-import org.keycloak.protocol.oidc.utils.PairwiseSubMapperValidator;
import org.keycloak.protocol.oidc.utils.PairwiseSubMapperUtils;
+import org.keycloak.protocol.oidc.utils.PairwiseSubMapperValidator;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.IDToken;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/mappers/OIDCAttributeMapperHelper.java b/services/src/main/java/org/keycloak/protocol/oidc/mappers/OIDCAttributeMapperHelper.java
index f452261..0c05aa1 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/mappers/OIDCAttributeMapperHelper.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/mappers/OIDCAttributeMapperHelper.java
@@ -18,7 +18,6 @@
package org.keycloak.protocol.oidc.mappers;
import org.keycloak.models.ProtocolMapperModel;
-import org.keycloak.protocol.ProtocolMapper;
import org.keycloak.protocol.ProtocolMapperUtils;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.provider.ProviderConfigProperty;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/mappers/SHA256PairwiseSubMapper.java b/services/src/main/java/org/keycloak/protocol/oidc/mappers/SHA256PairwiseSubMapper.java
index 6135051..83b56a6 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/mappers/SHA256PairwiseSubMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/mappers/SHA256PairwiseSubMapper.java
@@ -14,7 +14,11 @@ import org.keycloak.services.ServicesLogger;
import java.nio.charset.Charset;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
-import java.util.*;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
public class SHA256PairwiseSubMapper extends AbstractPairwiseSubMapper {
public static final String PROVIDER_ID = "sha256";
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserAttributeMapper.java b/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserAttributeMapper.java
index f7475a9..56e7a48 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserAttributeMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserAttributeMapper.java
@@ -19,12 +19,10 @@ package org.keycloak.protocol.oidc.mappers;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.ProtocolMapperContainerModel;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.KeycloakModelUtils;
-import org.keycloak.protocol.ProtocolMapperConfigException;
import org.keycloak.protocol.ProtocolMapperUtils;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.AccessToken;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserSessionNoteMapper.java b/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserSessionNoteMapper.java
index b114567..0016103 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserSessionNoteMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/mappers/UserSessionNoteMapper.java
@@ -17,11 +17,6 @@
package org.keycloak.protocol.oidc.mappers;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
@@ -32,6 +27,11 @@ import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.IDToken;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* Mappings UserSessionModel.note to an ID Token claim.
*
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/OIDCClientDescriptionConverter.java b/services/src/main/java/org/keycloak/protocol/oidc/OIDCClientDescriptionConverter.java
index 392b3ce..6eb0c61 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/OIDCClientDescriptionConverter.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/OIDCClientDescriptionConverter.java
@@ -19,8 +19,8 @@ package org.keycloak.protocol.oidc;
import org.keycloak.exportimport.ClientDescriptionConverter;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.representations.oidc.OIDCClientRepresentation;
import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.representations.oidc.OIDCClientRepresentation;
import org.keycloak.services.clientregistration.oidc.DescriptionConverter;
import org.keycloak.util.JsonSerialization;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolFactory.java b/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolFactory.java
index 3b90eca..5e7d4a7 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolFactory.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolFactory.java
@@ -19,15 +19,29 @@ package org.keycloak.protocol.oidc;
import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.common.util.UriUtils;
import org.keycloak.events.EventBuilder;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientTemplateModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RealmModel;
import org.keycloak.protocol.AbstractLoginProtocolFactory;
import org.keycloak.protocol.LoginProtocol;
-import org.keycloak.protocol.oidc.mappers.*;
+import org.keycloak.protocol.oidc.mappers.AddressMapper;
+import org.keycloak.protocol.oidc.mappers.FullNameMapper;
+import org.keycloak.protocol.oidc.mappers.OIDCAttributeMapperHelper;
+import org.keycloak.protocol.oidc.mappers.UserAttributeMapper;
+import org.keycloak.protocol.oidc.mappers.UserPropertyMapper;
+import org.keycloak.protocol.oidc.mappers.UserSessionNoteMapper;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ClientTemplateRepresentation;
import org.keycloak.services.ServicesLogger;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolService.java b/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolService.java
index 7afec32..9e214df 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolService.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/OIDCLoginProtocolService.java
@@ -20,9 +20,10 @@ package org.keycloak.protocol.oidc;
import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.events.EventBuilder;
+import org.keycloak.forms.login.LoginFormsProvider;
+import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.jose.jwk.JWK;
import org.keycloak.jose.jwk.JWKBuilder;
-import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.protocol.oidc.endpoints.AuthorizationEndpoint;
@@ -30,7 +31,6 @@ import org.keycloak.protocol.oidc.endpoints.LoginStatusIframeEndpoint;
import org.keycloak.protocol.oidc.endpoints.LogoutEndpoint;
import org.keycloak.protocol.oidc.endpoints.TokenEndpoint;
import org.keycloak.protocol.oidc.endpoints.UserInfoEndpoint;
-import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.resources.RealmsResource;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java b/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java
index 2653b9b..c2f4296 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/OIDCWellKnownProvider.java
@@ -28,15 +28,14 @@ import org.keycloak.protocol.oidc.representations.OIDCConfigurationRepresentatio
import org.keycloak.protocol.oidc.utils.OIDCResponseType;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.representations.IDToken;
+import org.keycloak.services.Urls;
import org.keycloak.services.clientregistration.ClientRegistrationService;
import org.keycloak.services.clientregistration.oidc.OIDCClientRegistrationProviderFactory;
import org.keycloak.services.resources.RealmsResource;
-import org.keycloak.services.Urls;
import org.keycloak.wellknown.WellKnownProvider;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
-
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/TokenManager.java b/services/src/main/java/org/keycloak/protocol/oidc/TokenManager.java
index 40e5391..e8b4e11 100755
--- a/services/src/main/java/org/keycloak/protocol/oidc/TokenManager.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/TokenManager.java
@@ -17,10 +17,11 @@
package org.keycloak.protocol.oidc;
-import org.keycloak.cluster.ClusterProvider;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
import org.keycloak.OAuthErrorException;
+import org.keycloak.cluster.ClusterProvider;
+import org.keycloak.common.ClientConnection;
+import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventBuilder;
@@ -59,7 +60,6 @@ import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.managers.UserSessionManager;
import org.keycloak.util.TokenUtil;
-import org.keycloak.common.util.Time;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/utils/AuthorizeClientUtil.java b/services/src/main/java/org/keycloak/protocol/oidc/utils/AuthorizeClientUtil.java
index a7ba7c3..6e4498e 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/utils/AuthorizeClientUtil.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/utils/AuthorizeClientUtil.java
@@ -17,9 +17,6 @@
package org.keycloak.protocol.oidc.utils;
-import java.util.List;
-import java.util.Map;
-
import org.jboss.resteasy.spi.HttpRequest;
import org.keycloak.authentication.AuthenticationProcessor;
import org.keycloak.authentication.ClientAuthenticator;
@@ -35,6 +32,8 @@ import org.keycloak.services.ErrorResponseException;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
+import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/utils/JWKSHttpUtils.java b/services/src/main/java/org/keycloak/protocol/oidc/utils/JWKSHttpUtils.java
index d776062..8d1e4d6 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/utils/JWKSHttpUtils.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/utils/JWKSHttpUtils.java
@@ -17,10 +17,6 @@
package org.keycloak.protocol.oidc.utils;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.PublicKey;
-
import org.keycloak.common.util.StreamUtil;
import org.keycloak.connections.httpclient.HttpClientProvider;
import org.keycloak.jose.jwk.JSONWebKeySet;
@@ -29,6 +25,10 @@ import org.keycloak.jose.jwk.JWKParser;
import org.keycloak.models.KeycloakSession;
import org.keycloak.util.JsonSerialization;
+import java.io.IOException;
+import java.io.InputStream;
+import java.security.PublicKey;
+
/**
*
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCRedirectUriBuilder.java b/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCRedirectUriBuilder.java
index cffad4f..f2fdd0c 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCRedirectUriBuilder.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCRedirectUriBuilder.java
@@ -17,15 +17,14 @@
package org.keycloak.protocol.oidc.utils;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
+import org.keycloak.common.util.Encode;
+import org.keycloak.common.util.KeycloakUriBuilder;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.keycloak.common.util.Encode;
-import org.keycloak.common.util.KeycloakUriBuilder;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCResponseType.java b/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCResponseType.java
index c836a68..e423dc9 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCResponseType.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/utils/OIDCResponseType.java
@@ -17,12 +17,12 @@
package org.keycloak.protocol.oidc.utils;
+import org.keycloak.protocol.oidc.OIDCLoginProtocol;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.keycloak.protocol.oidc.OIDCLoginProtocol;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/utils/PairwiseSubMapperUtils.java b/services/src/main/java/org/keycloak/protocol/oidc/utils/PairwiseSubMapperUtils.java
index 313a06d..5184488 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/utils/PairwiseSubMapperUtils.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/utils/PairwiseSubMapperUtils.java
@@ -1,9 +1,6 @@
package org.keycloak.protocol.oidc.utils;
-import org.keycloak.models.ClientModel;
-import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper;
-import org.keycloak.protocol.oidc.mappers.PairwiseSubMapperHelper;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.services.ServicesLogger;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/utils/RedirectUtils.java b/services/src/main/java/org/keycloak/protocol/oidc/utils/RedirectUtils.java
index b7d9ad4..125769e 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/utils/RedirectUtils.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/utils/RedirectUtils.java
@@ -20,8 +20,8 @@ package org.keycloak.protocol.oidc.utils;
import org.keycloak.models.ClientModel;
import org.keycloak.models.Constants;
import org.keycloak.models.RealmModel;
-import org.keycloak.services.Urls;
import org.keycloak.services.ServicesLogger;
+import org.keycloak.services.Urls;
import javax.ws.rs.core.UriInfo;
import java.net.URI;
diff --git a/services/src/main/java/org/keycloak/protocol/oidc/utils/WebOriginsUtils.java b/services/src/main/java/org/keycloak/protocol/oidc/utils/WebOriginsUtils.java
index 7e9c126..f606bfc 100644
--- a/services/src/main/java/org/keycloak/protocol/oidc/utils/WebOriginsUtils.java
+++ b/services/src/main/java/org/keycloak/protocol/oidc/utils/WebOriginsUtils.java
@@ -17,8 +17,8 @@
package org.keycloak.protocol.oidc.utils;
-import org.keycloak.models.ClientModel;
import org.keycloak.common.util.UriUtils;
+import org.keycloak.models.ClientModel;
import javax.ws.rs.core.UriInfo;
import java.util.Set;
diff --git a/services/src/main/java/org/keycloak/protocol/ProtocolMapperUtils.java b/services/src/main/java/org/keycloak/protocol/ProtocolMapperUtils.java
index da73139..5c12615 100755
--- a/services/src/main/java/org/keycloak/protocol/ProtocolMapperUtils.java
+++ b/services/src/main/java/org/keycloak/protocol/ProtocolMapperUtils.java
@@ -22,7 +22,6 @@ import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.UserModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.OIDCLoginProtocolFactory;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.provider.ProviderFactory;
import java.lang.reflect.Method;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/installation/KeycloakSamlSubsystemInstallation.java b/services/src/main/java/org/keycloak/protocol/saml/installation/KeycloakSamlSubsystemInstallation.java
index 022787c..1310ea4 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/installation/KeycloakSamlSubsystemInstallation.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/installation/KeycloakSamlSubsystemInstallation.java
@@ -25,11 +25,9 @@ import org.keycloak.models.RealmModel;
import org.keycloak.protocol.ClientInstallationProvider;
import org.keycloak.protocol.saml.SamlClient;
import org.keycloak.protocol.saml.SamlProtocol;
-import org.keycloak.services.resources.RealmsResource;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
import java.net.URI;
/**
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/AttributeStatementHelper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/AttributeStatementHelper.java
index 93e9611..59ddd49 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/AttributeStatementHelper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/AttributeStatementHelper.java
@@ -17,13 +17,13 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
+import org.keycloak.dom.saml.v2.assertion.AttributeType;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.protocol.ProtocolMapperUtils;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.protocol.saml.SamlProtocol;
+import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
-import org.keycloak.dom.saml.v2.assertion.AttributeType;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedAttributeMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedAttributeMapper.java
index 2de1a81..b8a6231 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedAttributeMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedAttributeMapper.java
@@ -17,11 +17,11 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.provider.ProviderConfigProperty;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedRole.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedRole.java
index 7f55f6f..9efead2 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedRole.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/HardcodedRole.java
@@ -18,8 +18,8 @@
package org.keycloak.protocol.saml.mappers;
import org.keycloak.models.ProtocolMapperModel;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.protocol.saml.SamlProtocol;
+import org.keycloak.provider.ProviderConfigProperty;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleListMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleListMapper.java
index 9e452cc..0f9fdeb 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleListMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleListMapper.java
@@ -17,6 +17,8 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
+import org.keycloak.dom.saml.v2.assertion.AttributeType;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
@@ -24,10 +26,8 @@ import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.protocol.ProtocolMapper;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.protocol.saml.SamlProtocol;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
-import org.keycloak.dom.saml.v2.assertion.AttributeType;
+import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.services.managers.ClientSessionCode;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleNameMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleNameMapper.java
index 99e4cd3..407ea42 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleNameMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/RoleNameMapper.java
@@ -18,10 +18,15 @@
package org.keycloak.protocol.saml.mappers;
import org.keycloak.Config;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RoleContainerModel;
+import org.keycloak.models.RoleModel;
import org.keycloak.protocol.ProtocolMapper;
-import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.protocol.saml.SamlProtocol;
+import org.keycloak.provider.ProviderConfigProperty;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLAttributeStatementMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLAttributeStatementMapper.java
index 3dc484d..48edfaa 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLAttributeStatementMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLAttributeStatementMapper.java
@@ -17,11 +17,11 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLLoginResponseMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLLoginResponseMapper.java
index eedc326..cf5c9c8 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLLoginResponseMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLLoginResponseMapper.java
@@ -17,11 +17,11 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLRoleListMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLRoleListMapper.java
index c6d6ebb..a822d8c 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLRoleListMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/SAMLRoleListMapper.java
@@ -17,11 +17,11 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/UserAttributeStatementMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/UserAttributeStatementMapper.java
index 5043eb6..2340191 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/UserAttributeStatementMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/UserAttributeStatementMapper.java
@@ -17,6 +17,7 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
@@ -24,7 +25,6 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.protocol.ProtocolMapperUtils;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.provider.ProviderConfigProperty;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/mappers/UserPropertyAttributeStatementMapper.java b/services/src/main/java/org/keycloak/protocol/saml/mappers/UserPropertyAttributeStatementMapper.java
index fb57a06..fd0de2a 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/mappers/UserPropertyAttributeStatementMapper.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/mappers/UserPropertyAttributeStatementMapper.java
@@ -17,13 +17,13 @@
package org.keycloak.protocol.saml.mappers;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.protocol.ProtocolMapperUtils;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
import org.keycloak.provider.ProviderConfigProperty;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/profile/ecp/authenticator/HttpBasicAuthenticator.java b/services/src/main/java/org/keycloak/protocol/saml/profile/ecp/authenticator/HttpBasicAuthenticator.java
index d1404c2..ddaec72 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/profile/ecp/authenticator/HttpBasicAuthenticator.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/profile/ecp/authenticator/HttpBasicAuthenticator.java
@@ -25,8 +25,12 @@ import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
import org.keycloak.common.util.Base64;
import org.keycloak.events.Errors;
-import org.keycloak.models.*;
import org.keycloak.models.AuthenticationExecutionModel.Requirement;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserCredentialModel;
+import org.keycloak.models.UserModel;
import org.keycloak.provider.ProviderConfigProperty;
import javax.ws.rs.core.HttpHeaders;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/SamlProtocol.java b/services/src/main/java/org/keycloak/protocol/saml/SamlProtocol.java
index 42fd549..9751c6b 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/SamlProtocol.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/SamlProtocol.java
@@ -17,23 +17,6 @@
package org.keycloak.protocol.saml;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.security.PublicKey;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
-
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
@@ -77,6 +60,22 @@ import org.keycloak.services.messages.Messages;
import org.keycloak.services.resources.RealmsResource;
import org.w3c.dom.Document;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+import javax.ws.rs.core.UriInfo;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.security.PublicKey;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/services/src/main/java/org/keycloak/protocol/saml/SamlProtocolUtils.java b/services/src/main/java/org/keycloak/protocol/saml/SamlProtocolUtils.java
index dfc51a3..e1a7c98 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/SamlProtocolUtils.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/SamlProtocolUtils.java
@@ -18,13 +18,13 @@
package org.keycloak.protocol.saml;
import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.PemUtils;
import org.keycloak.models.ClientModel;
import org.keycloak.saml.SignatureAlgorithm;
import org.keycloak.saml.common.constants.GeneralConstants;
import org.keycloak.saml.common.exceptions.ProcessingException;
import org.keycloak.saml.processing.api.saml.v2.sig.SAML2Signature;
import org.keycloak.saml.processing.web.util.RedirectBindingUtil;
-import org.keycloak.common.util.PemUtils;
import org.w3c.dom.Document;
import javax.ws.rs.core.MultivaluedMap;
diff --git a/services/src/main/java/org/keycloak/protocol/saml/SamlService.java b/services/src/main/java/org/keycloak/protocol/saml/SamlService.java
index 89cadb8..cff68ae 100755
--- a/services/src/main/java/org/keycloak/protocol/saml/SamlService.java
+++ b/services/src/main/java/org/keycloak/protocol/saml/SamlService.java
@@ -17,23 +17,6 @@
package org.keycloak.protocol.saml;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.security.PublicKey;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
import org.jboss.logging.Logger;
import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
@@ -68,6 +51,22 @@ import org.keycloak.services.messages.Messages;
import org.keycloak.services.resources.RealmsResource;
import org.keycloak.services.util.CacheControlUtil;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.security.PublicKey;
+
/**
* Resource class for the oauth/openid connect token service
*
diff --git a/services/src/main/java/org/keycloak/services/clientregistration/AbstractClientRegistrationProvider.java b/services/src/main/java/org/keycloak/services/clientregistration/AbstractClientRegistrationProvider.java
index 2fe7902..d234bb3 100755
--- a/services/src/main/java/org/keycloak/services/clientregistration/AbstractClientRegistrationProvider.java
+++ b/services/src/main/java/org/keycloak/services/clientregistration/AbstractClientRegistrationProvider.java
@@ -19,7 +19,11 @@ package org.keycloak.services.clientregistration;
import org.keycloak.events.EventBuilder;
import org.keycloak.events.EventType;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientInitialAccessModel;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientRegistrationTrustedHostModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ModelDuplicateException;
import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.representations.idm.ClientRepresentation;
diff --git a/services/src/main/java/org/keycloak/services/clientregistration/ClientRegistrationHostUtils.java b/services/src/main/java/org/keycloak/services/clientregistration/ClientRegistrationHostUtils.java
index 93cd984..e43a68e 100644
--- a/services/src/main/java/org/keycloak/services/clientregistration/ClientRegistrationHostUtils.java
+++ b/services/src/main/java/org/keycloak/services/clientregistration/ClientRegistrationHostUtils.java
@@ -17,15 +17,15 @@
package org.keycloak.services.clientregistration;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.List;
-
import org.jboss.logging.Logger;
import org.keycloak.models.ClientRegistrationTrustedHostModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/services/clientregistration/DefaultClientRegistrationProvider.java b/services/src/main/java/org/keycloak/services/clientregistration/DefaultClientRegistrationProvider.java
index 63f9fef..cdcc8ee 100755
--- a/services/src/main/java/org/keycloak/services/clientregistration/DefaultClientRegistrationProvider.java
+++ b/services/src/main/java/org/keycloak/services/clientregistration/DefaultClientRegistrationProvider.java
@@ -23,7 +23,14 @@ import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.services.validation.PairwiseClientValidator;
import org.keycloak.services.validation.ValidationMessages;
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.net.URI;
diff --git a/services/src/main/java/org/keycloak/services/clientregistration/oidc/OIDCClientRegistrationProvider.java b/services/src/main/java/org/keycloak/services/clientregistration/oidc/OIDCClientRegistrationProvider.java
index f797a78..8510642 100755
--- a/services/src/main/java/org/keycloak/services/clientregistration/oidc/OIDCClientRegistrationProvider.java
+++ b/services/src/main/java/org/keycloak/services/clientregistration/oidc/OIDCClientRegistrationProvider.java
@@ -27,9 +27,9 @@ import org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapper;
import org.keycloak.protocol.oidc.mappers.PairwiseSubMapperHelper;
import org.keycloak.protocol.oidc.mappers.SHA256PairwiseSubMapper;
import org.keycloak.protocol.oidc.utils.SubjectType;
+import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.representations.oidc.OIDCClientRepresentation;
-import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.services.ErrorResponseException;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.clientregistration.AbstractClientRegistrationProvider;
diff --git a/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java b/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java
index 3bb9586..f58f4ca 100755
--- a/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java
+++ b/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java
@@ -19,7 +19,11 @@ package org.keycloak.services;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.common.ClientConnection;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.KeycloakContext;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserModel;
import org.keycloak.models.utils.RealmImporter;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.resources.KeycloakApplication;
diff --git a/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java b/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java
index b1ae4dd..0b971d2 100644
--- a/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java
+++ b/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java
@@ -16,9 +16,16 @@
*/
package org.keycloak.services;
-import org.keycloak.credential.UserCredentialStore;
import org.keycloak.credential.UserCredentialStoreManager;
-import org.keycloak.models.*;
+import org.keycloak.models.KeycloakContext;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.models.KeycloakTransactionManager;
+import org.keycloak.models.RealmProvider;
+import org.keycloak.models.UserCredentialManager;
+import org.keycloak.models.UserFederationManager;
+import org.keycloak.models.UserProvider;
+import org.keycloak.models.UserSessionProvider;
import org.keycloak.models.cache.CacheRealmProvider;
import org.keycloak.models.cache.UserCache;
import org.keycloak.provider.Provider;
@@ -27,8 +34,12 @@ import org.keycloak.scripting.ScriptingProvider;
import org.keycloak.storage.UserStorageManager;
import org.keycloak.storage.federated.UserFederatedStorageProvider;
-import javax.transaction.TransactionManager;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/services/DefaultKeycloakSessionFactory.java b/services/src/main/java/org/keycloak/services/DefaultKeycloakSessionFactory.java
index 808b413..9cdb065 100755
--- a/services/src/main/java/org/keycloak/services/DefaultKeycloakSessionFactory.java
+++ b/services/src/main/java/org/keycloak/services/DefaultKeycloakSessionFactory.java
@@ -29,11 +29,7 @@ import org.keycloak.provider.ProviderManager;
import org.keycloak.provider.ProviderManagerDeployer;
import org.keycloak.provider.ProviderManagerRegistry;
import org.keycloak.provider.Spi;
-import org.keycloak.transaction.JtaRegistration;
-import org.keycloak.transaction.JtaTransactionManagerLookup;
-import org.keycloak.transaction.JtaTransactionWrapper;
-import javax.transaction.TransactionManager;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
diff --git a/services/src/main/java/org/keycloak/services/ErrorResponseException.java b/services/src/main/java/org/keycloak/services/ErrorResponseException.java
index 538374c..07c3bf5 100644
--- a/services/src/main/java/org/keycloak/services/ErrorResponseException.java
+++ b/services/src/main/java/org/keycloak/services/ErrorResponseException.java
@@ -17,14 +17,11 @@
package org.keycloak.services;
-import org.keycloak.OAuth2Constants;
import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import java.util.HashMap;
-import java.util.Map;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java b/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java
index 9d374a2..bd1eabd 100755
--- a/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java
+++ b/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java
@@ -19,7 +19,13 @@ package org.keycloak.services.managers;
import org.keycloak.Config;
import org.keycloak.common.Version;
import org.keycloak.common.enums.SslRequired;
-import org.keycloak.models.*;
+import org.keycloak.models.AdminRoles;
+import org.keycloak.models.Constants;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserCredentialModel;
+import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.services.ServicesLogger;
diff --git a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
index b188501..2177a9b 100755
--- a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
@@ -18,21 +18,31 @@ package org.keycloak.services.managers;
import org.jboss.resteasy.specimpl.MultivaluedMapImpl;
import org.jboss.resteasy.spi.HttpRequest;
-import org.keycloak.common.ClientConnection;
import org.keycloak.RSATokenVerifier;
-import org.keycloak.common.VerificationException;
import org.keycloak.authentication.RequiredActionContext;
import org.keycloak.authentication.RequiredActionContextResult;
import org.keycloak.authentication.RequiredActionFactory;
import org.keycloak.authentication.RequiredActionProvider;
import org.keycloak.broker.provider.IdentityProvider;
+import org.keycloak.common.ClientConnection;
+import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventBuilder;
import org.keycloak.events.EventType;
-import org.keycloak.jose.jws.JWSBuilder;
import org.keycloak.forms.login.LoginFormsProvider;
-import org.keycloak.models.*;
+import org.keycloak.jose.jws.JWSBuilder;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.ClientSessionModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RequiredActionProviderModel;
+import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserConsentModel;
+import org.keycloak.models.UserModel;
+import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.protocol.LoginProtocol;
import org.keycloak.protocol.LoginProtocol.Error;
@@ -44,10 +54,14 @@ import org.keycloak.services.messages.Messages;
import org.keycloak.services.resources.IdentityBrokerService;
import org.keycloak.services.resources.RealmsResource;
import org.keycloak.services.util.CookieHelper;
-import org.keycloak.common.util.Time;
import org.keycloak.services.util.P3PHelper;
-import javax.ws.rs.core.*;
+import javax.ws.rs.core.Cookie;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.NewCookie;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
import java.net.URI;
import java.util.LinkedList;
import java.util.List;
diff --git a/services/src/main/java/org/keycloak/services/managers/ClientManager.java b/services/src/main/java/org/keycloak/services/managers/ClientManager.java
index 3de62db..707dc34 100644
--- a/services/src/main/java/org/keycloak/services/managers/ClientManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/ClientManager.java
@@ -21,6 +21,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import org.keycloak.authentication.ClientAuthenticator;
import org.keycloak.authentication.ClientAuthenticatorFactory;
import org.keycloak.common.constants.ServiceAccountConstants;
+import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
@@ -34,7 +35,6 @@ import org.keycloak.protocol.LoginProtocolFactory;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.mappers.UserSessionNoteMapper;
import org.keycloak.representations.adapters.config.BaseRealmConfig;
-import org.keycloak.common.util.Time;
import org.keycloak.representations.adapters.config.PolicyEnforcerConfig;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.services.ServicesLogger;
diff --git a/services/src/main/java/org/keycloak/services/managers/DefaultBruteForceProtector.java b/services/src/main/java/org/keycloak/services/managers/DefaultBruteForceProtector.java
index 2e809d1..33c81c1 100644
--- a/services/src/main/java/org/keycloak/services/managers/DefaultBruteForceProtector.java
+++ b/services/src/main/java/org/keycloak/services/managers/DefaultBruteForceProtector.java
@@ -22,8 +22,8 @@ import org.keycloak.common.util.Time;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserModel;
import org.keycloak.models.UserLoginFailureModel;
+import org.keycloak.models.UserModel;
import org.keycloak.services.ServicesLogger;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/services/managers/LDAPConnectionTestManager.java b/services/src/main/java/org/keycloak/services/managers/LDAPConnectionTestManager.java
index e4c7ce6..b62d1d9 100755
--- a/services/src/main/java/org/keycloak/services/managers/LDAPConnectionTestManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/LDAPConnectionTestManager.java
@@ -16,14 +16,14 @@
*/
package org.keycloak.services.managers;
+import org.keycloak.models.LDAPConstants;
+import org.keycloak.services.ServicesLogger;
+
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.ldap.InitialLdapContext;
import java.util.Hashtable;
-import org.keycloak.models.LDAPConstants;
-import org.keycloak.services.ServicesLogger;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/services/managers/RealmManager.java b/services/src/main/java/org/keycloak/services/managers/RealmManager.java
index 1add03d..39abe85 100755
--- a/services/src/main/java/org/keycloak/services/managers/RealmManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/RealmManager.java
@@ -18,27 +18,29 @@ package org.keycloak.services.managers;
import org.keycloak.Config;
import org.keycloak.common.enums.SslRequired;
-import org.keycloak.models.PasswordPolicy;
-import org.keycloak.models.session.UserSessionPersisterProvider;
-import org.keycloak.models.utils.RealmImporter;
import org.keycloak.models.AccountRoles;
import org.keycloak.models.AdminRoles;
-import org.keycloak.models.ClientModel;
import org.keycloak.models.BrowserSecurityHeaders;
+import org.keycloak.models.ClientModel;
import org.keycloak.models.Constants;
import org.keycloak.models.ImpersonationConstants;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.OTPPolicy;
+import org.keycloak.models.PasswordPolicy;
+import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RealmProvider;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionProvider;
+import org.keycloak.models.session.UserSessionPersisterProvider;
import org.keycloak.models.utils.DefaultAuthenticationFlows;
import org.keycloak.models.utils.DefaultRequiredActions;
import org.keycloak.models.utils.KeycloakModelUtils;
+import org.keycloak.models.utils.RealmImporter;
import org.keycloak.models.utils.RepresentationToModel;
+import org.keycloak.protocol.ProtocolMapperUtils;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.OIDCLoginProtocolFactory;
import org.keycloak.representations.idm.ApplicationRepresentation;
@@ -52,9 +54,6 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
-import org.keycloak.models.ProtocolMapperModel;
-import org.keycloak.protocol.ProtocolMapperUtils;
-
/**
* Per request object
*
diff --git a/services/src/main/java/org/keycloak/services/managers/ResourceAdminManager.java b/services/src/main/java/org/keycloak/services/managers/ResourceAdminManager.java
index c060370..2e21465 100755
--- a/services/src/main/java/org/keycloak/services/managers/ResourceAdminManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/ResourceAdminManager.java
@@ -17,6 +17,10 @@
package org.keycloak.services.managers;
import org.keycloak.TokenIdGenerator;
+import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.common.util.MultivaluedHashMap;
+import org.keycloak.common.util.StringPropertyReplacer;
+import org.keycloak.common.util.Time;
import org.keycloak.connections.httpclient.HttpClientProvider;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.models.ClientModel;
@@ -32,10 +36,6 @@ import org.keycloak.representations.adapters.action.PushNotBeforeAction;
import org.keycloak.representations.adapters.action.TestAvailabilityAction;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.util.ResolveRelative;
-import org.keycloak.common.util.KeycloakUriBuilder;
-import org.keycloak.common.util.MultivaluedHashMap;
-import org.keycloak.common.util.StringPropertyReplacer;
-import org.keycloak.common.util.Time;
import javax.ws.rs.core.UriBuilder;
import java.io.IOException;
diff --git a/services/src/main/java/org/keycloak/services/managers/UserSessionManager.java b/services/src/main/java/org/keycloak/services/managers/UserSessionManager.java
index e764adf..639668f 100644
--- a/services/src/main/java/org/keycloak/services/managers/UserSessionManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/UserSessionManager.java
@@ -16,11 +16,6 @@
*/
package org.keycloak.services.managers;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
@@ -34,6 +29,11 @@ import org.keycloak.models.UserSessionModel;
import org.keycloak.models.session.UserSessionPersisterProvider;
import org.keycloak.services.ServicesLogger;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
/**
*
diff --git a/services/src/main/java/org/keycloak/services/managers/UsersSyncManager.java b/services/src/main/java/org/keycloak/services/managers/UsersSyncManager.java
index 3f85a87..7d390ba 100755
--- a/services/src/main/java/org/keycloak/services/managers/UsersSyncManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/UsersSyncManager.java
@@ -33,8 +33,6 @@ import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.services.ServicesLogger;
import org.keycloak.timer.TimerProvider;
-
-import java.io.Serializable;
import java.util.List;
import java.util.concurrent.Callable;
diff --git a/services/src/main/java/org/keycloak/services/migration/DefaultMigrationProvider.java b/services/src/main/java/org/keycloak/services/migration/DefaultMigrationProvider.java
index ee6fcb9..0f0a944 100755
--- a/services/src/main/java/org/keycloak/services/migration/DefaultMigrationProvider.java
+++ b/services/src/main/java/org/keycloak/services/migration/DefaultMigrationProvider.java
@@ -17,11 +17,6 @@
package org.keycloak.services.migration;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.migration.MigrationProvider;
import org.keycloak.models.ClaimMask;
import org.keycloak.models.KeycloakSession;
@@ -35,6 +30,11 @@ import org.keycloak.provider.ProviderFactory;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.services.managers.RealmManager;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* Various common utils needed for migration from older version to newer
*
diff --git a/services/src/main/java/org/keycloak/services/resources/AbstractSecuredLocalService.java b/services/src/main/java/org/keycloak/services/resources/AbstractSecuredLocalService.java
index 2a8c0bb..17b4995 100755
--- a/services/src/main/java/org/keycloak/services/resources/AbstractSecuredLocalService.java
+++ b/services/src/main/java/org/keycloak/services/resources/AbstractSecuredLocalService.java
@@ -19,9 +19,10 @@ package org.keycloak.services.resources;
import org.jboss.resteasy.spi.BadRequestException;
import org.jboss.resteasy.spi.HttpRequest;
import org.keycloak.AbstractOAuthClient;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
+import org.keycloak.common.ClientConnection;
import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -33,7 +34,6 @@ import org.keycloak.services.managers.AppAuthManager;
import org.keycloak.services.managers.Auth;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.util.CookieHelper;
-import org.keycloak.common.util.UriUtils;
import org.keycloak.util.TokenUtil;
import javax.ws.rs.GET;
diff --git a/services/src/main/java/org/keycloak/services/resources/AccountService.java b/services/src/main/java/org/keycloak/services/resources/AccountService.java
index 36f643f..2ba74ca 100755
--- a/services/src/main/java/org/keycloak/services/resources/AccountService.java
+++ b/services/src/main/java/org/keycloak/services/resources/AccountService.java
@@ -16,16 +16,16 @@
*/
package org.keycloak.services.resources;
-import org.keycloak.credential.CredentialInput;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.credential.CredentialModel;
-import org.keycloak.events.Errors;
-import org.keycloak.forms.account.AccountPages;
-import org.keycloak.forms.account.AccountProvider;
import org.keycloak.events.Details;
+import org.keycloak.events.Errors;
import org.keycloak.events.Event;
import org.keycloak.events.EventBuilder;
import org.keycloak.events.EventStoreProvider;
import org.keycloak.events.EventType;
+import org.keycloak.forms.account.AccountPages;
+import org.keycloak.forms.account.AccountProvider;
import org.keycloak.forms.login.LoginFormsProvider;
import org.keycloak.models.AccountRoles;
import org.keycloak.models.ClientModel;
@@ -38,18 +38,13 @@ import org.keycloak.models.ModelException;
import org.keycloak.models.ModelReadOnlyException;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
-import org.keycloak.models.UserFederationProvider;
-import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.CredentialValidation;
import org.keycloak.models.utils.FormMessage;
-import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.utils.RedirectUtils;
-import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.services.ForbiddenException;
import org.keycloak.services.ServicesLogger;
@@ -62,7 +57,6 @@ import org.keycloak.services.managers.UserSessionManager;
import org.keycloak.services.messages.Messages;
import org.keycloak.services.util.ResolveRelative;
import org.keycloak.services.validation.Validation;
-import org.keycloak.common.util.UriUtils;
import org.keycloak.util.JsonSerialization;
import javax.ws.rs.Consumes;
@@ -77,13 +71,11 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.core.Variant;
-
import java.io.IOException;
import java.lang.reflect.Method;
import java.net.URI;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java b/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
index d2a5945..afbec5f 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
@@ -24,10 +24,6 @@ import org.jboss.resteasy.spi.NotFoundException;
import org.keycloak.Config;
import org.keycloak.common.ClientConnection;
import org.keycloak.common.Version;
-import org.keycloak.theme.BrowserSecurityHeaderSetup;
-import org.keycloak.theme.FreeMarkerException;
-import org.keycloak.theme.FreeMarkerUtil;
-import org.keycloak.theme.Theme;
import org.keycloak.models.AdminRoles;
import org.keycloak.models.ClientModel;
import org.keycloak.models.Constants;
@@ -37,17 +33,22 @@ import org.keycloak.models.RoleModel;
import org.keycloak.models.UserModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.services.ServicesLogger;
+import org.keycloak.services.Urls;
import org.keycloak.services.managers.AppAuthManager;
-import org.keycloak.services.managers.ClientManager;
import org.keycloak.services.managers.AuthenticationManager;
+import org.keycloak.services.managers.ClientManager;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.resources.KeycloakApplication;
-import org.keycloak.services.Urls;
+import org.keycloak.theme.BrowserSecurityHeaderSetup;
+import org.keycloak.theme.FreeMarkerException;
+import org.keycloak.theme.FreeMarkerUtil;
+import org.keycloak.theme.Theme;
import org.keycloak.utils.MediaType;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;
@@ -56,8 +57,13 @@ import javax.ws.rs.ext.Providers;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.*;
-import javax.ws.rs.QueryParam;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/AdminEventBuilder.java b/services/src/main/java/org/keycloak/services/resources/admin/AdminEventBuilder.java
index f4f2c89..0fa484d 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/AdminEventBuilder.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/AdminEventBuilder.java
@@ -16,11 +16,8 @@
*/
package org.keycloak.services.resources.admin;
-import java.io.IOException;
-import java.util.LinkedList;
-import java.util.List;
-
import org.keycloak.common.ClientConnection;
+import org.keycloak.common.util.Time;
import org.keycloak.events.EventListenerProvider;
import org.keycloak.events.EventStoreProvider;
import org.keycloak.events.admin.AdminEvent;
@@ -33,9 +30,11 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.services.ServicesLogger;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.Time;
import javax.ws.rs.core.UriInfo;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
public class AdminEventBuilder {
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/AttackDetectionResource.java b/services/src/main/java/org/keycloak/services/resources/admin/AttackDetectionResource.java
index bf92524..b02dbb4 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/AttackDetectionResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/AttackDetectionResource.java
@@ -22,8 +22,8 @@ import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserModel;
import org.keycloak.models.UserLoginFailureModel;
+import org.keycloak.models.UserModel;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.BruteForceProtector;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClientAttributeCertificateResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClientAttributeCertificateResource.java
index 6fd30ce..aa1f089 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClientAttributeCertificateResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClientAttributeCertificateResource.java
@@ -22,6 +22,7 @@ import org.jboss.resteasy.plugins.providers.multipart.InputPart;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
import org.jboss.resteasy.spi.NotAcceptableException;
import org.jboss.resteasy.spi.NotFoundException;
+import org.keycloak.common.util.PemUtils;
import org.keycloak.common.util.StreamUtil;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
@@ -36,7 +37,6 @@ import org.keycloak.protocol.oidc.utils.JWKSHttpUtils;
import org.keycloak.representations.KeyStoreConfig;
import org.keycloak.representations.idm.CertificateRepresentation;
import org.keycloak.services.ErrorResponseException;
-import org.keycloak.common.util.PemUtils;
import org.keycloak.services.util.CertificateInfoHelper;
import org.keycloak.util.JWKSUtils;
import org.keycloak.util.JsonSerialization;
@@ -50,7 +50,6 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClientInitialAccessResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClientInitialAccessResource.java
index 696af18..532bffc 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClientInitialAccessResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClientInitialAccessResource.java
@@ -27,8 +27,18 @@ import org.keycloak.representations.idm.ClientInitialAccessPresentation;
import org.keycloak.services.clientregistration.ClientRegistrationTokenUtils;
import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.*;
-import javax.ws.rs.core.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
import java.util.LinkedList;
import java.util.List;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClientRegistrationTrustedHostResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClientRegistrationTrustedHostResource.java
index 000885f..b1dfbfd 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClientRegistrationTrustedHostResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClientRegistrationTrustedHostResource.java
@@ -17,10 +17,16 @@
package org.keycloak.services.resources.admin;
-import java.util.LinkedList;
-import java.util.List;
+import org.jboss.resteasy.spi.NotFoundException;
+import org.keycloak.events.admin.OperationType;
+import org.keycloak.events.admin.ResourceType;
+import org.keycloak.models.ClientRegistrationTrustedHostModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ModelDuplicateException;
+import org.keycloak.models.RealmModel;
+import org.keycloak.representations.idm.ClientRegistrationTrustedHostRepresentation;
+import org.keycloak.services.ErrorResponse;
-import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -30,20 +36,11 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
-import org.jboss.resteasy.spi.NotFoundException;
-import org.keycloak.events.admin.OperationType;
-import org.keycloak.events.admin.ResourceType;
-import org.keycloak.models.ClientRegistrationTrustedHostModel;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.ModelDuplicateException;
-import org.keycloak.models.RealmModel;
-import org.keycloak.representations.idm.ClientRegistrationTrustedHostRepresentation;
-import org.keycloak.services.ErrorResponse;
+import java.util.LinkedList;
+import java.util.List;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClientResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClientResource.java
index 5095c39..1352431 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClientResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClientResource.java
@@ -21,6 +21,7 @@ import org.jboss.resteasy.spi.BadRequestException;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.authorization.admin.AuthorizationService;
import org.keycloak.common.Profile;
+import org.keycloak.common.util.Time;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import org.keycloak.models.ClientModel;
@@ -40,6 +41,7 @@ import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.idm.UserSessionRepresentation;
+import org.keycloak.services.ErrorResponse;
import org.keycloak.services.ErrorResponseException;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.clientregistration.ClientRegistrationTokenUtils;
@@ -47,8 +49,6 @@ import org.keycloak.services.managers.ClientManager;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.managers.ResourceAdminManager;
import org.keycloak.services.resources.KeycloakApplication;
-import org.keycloak.services.ErrorResponse;
-import org.keycloak.common.util.Time;
import org.keycloak.services.validation.ClientValidator;
import org.keycloak.services.validation.PairwiseClientValidator;
import org.keycloak.services.validation.ValidationMessages;
@@ -68,8 +68,11 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
import static java.lang.Boolean.TRUE;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClientRoleMappingsResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClientRoleMappingsResource.java
index 11fe9ef..9b6c795 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClientRoleMappingsResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClientRoleMappingsResource.java
@@ -40,7 +40,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashSet;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClientsResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClientsResource.java
index 1be0cac..237239c 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClientsResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClientsResource.java
@@ -34,12 +34,17 @@ import org.keycloak.services.validation.ClientValidator;
import org.keycloak.services.validation.PairwiseClientValidator;
import org.keycloak.services.validation.ValidationMessages;
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ClientTemplatesResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ClientTemplatesResource.java
index 46bcb55..fb8a970 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ClientTemplatesResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ClientTemplatesResource.java
@@ -17,7 +17,6 @@
package org.keycloak.services.resources.admin;
import org.jboss.resteasy.annotations.cache.NoCache;
-import org.jboss.resteasy.spi.NotFoundException;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ComponentResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ComponentResource.java
index 4ba8fa3..f3e099a 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/ComponentResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ComponentResource.java
@@ -24,7 +24,6 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.models.utils.RepresentationToModel;
-import org.keycloak.protocol.oidc.TokenManager;
import org.keycloak.representations.idm.ComponentRepresentation;
import org.keycloak.services.ServicesLogger;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/IdentityProviderResource.java b/services/src/main/java/org/keycloak/services/resources/admin/IdentityProviderResource.java
index fa7355d..4c40991 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/IdentityProviderResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/IdentityProviderResource.java
@@ -21,6 +21,7 @@ import org.jboss.resteasy.spi.NotFoundException;
import org.keycloak.broker.provider.IdentityProvider;
import org.keycloak.broker.provider.IdentityProviderFactory;
import org.keycloak.broker.provider.IdentityProviderMapper;
+import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import org.keycloak.models.FederatedIdentityModel;
@@ -41,7 +42,6 @@ import org.keycloak.representations.idm.IdentityProviderMapperTypeRepresentation
import org.keycloak.representations.idm.IdentityProviderRepresentation;
import org.keycloak.services.ErrorResponse;
import org.keycloak.services.ServicesLogger;
-import org.keycloak.broker.social.SocialIdentityProvider;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -56,7 +56,6 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/IdentityProvidersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/IdentityProvidersResource.java
index 8e7c9ac..05f1f9e 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/IdentityProvidersResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/IdentityProvidersResource.java
@@ -23,6 +23,7 @@ import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.broker.provider.IdentityProvider;
import org.keycloak.broker.provider.IdentityProviderFactory;
+import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.connections.httpclient.HttpClientProvider;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
@@ -35,7 +36,6 @@ import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.representations.idm.IdentityProviderRepresentation;
import org.keycloak.services.ErrorResponse;
-import org.keycloak.broker.social.SocialIdentityProvider;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.Consumes;
@@ -48,7 +48,6 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java
index 638e657..9a87030 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java
@@ -17,53 +17,53 @@
package org.keycloak.services.resources.admin.info;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.ServiceLoader;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-
import org.keycloak.broker.provider.IdentityProvider;
import org.keycloak.broker.provider.IdentityProviderFactory;
-import org.keycloak.common.util.MultivaluedHashMap;
+import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.events.EventType;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
-import org.keycloak.models.PasswordPolicy;
-import org.keycloak.policy.PasswordPolicyProvider;
-import org.keycloak.policy.PasswordPolicyProviderFactory;
-import org.keycloak.provider.*;
-import org.keycloak.representations.idm.ComponentTypeRepresentation;
-import org.keycloak.representations.idm.PasswordPolicyTypeRepresentation;
-import org.keycloak.representations.info.ProfileInfoRepresentation;
-import org.keycloak.theme.Theme;
-import org.keycloak.theme.ThemeProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.utils.ModelToRepresentation;
+import org.keycloak.policy.PasswordPolicyProvider;
+import org.keycloak.policy.PasswordPolicyProviderFactory;
import org.keycloak.protocol.ClientInstallationProvider;
import org.keycloak.protocol.LoginProtocol;
import org.keycloak.protocol.LoginProtocolFactory;
import org.keycloak.protocol.ProtocolMapper;
+import org.keycloak.provider.ConfiguredProvider;
+import org.keycloak.provider.ProviderConfigProperty;
+import org.keycloak.provider.ProviderFactory;
+import org.keycloak.provider.ServerInfoAwareProviderFactory;
+import org.keycloak.provider.Spi;
+import org.keycloak.representations.idm.ComponentTypeRepresentation;
import org.keycloak.representations.idm.ConfigPropertyRepresentation;
+import org.keycloak.representations.idm.PasswordPolicyTypeRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.representations.idm.ProtocolMapperTypeRepresentation;
-import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.representations.info.ClientInstallationRepresentation;
import org.keycloak.representations.info.MemoryInfoRepresentation;
+import org.keycloak.representations.info.ProfileInfoRepresentation;
import org.keycloak.representations.info.ProviderRepresentation;
import org.keycloak.representations.info.ServerInfoRepresentation;
import org.keycloak.representations.info.SpiInfoRepresentation;
import org.keycloak.representations.info.SystemInfoRepresentation;
import org.keycloak.representations.info.ThemeInfoRepresentation;
+import org.keycloak.theme.Theme;
+import org.keycloak.theme.ThemeProvider;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ProtocolMappersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ProtocolMappersResource.java
index 8040820..955fa13 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ProtocolMappersResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ProtocolMappersResource.java
@@ -20,7 +20,11 @@ import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.spi.NotFoundException;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
-import org.keycloak.models.*;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ModelDuplicateException;
+import org.keycloak.models.ProtocolMapperContainerModel;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.protocol.ProtocolMapper;
@@ -31,7 +35,14 @@ import org.keycloak.services.ErrorResponseException;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.resources.admin.RealmAuth.Resource;
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java
index 7483bd8..29c4cbf 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java
@@ -48,6 +48,7 @@ import org.keycloak.models.cache.UserCache;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.models.utils.RepresentationToModel;
+import org.keycloak.partialimport.PartialImportManager;
import org.keycloak.protocol.oidc.TokenManager;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.representations.adapters.action.GlobalRequestResult;
@@ -58,13 +59,13 @@ import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.PartialImportRepresentation;
import org.keycloak.representations.idm.RealmEventsConfigRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.services.ErrorResponse;
+import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.managers.LDAPConnectionTestManager;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.managers.ResourceAdminManager;
-import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.UsersSyncManager;
-import org.keycloak.services.ErrorResponse;
import org.keycloak.services.resources.admin.RealmAuth.Resource;
import javax.ws.rs.Consumes;
@@ -82,7 +83,6 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
-
import java.security.cert.X509Certificate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -93,7 +93,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.regex.PatternSyntaxException;
-import org.keycloak.partialimport.PartialImportManager;
/**
* Base resource class for the admin REST api of one realm
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java
index 1a9a5c3..2437dd0 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/RealmsAdminResource.java
@@ -29,11 +29,11 @@ import org.keycloak.models.RoleModel;
import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.protocol.oidc.TokenManager;
import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.services.ErrorResponse;
import org.keycloak.services.ForbiddenException;
+import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.resources.KeycloakApplication;
-import org.keycloak.services.ErrorResponse;
-import org.keycloak.services.ServicesLogger;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
@@ -47,7 +47,6 @@ import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RoleByIdResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RoleByIdResource.java
index 8136db4..345cae5 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/RoleByIdResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/RoleByIdResource.java
@@ -39,7 +39,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
-
import java.util.List;
import java.util.Set;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RoleContainerResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RoleContainerResource.java
index 15e163d..9e93488 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/RoleContainerResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/RoleContainerResource.java
@@ -43,7 +43,6 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RoleMapperResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RoleMapperResource.java
index ecaa474..91f3e95 100644
--- a/services/src/main/java/org/keycloak/services/resources/admin/RoleMapperResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/RoleMapperResource.java
@@ -47,7 +47,6 @@ import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedClientResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedClientResource.java
index 903c2ce..d7aa5da 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedClientResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedClientResource.java
@@ -37,7 +37,6 @@ import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
-
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedResource.java b/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedResource.java
index e4fe22f..1b4ad58 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/ScopeMappedResource.java
@@ -40,7 +40,6 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProviderResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProviderResource.java
index dca3829..04849b5 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProviderResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProviderResource.java
@@ -16,29 +16,6 @@
*/
package org.keycloak.services.resources.admin;
-import java.text.MessageFormat;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-
import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.spi.NotFoundException;
import org.keycloak.events.admin.OperationType;
@@ -67,6 +44,28 @@ import org.keycloak.services.ErrorResponseException;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.managers.UsersSyncManager;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import java.text.MessageFormat;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProvidersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProvidersResource.java
index b782462..36b0b69 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProvidersResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/UserFederationProvidersResource.java
@@ -54,7 +54,6 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.LinkedList;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
index 4b13659..e6d53bc 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java
@@ -20,8 +20,9 @@ import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.spi.BadRequestException;
import org.jboss.resteasy.spi.NotFoundException;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
-import org.keycloak.common.ClientConnection;
import org.keycloak.authentication.RequiredActionProvider;
+import org.keycloak.common.ClientConnection;
+import org.keycloak.common.util.Time;
import org.keycloak.credential.CredentialModel;
import org.keycloak.email.EmailException;
import org.keycloak.email.EmailTemplateProvider;
@@ -43,6 +44,7 @@ import org.keycloak.models.ModelReadOnlyException;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserConsentModel;
import org.keycloak.models.UserCredentialModel;
+import org.keycloak.models.UserLoginFailureModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.ModelToRepresentation;
@@ -56,13 +58,17 @@ import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.UserConsentRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.idm.UserSessionRepresentation;
+import org.keycloak.services.ErrorResponse;
import org.keycloak.services.ErrorResponseException;
+import org.keycloak.services.ServicesLogger;
+import org.keycloak.services.Urls;
import org.keycloak.services.managers.AuthenticationManager;
+import org.keycloak.services.managers.BruteForceProtector;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.managers.UserManager;
-import org.keycloak.services.ErrorResponse;
-import org.keycloak.services.ServicesLogger;
-import org.keycloak.services.Urls;
+import org.keycloak.services.managers.UserSessionManager;
+import org.keycloak.services.resources.AccountService;
+import org.keycloak.services.validation.Validation;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -73,6 +79,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
+import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
@@ -80,8 +87,6 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.WebApplicationException;
-
import java.net.URI;
import java.text.MessageFormat;
import java.util.ArrayList;
@@ -94,14 +99,6 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import org.keycloak.models.UserLoginFailureModel;
-import org.keycloak.services.managers.BruteForceProtector;
-import org.keycloak.services.managers.UserSessionManager;
-import org.keycloak.services.resources.AccountService;
-import org.keycloak.common.util.Time;
-import org.keycloak.services.validation.Validation;
-
-import static org.keycloak.events.admin.ResourceType.GROUP_MEMBERSHIP;
/**
* Base resource for managing users
diff --git a/services/src/main/java/org/keycloak/services/resources/AttributeFormDataProcessor.java b/services/src/main/java/org/keycloak/services/resources/AttributeFormDataProcessor.java
index 235c5cf..deb4cd4 100755
--- a/services/src/main/java/org/keycloak/services/resources/AttributeFormDataProcessor.java
+++ b/services/src/main/java/org/keycloak/services/resources/AttributeFormDataProcessor.java
@@ -17,9 +17,6 @@
package org.keycloak.services.resources;
-import java.util.ArrayList;
-import java.util.List;
-
import org.keycloak.authentication.requiredactions.util.UpdateProfileContext;
import org.keycloak.authentication.requiredactions.util.UserUpdateProfileContext;
import org.keycloak.models.Constants;
@@ -27,6 +24,8 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import javax.ws.rs.core.MultivaluedMap;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/services/resources/ClientsManagementService.java b/services/src/main/java/org/keycloak/services/resources/ClientsManagementService.java
index 898ad3c..5497b57 100755
--- a/services/src/main/java/org/keycloak/services/resources/ClientsManagementService.java
+++ b/services/src/main/java/org/keycloak/services/resources/ClientsManagementService.java
@@ -21,7 +21,7 @@ import org.jboss.resteasy.spi.HttpRequest;
import org.jboss.resteasy.spi.UnauthorizedException;
import org.keycloak.OAuthErrorException;
import org.keycloak.common.ClientConnection;
-import org.keycloak.OAuth2Constants;
+import org.keycloak.common.util.Time;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
@@ -34,7 +34,6 @@ import org.keycloak.protocol.oidc.utils.AuthorizeClientUtil;
import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
import org.keycloak.services.ForbiddenException;
import org.keycloak.services.ServicesLogger;
-import org.keycloak.common.util.Time;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
@@ -48,8 +47,6 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.ext.Providers;
-import java.util.HashMap;
-import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/services/src/main/java/org/keycloak/services/resources/Cors.java b/services/src/main/java/org/keycloak/services/resources/Cors.java
index c3e11ab..7b4957a 100755
--- a/services/src/main/java/org/keycloak/services/resources/Cors.java
+++ b/services/src/main/java/org/keycloak/services/resources/Cors.java
@@ -18,9 +18,9 @@ package org.keycloak.services.resources;
import org.jboss.resteasy.spi.HttpRequest;
import org.jboss.resteasy.spi.HttpResponse;
+import org.keycloak.common.util.CollectionUtil;
import org.keycloak.models.ClientModel;
import org.keycloak.representations.AccessToken;
-import org.keycloak.common.util.CollectionUtil;
import org.keycloak.services.ServicesLogger;
import javax.ws.rs.core.Response;
diff --git a/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java b/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java
index 7ea641d..9f7e4bf 100755
--- a/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java
+++ b/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java
@@ -19,17 +19,19 @@ package org.keycloak.services.resources;
import org.jboss.resteasy.spi.HttpRequest;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.OAuth2Constants;
+import org.keycloak.authentication.AuthenticationProcessor;
import org.keycloak.authentication.authenticators.broker.AbstractIdpAuthenticator;
import org.keycloak.authentication.authenticators.broker.util.PostBrokerLoginConstants;
import org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext;
-import org.keycloak.common.ClientConnection;
-import org.keycloak.authentication.AuthenticationProcessor;
import org.keycloak.broker.provider.AuthenticationRequest;
import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.broker.provider.IdentityBrokerException;
import org.keycloak.broker.provider.IdentityProvider;
import org.keycloak.broker.provider.IdentityProviderFactory;
import org.keycloak.broker.provider.IdentityProviderMapper;
+import org.keycloak.broker.social.SocialIdentityProvider;
+import org.keycloak.common.ClientConnection;
+import org.keycloak.common.util.ObjectUtil;
import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
@@ -53,29 +55,31 @@ import org.keycloak.models.utils.FormMessage;
import org.keycloak.protocol.oidc.TokenManager;
import org.keycloak.provider.ProviderFactory;
import org.keycloak.representations.AccessToken;
+import org.keycloak.services.ErrorPage;
+import org.keycloak.services.ErrorResponse;
+import org.keycloak.services.ServicesLogger;
+import org.keycloak.services.Urls;
import org.keycloak.services.managers.AppAuthManager;
import org.keycloak.services.managers.AuthenticationManager.AuthResult;
import org.keycloak.services.managers.BruteForceProtector;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.messages.Messages;
-import org.keycloak.services.ErrorResponse;
-import org.keycloak.services.ErrorPage;
-import org.keycloak.services.ServicesLogger;
-import org.keycloak.services.Urls;
import org.keycloak.services.util.CacheControlUtil;
import org.keycloak.services.validation.Validation;
-import org.keycloak.broker.social.SocialIdentityProvider;
-import org.keycloak.common.util.ObjectUtil;
import org.keycloak.util.JsonSerialization;
-import javax.ws.rs.*;
+import javax.ws.rs.GET;
+import javax.ws.rs.OPTIONS;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
-
import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
diff --git a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
index 1e7c0b7..f391b1a 100644
--- a/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
+++ b/services/src/main/java/org/keycloak/services/resources/KeycloakApplication.java
@@ -19,14 +19,21 @@ package org.keycloak.services.resources;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.jboss.dmr.ModelNode;
import org.jboss.resteasy.core.Dispatcher;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.keycloak.Config;
+import org.keycloak.common.util.SystemEnvProperties;
import org.keycloak.exportimport.ExportImportManager;
import org.keycloak.migration.MigrationModelManager;
-import org.keycloak.models.*;
-import org.keycloak.models.dblock.DBLockProvider;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.models.KeycloakSessionTask;
+import org.keycloak.models.ModelDuplicateException;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserModel;
import org.keycloak.models.dblock.DBLockManager;
+import org.keycloak.models.dblock.DBLockProvider;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.PostMigrationEvent;
import org.keycloak.models.utils.RepresentationToModel;
@@ -47,7 +54,6 @@ import org.keycloak.services.util.ObjectMapperResolver;
import org.keycloak.timer.TimerProvider;
import org.keycloak.transaction.JtaTransactionManagerLookup;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.SystemEnvProperties;
import javax.servlet.ServletContext;
import javax.transaction.SystemException;
@@ -55,11 +61,18 @@ import javax.transaction.Transaction;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
import java.net.URI;
import java.net.URL;
-import java.util.*;
-import org.jboss.dmr.ModelNode;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+import java.util.StringTokenizer;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java b/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
index 66dee2e..8b23ee2 100755
--- a/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
+++ b/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
@@ -17,19 +17,19 @@
package org.keycloak.services.resources;
import org.jboss.resteasy.spi.HttpRequest;
-import org.keycloak.authentication.authenticators.broker.AbstractIdpAuthenticator;
-import org.keycloak.authentication.authenticators.broker.util.PostBrokerLoginConstants;
-import org.keycloak.authentication.requiredactions.VerifyEmail;
-import org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext;
-import org.keycloak.broker.provider.BrokeredIdentityContext;
-import org.keycloak.common.ClientConnection;
import org.keycloak.OAuth2Constants;
import org.keycloak.authentication.AuthenticationProcessor;
import org.keycloak.authentication.RequiredActionContext;
import org.keycloak.authentication.RequiredActionContextResult;
import org.keycloak.authentication.RequiredActionFactory;
import org.keycloak.authentication.RequiredActionProvider;
+import org.keycloak.authentication.authenticators.broker.AbstractIdpAuthenticator;
+import org.keycloak.authentication.authenticators.broker.util.PostBrokerLoginConstants;
+import org.keycloak.authentication.authenticators.broker.util.SerializedBrokeredIdentityContext;
import org.keycloak.authentication.authenticators.browser.AbstractUsernameFormAuthenticator;
+import org.keycloak.authentication.requiredactions.VerifyEmail;
+import org.keycloak.broker.provider.BrokeredIdentityContext;
+import org.keycloak.common.ClientConnection;
import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
@@ -49,10 +49,9 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.UserModel.RequiredAction;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.FormMessage;
-import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.protocol.LoginProtocol;
-import org.keycloak.protocol.RestartLoginCookie;
import org.keycloak.protocol.LoginProtocol.Error;
+import org.keycloak.protocol.RestartLoginCookie;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.utils.OIDCResponseMode;
import org.keycloak.protocol.oidc.utils.OIDCResponseType;
diff --git a/services/src/main/java/org/keycloak/services/resources/ThemeResource.java b/services/src/main/java/org/keycloak/services/resources/ThemeResource.java
index 6675cfc..7cb2379 100644
--- a/services/src/main/java/org/keycloak/services/resources/ThemeResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/ThemeResource.java
@@ -17,12 +17,12 @@
package org.keycloak.services.resources;
import org.keycloak.common.Version;
-import org.keycloak.theme.Theme;
-import org.keycloak.theme.ThemeProvider;
-import org.keycloak.models.KeycloakSession;
import org.keycloak.common.util.MimeTypeUtil;
+import org.keycloak.models.KeycloakSession;
import org.keycloak.services.ServicesLogger;
import org.keycloak.services.util.CacheControlUtil;
+import org.keycloak.theme.Theme;
+import org.keycloak.theme.ThemeProvider;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
diff --git a/services/src/main/java/org/keycloak/services/scheduled/ClusterAwareScheduledTaskRunner.java b/services/src/main/java/org/keycloak/services/scheduled/ClusterAwareScheduledTaskRunner.java
index b2a8bf7..da9c876 100644
--- a/services/src/main/java/org/keycloak/services/scheduled/ClusterAwareScheduledTaskRunner.java
+++ b/services/src/main/java/org/keycloak/services/scheduled/ClusterAwareScheduledTaskRunner.java
@@ -17,14 +17,14 @@
package org.keycloak.services.scheduled;
-import java.util.concurrent.Callable;
-
import org.keycloak.cluster.ClusterProvider;
import org.keycloak.cluster.ExecutionResult;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.timer.ScheduledTask;
+import java.util.concurrent.Callable;
+
/**
* Ensures that there are not concurrent executions of same task (either on this host or any other cluster host)
*
diff --git a/services/src/main/java/org/keycloak/services/ServicesLogger.java b/services/src/main/java/org/keycloak/services/ServicesLogger.java
index 0d58f2d..6418a61 100644
--- a/services/src/main/java/org/keycloak/services/ServicesLogger.java
+++ b/services/src/main/java/org/keycloak/services/ServicesLogger.java
@@ -17,15 +17,20 @@
package org.keycloak.services;
-import java.io.IOException;
-import java.net.URI;
-import javax.naming.NamingException;
import org.jboss.logging.BasicLogger;
import org.jboss.logging.Logger;
import org.jboss.logging.annotations.Cause;
import org.jboss.logging.annotations.LogMessage;
import org.jboss.logging.annotations.Message;
import org.jboss.logging.annotations.MessageLogger;
+import org.jboss.logging.annotations.Once;
+import org.keycloak.email.EmailException;
+import org.keycloak.events.EventListenerProvider;
+import org.keycloak.models.ModelDuplicateException;
+
+import javax.naming.NamingException;
+import java.io.IOException;
+import java.net.URI;
import static org.jboss.logging.Logger.Level.DEBUG;
import static org.jboss.logging.Logger.Level.ERROR;
@@ -33,11 +38,6 @@ import static org.jboss.logging.Logger.Level.FATAL;
import static org.jboss.logging.Logger.Level.INFO;
import static org.jboss.logging.Logger.Level.WARN;
-import org.jboss.logging.annotations.Once;
-import org.keycloak.email.EmailException;
-import org.keycloak.events.EventListenerProvider;
-import org.keycloak.models.ModelDuplicateException;
-
/**
* Main logger for the Keycloak Services module.
diff --git a/services/src/main/java/org/keycloak/services/Urls.java b/services/src/main/java/org/keycloak/services/Urls.java
index 8a06c66..f3beb54 100755
--- a/services/src/main/java/org/keycloak/services/Urls.java
+++ b/services/src/main/java/org/keycloak/services/Urls.java
@@ -27,8 +27,6 @@ import org.keycloak.services.resources.RealmsResource;
import org.keycloak.services.resources.ThemeResource;
import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
-
import java.net.URI;
/**
diff --git a/services/src/main/java/org/keycloak/services/util/CertificateInfoHelper.java b/services/src/main/java/org/keycloak/services/util/CertificateInfoHelper.java
index 5cc9b1f..005ce88 100644
--- a/services/src/main/java/org/keycloak/services/util/CertificateInfoHelper.java
+++ b/services/src/main/java/org/keycloak/services/util/CertificateInfoHelper.java
@@ -17,21 +17,16 @@
package org.keycloak.services.util;
-import java.security.PublicKey;
-import java.security.cert.X509Certificate;
-import java.util.HashMap;
-
-import javax.ws.rs.core.Response;
-
-import org.keycloak.authentication.AuthenticationFlowError;
-import org.keycloak.authentication.ClientAuthenticationFlowContext;
-import org.keycloak.authentication.authenticators.client.ClientAuthUtil;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ModelException;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.representations.idm.CertificateRepresentation;
import org.keycloak.representations.idm.ClientRepresentation;
+import java.security.PublicKey;
+import java.security.cert.X509Certificate;
+import java.util.HashMap;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/main/java/org/keycloak/services/validation/Validation.java b/services/src/main/java/org/keycloak/services/validation/Validation.java
index eacfa8f..fbd18af 100755
--- a/services/src/main/java/org/keycloak/services/validation/Validation.java
+++ b/services/src/main/java/org/keycloak/services/validation/Validation.java
@@ -28,7 +28,6 @@ import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.services.messages.Messages;
import javax.ws.rs.core.MultivaluedMap;
-
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
diff --git a/services/src/main/java/org/keycloak/services/validation/ValidationMessages.java b/services/src/main/java/org/keycloak/services/validation/ValidationMessages.java
index a7e82c8..82db374 100644
--- a/services/src/main/java/org/keycloak/services/validation/ValidationMessages.java
+++ b/services/src/main/java/org/keycloak/services/validation/ValidationMessages.java
@@ -19,7 +19,10 @@
package org.keycloak.services.validation;
-import java.util.*;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Properties;
+import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
diff --git a/services/src/main/java/org/keycloak/social/facebook/FacebookIdentityProviderFactory.java b/services/src/main/java/org/keycloak/social/facebook/FacebookIdentityProviderFactory.java
index 5995a4c..26149a1 100755
--- a/services/src/main/java/org/keycloak/social/facebook/FacebookIdentityProviderFactory.java
+++ b/services/src/main/java/org/keycloak/social/facebook/FacebookIdentityProviderFactory.java
@@ -18,8 +18,8 @@ package org.keycloak.social.facebook;
import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig;
import org.keycloak.broker.provider.AbstractIdentityProviderFactory;
-import org.keycloak.models.IdentityProviderModel;
import org.keycloak.broker.social.SocialIdentityProviderFactory;
+import org.keycloak.models.IdentityProviderModel;
import org.keycloak.models.KeycloakSession;
/**
diff --git a/services/src/main/java/org/keycloak/social/linkedin/LinkedInIdentityProvider.java b/services/src/main/java/org/keycloak/social/linkedin/LinkedInIdentityProvider.java
index 2c9304e..3c424f6 100755
--- a/services/src/main/java/org/keycloak/social/linkedin/LinkedInIdentityProvider.java
+++ b/services/src/main/java/org/keycloak/social/linkedin/LinkedInIdentityProvider.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.social.linkedin;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-
import com.fasterxml.jackson.databind.JsonNode;
import org.jboss.logging.Logger;
import org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider;
@@ -32,6 +28,10 @@ import org.keycloak.broker.provider.util.SimpleHttp;
import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.models.KeycloakSession;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLDecoder;
+
/**
* LinkedIn social provider. See https://developer.linkedin.com/docs/oauth2
*
diff --git a/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java b/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java
index ef8777a..a935141 100755
--- a/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java
+++ b/services/src/main/java/org/keycloak/social/microsoft/MicrosoftIdentityProvider.java
@@ -17,8 +17,7 @@
package org.keycloak.social.microsoft;
-import java.net.URLEncoder;
-
+import com.fasterxml.jackson.databind.JsonNode;
import org.jboss.logging.Logger;
import org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider;
import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig;
@@ -32,6 +31,8 @@ import org.keycloak.broker.social.SocialIdentityProvider;
import com.fasterxml.jackson.databind.JsonNode;
import org.keycloak.models.KeycloakSession;
+import java.net.URLEncoder;
+
/**
*
* Identity provider for Microsoft account. Uses OAuth 2 protocol of Windows Live Services as documented at <a href="https://msdn.microsoft.com/en-us/library/hh243647.aspx">https://msdn.microsoft.com/en-us/library/hh243647.aspx</a>
diff --git a/services/src/main/java/org/keycloak/social/stackoverflow/StackoverflowIdentityProvider.java b/services/src/main/java/org/keycloak/social/stackoverflow/StackoverflowIdentityProvider.java
index 6b25b59..4f9e4b2 100755
--- a/services/src/main/java/org/keycloak/social/stackoverflow/StackoverflowIdentityProvider.java
+++ b/services/src/main/java/org/keycloak/social/stackoverflow/StackoverflowIdentityProvider.java
@@ -16,12 +16,6 @@
*/
package org.keycloak.social.stackoverflow;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.util.HashMap;
-
import com.fasterxml.jackson.databind.JsonNode;
import org.jboss.logging.Logger;
import org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider;
@@ -33,6 +27,12 @@ import org.keycloak.broker.provider.util.SimpleHttp;
import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.models.KeycloakSession;
+import java.io.StringWriter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.util.HashMap;
+
/**
* Stackoverflow social provider. See https://api.stackexchange.com/docs/authentication
*
diff --git a/services/src/main/java/org/keycloak/social/twitter/TwitterIdentityProvider.java b/services/src/main/java/org/keycloak/social/twitter/TwitterIdentityProvider.java
index a114cbc..d0178d6 100755
--- a/services/src/main/java/org/keycloak/social/twitter/TwitterIdentityProvider.java
+++ b/services/src/main/java/org/keycloak/social/twitter/TwitterIdentityProvider.java
@@ -17,12 +17,13 @@
package org.keycloak.social.twitter;
import org.jboss.logging.Logger;
-import org.keycloak.common.ClientConnection;
import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig;
import org.keycloak.broker.provider.AbstractIdentityProvider;
import org.keycloak.broker.provider.AuthenticationRequest;
import org.keycloak.broker.provider.BrokeredIdentityContext;
import org.keycloak.broker.provider.IdentityBrokerException;
+import org.keycloak.broker.social.SocialIdentityProvider;
+import org.keycloak.common.ClientConnection;
import org.keycloak.events.EventBuilder;
import org.keycloak.events.EventType;
import org.keycloak.models.ClientModel;
@@ -30,10 +31,9 @@ import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.FederatedIdentityModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
+import org.keycloak.services.ErrorPage;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.messages.Messages;
-import org.keycloak.services.ErrorPage;
-import org.keycloak.broker.social.SocialIdentityProvider;
import twitter4j.Twitter;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
diff --git a/services/src/main/java/org/keycloak/storage/UserStorageManager.java b/services/src/main/java/org/keycloak/storage/UserStorageManager.java
index 8da231e..90c8f72 100755
--- a/services/src/main/java/org/keycloak/storage/UserStorageManager.java
+++ b/services/src/main/java/org/keycloak/storage/UserStorageManager.java
@@ -30,19 +30,18 @@ import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserConsentModel;
-import org.keycloak.models.cache.CachedUserModel;
-import org.keycloak.models.cache.OnUserCache;
-import org.keycloak.storage.user.UserCredentialAuthenticationProvider;
import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationProviderModel;
-import org.keycloak.storage.user.UserLookupProvider;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserProvider;
+import org.keycloak.models.cache.CachedUserModel;
+import org.keycloak.models.cache.OnUserCache;
+import org.keycloak.storage.federated.UserFederatedStorageProvider;
+import org.keycloak.storage.user.UserCredentialAuthenticationProvider;
+import org.keycloak.storage.user.UserLookupProvider;
import org.keycloak.storage.user.UserQueryProvider;
import org.keycloak.storage.user.UserRegistrationProvider;
-import org.keycloak.storage.federated.UserFederatedStorageProvider;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
@@ -562,6 +561,9 @@ public class UserStorageManager implements UserProvider, OnUserCache {
@Override
public void preRemove(RealmModel realm, ComponentModel component) {
+ if (!component.getProviderType().equals(UserStorageProvider.class.getName())) return;
+ localStorage().preRemove(realm, component);
+ if (getFederatedStorage() != null) getFederatedStorage().preRemove(realm, component);
}
diff --git a/services/src/main/java/org/keycloak/theme/ExtendingThemeManager.java b/services/src/main/java/org/keycloak/theme/ExtendingThemeManager.java
index f191270..3aa6cdc 100755
--- a/services/src/main/java/org/keycloak/theme/ExtendingThemeManager.java
+++ b/services/src/main/java/org/keycloak/theme/ExtendingThemeManager.java
@@ -25,7 +25,15 @@ import org.keycloak.models.KeycloakSession;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
-import java.util.*;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
/**
diff --git a/services/src/main/java/org/keycloak/theme/PropertiesUtil.java b/services/src/main/java/org/keycloak/theme/PropertiesUtil.java
index 18387f7..a0eab0b 100644
--- a/services/src/main/java/org/keycloak/theme/PropertiesUtil.java
+++ b/services/src/main/java/org/keycloak/theme/PropertiesUtil.java
@@ -17,6 +17,8 @@
package org.keycloak.theme;
+import org.jboss.logging.Logger;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
@@ -25,8 +27,6 @@ import java.nio.charset.Charset;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.jboss.logging.Logger;
-
/**
* @author <a href="mailto:wadahiro@gmail.com">Hiroyuki Wada</a>
*/
diff --git a/services/src/main/java/org/keycloak/transaction/JtaRegistration.java b/services/src/main/java/org/keycloak/transaction/JtaRegistration.java
index 1800c52..88e9659 100644
--- a/services/src/main/java/org/keycloak/transaction/JtaRegistration.java
+++ b/services/src/main/java/org/keycloak/transaction/JtaRegistration.java
@@ -17,10 +17,7 @@
package org.keycloak.transaction;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.services.ServicesLogger;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
import javax.transaction.TransactionManager;
/**
diff --git a/services/src/main/java/org/keycloak/transaction/JtaTransactionWrapper.java b/services/src/main/java/org/keycloak/transaction/JtaTransactionWrapper.java
index e387ff4..98f4fa8 100644
--- a/services/src/main/java/org/keycloak/transaction/JtaTransactionWrapper.java
+++ b/services/src/main/java/org/keycloak/transaction/JtaTransactionWrapper.java
@@ -18,15 +18,10 @@ package org.keycloak.transaction;
import org.jboss.logging.Logger;
import org.keycloak.models.KeycloakTransaction;
-import org.keycloak.storage.UserStorageManager;
-import javax.transaction.InvalidTransactionException;
-import javax.transaction.NotSupportedException;
import javax.transaction.Status;
-import javax.transaction.SystemException;
import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
-import javax.transaction.UserTransaction;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/services/src/main/java/org/keycloak/transaction/UserTransactionWrapper.java b/services/src/main/java/org/keycloak/transaction/UserTransactionWrapper.java
index c838b18..52bb913 100644
--- a/services/src/main/java/org/keycloak/transaction/UserTransactionWrapper.java
+++ b/services/src/main/java/org/keycloak/transaction/UserTransactionWrapper.java
@@ -18,12 +18,7 @@ package org.keycloak.transaction;
import org.keycloak.models.KeycloakTransaction;
-import javax.transaction.HeuristicMixedException;
-import javax.transaction.HeuristicRollbackException;
-import javax.transaction.NotSupportedException;
-import javax.transaction.RollbackException;
import javax.transaction.Status;
-import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
/**
diff --git a/services/src/main/java/org/keycloak/truststore/FileTruststoreProvider.java b/services/src/main/java/org/keycloak/truststore/FileTruststoreProvider.java
index d5f2a6d..e8d6f02 100755
--- a/services/src/main/java/org/keycloak/truststore/FileTruststoreProvider.java
+++ b/services/src/main/java/org/keycloak/truststore/FileTruststoreProvider.java
@@ -17,9 +17,6 @@
package org.keycloak.truststore;
-import org.keycloak.truststore.HostnameVerificationPolicy;
-import org.keycloak.truststore.TruststoreProvider;
-
import java.security.KeyStore;
/**
diff --git a/services/src/main/java/org/keycloak/truststore/JSSETruststoreConfigurator.java b/services/src/main/java/org/keycloak/truststore/JSSETruststoreConfigurator.java
index a2c4d37..d36539b 100755
--- a/services/src/main/java/org/keycloak/truststore/JSSETruststoreConfigurator.java
+++ b/services/src/main/java/org/keycloak/truststore/JSSETruststoreConfigurator.java
@@ -21,9 +21,6 @@ import org.apache.http.conn.ssl.BrowserCompatHostnameVerifier;
import org.apache.http.conn.ssl.StrictHostnameVerifier;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
-import org.keycloak.truststore.HostnameVerificationPolicy;
-import org.keycloak.truststore.TruststoreProvider;
-import org.keycloak.truststore.TruststoreProviderFactory;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
diff --git a/services/src/main/java/org/keycloak/truststore/TruststoreProviderSingleton.java b/services/src/main/java/org/keycloak/truststore/TruststoreProviderSingleton.java
index 6451db1..a78f7e6 100755
--- a/services/src/main/java/org/keycloak/truststore/TruststoreProviderSingleton.java
+++ b/services/src/main/java/org/keycloak/truststore/TruststoreProviderSingleton.java
@@ -17,8 +17,6 @@
package org.keycloak.truststore;
-import org.keycloak.truststore.TruststoreProvider;
-
/**
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
*/
diff --git a/services/src/main/java/org/keycloak/utils/TotpUtils.java b/services/src/main/java/org/keycloak/utils/TotpUtils.java
index f9f3b60..67ff697 100644
--- a/services/src/main/java/org/keycloak/utils/TotpUtils.java
+++ b/services/src/main/java/org/keycloak/utils/TotpUtils.java
@@ -27,7 +27,6 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.Base32;
import java.io.ByteArrayOutputStream;
-import java.net.URLEncoder;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/services/src/main/resources/idp-metadata-template.xml b/services/src/main/resources/idp-metadata-template.xml
index 6b3d5ec..0a53647 100755
--- a/services/src/main/resources/idp-metadata-template.xml
+++ b/services/src/main/resources/idp-metadata-template.xml
@@ -17,8 +17,8 @@
-->
<EntitiesDescriptor Name="urn:keycloak"
- xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
- xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<EntityDescriptor entityID="${idp.entityID}">
<IDPSSODescriptor WantAuthnRequestsSigned="true"
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
diff --git a/services/src/test/java/org/keycloak/test/broker/oidc/mappers/AbstractJsonUserAttributeMapperTest.java b/services/src/test/java/org/keycloak/test/broker/oidc/mappers/AbstractJsonUserAttributeMapperTest.java
index 538511e..24c4ceb 100755
--- a/services/src/test/java/org/keycloak/test/broker/oidc/mappers/AbstractJsonUserAttributeMapperTest.java
+++ b/services/src/test/java/org/keycloak/test/broker/oidc/mappers/AbstractJsonUserAttributeMapperTest.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.test.broker.oidc.mappers;
-import java.io.IOException;
-
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -25,6 +23,8 @@ import org.junit.Assert;
import org.junit.Test;
import org.keycloak.broker.oidc.mappers.AbstractJsonUserAttributeMapper;
+import java.io.IOException;
+
/**
* Unit test for {@link org.keycloak.broker.oidc.mappers.AbstractJsonUserAttributeMapper}
*
diff --git a/services/src/test/java/org/keycloak/test/ResponseTypeTest.java b/services/src/test/java/org/keycloak/test/ResponseTypeTest.java
index 477746a..3bab4fd 100644
--- a/services/src/test/java/org/keycloak/test/ResponseTypeTest.java
+++ b/services/src/test/java/org/keycloak/test/ResponseTypeTest.java
@@ -17,13 +17,13 @@
package org.keycloak.test;
-import java.util.Arrays;
-import java.util.Collections;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.protocol.oidc.utils.OIDCResponseType;
+import java.util.Arrays;
+import java.util.Collections;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/services/src/test/java/org/keycloak/theme/PropertiesUtilTest.java b/services/src/test/java/org/keycloak/theme/PropertiesUtilTest.java
index 7e73614..9564155 100644
--- a/services/src/test/java/org/keycloak/theme/PropertiesUtilTest.java
+++ b/services/src/test/java/org/keycloak/theme/PropertiesUtilTest.java
@@ -17,12 +17,12 @@
package org.keycloak.theme;
-import static org.junit.Assert.assertEquals;
+import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.nio.charset.Charset;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
/**
* @author <a href="mailto:wadahiro@gmail.com">Hiroyuki Wada</a>
testsuite/integration/pom.xml 1(+1 -0)
diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml
index 555e1fa..f67fc35 100755
--- a/testsuite/integration/pom.xml
+++ b/testsuite/integration/pom.xml
@@ -459,6 +459,7 @@
<systemPropertyVariables>
<keycloak.realm.provider>mongo</keycloak.realm.provider>
<keycloak.user.provider>mongo</keycloak.user.provider>
+ <keycloak.userFederatedStorage.provider>mongo</keycloak.userFederatedStorage.provider>
<keycloak.userSessionPersister.provider>mongo</keycloak.userSessionPersister.provider>
<keycloak.eventsStore.provider>mongo</keycloak.eventsStore.provider>
<keycloak.authorization.provider>mongo</keycloak.authorization.provider>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
index adea44e..cd15bdd 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
@@ -27,7 +27,11 @@ import org.keycloak.admin.client.Keycloak;
import org.keycloak.common.Version;
import org.keycloak.common.util.Time;
import org.keycloak.constants.AdapterConstants;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.Constants;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.representations.VersionRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
@@ -38,7 +42,11 @@ import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.testsuite.OAuthClient;
import org.keycloak.testsuite.pages.AccountSessionsPage;
import org.keycloak.testsuite.pages.LoginPage;
-import org.keycloak.testsuite.rule.*;
+import org.keycloak.testsuite.rule.AbstractKeycloakRule;
+import org.keycloak.testsuite.rule.ErrorServlet;
+import org.keycloak.testsuite.rule.KeycloakRule;
+import org.keycloak.testsuite.rule.WebResource;
+import org.keycloak.testsuite.rule.WebRule;
import org.keycloak.util.BasicAuthHelper;
import org.openqa.selenium.WebDriver;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java
index 02e34a7..07d3140 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java
@@ -17,30 +17,29 @@
package org.keycloak.testsuite.adapter;
-import java.net.URL;
-
-import javax.ws.rs.core.UriBuilder;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
+import org.keycloak.common.util.Time;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.managers.RealmManager;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.testsuite.OAuthClient;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testsuite.KeycloakServer;
-import org.keycloak.common.util.Time;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
+import javax.ws.rs.core.UriBuilder;
+import java.net.URL;
+
/**
* KEYCLOAK-702
*
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CustomerServlet.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CustomerServlet.java
index a3aa330..9ac7002 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CustomerServlet.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CustomerServlet.java
@@ -25,7 +25,6 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/InputServlet.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/InputServlet.java
index b6a0bd5..8b87d1c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/InputServlet.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/InputServlet.java
@@ -24,7 +24,6 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java
index 994fde5..0d232f8 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java
@@ -16,7 +16,6 @@
*/
package org.keycloak.testsuite.adapter;
-import javax.ws.rs.core.UriBuilder;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Rule;
@@ -26,13 +25,15 @@ import org.keycloak.models.RealmModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.managers.RealmManager;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testsuite.KeycloakServer;
import org.openqa.selenium.WebDriver;
+import javax.ws.rs.core.UriBuilder;
+
/**
*
* @author Juraci Paixão Kröhling <juraci at kroehling.de>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenantResolver.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenantResolver.java
index 5845af7..688bf48 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenantResolver.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenantResolver.java
@@ -16,11 +16,12 @@
*/
package org.keycloak.testsuite.adapter;
-import java.io.InputStream;
-import org.keycloak.adapters.spi.HttpFacade;
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
+import org.keycloak.adapters.spi.HttpFacade;
+
+import java.io.InputStream;
/**
*
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java
index bb30461..e0d5d6c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java
@@ -28,12 +28,12 @@ import org.keycloak.models.RealmModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.managers.RealmManager;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.testsuite.OAuthClient;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testsuite.KeycloakServer;
import org.openqa.selenium.WebDriver;
import javax.ws.rs.core.UriBuilder;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/SessionServlet.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/SessionServlet.java
index c669ccf..cd2b2b6 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/SessionServlet.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/SessionServlet.java
@@ -17,14 +17,13 @@
package org.keycloak.testsuite.adapter;
-import java.io.IOException;
-import java.io.PrintWriter;
-
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import java.io.IOException;
+import java.io.PrintWriter;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adduser/AddUserTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adduser/AddUserTest.java
index 6c10322..477ffa8 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adduser/AddUserTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adduser/AddUserTest.java
@@ -28,7 +28,11 @@ import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.hash.Pbkdf2PasswordHashProvider;
import org.keycloak.models.Constants;
-import org.keycloak.representations.idm.*;
+import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.representations.idm.CredentialRepresentation;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.RoleRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.util.JsonSerialization;
import org.keycloak.wildfly.adduser.AddUser;
@@ -38,7 +42,10 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/AssertEvents.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/AssertEvents.java
index c7f27c8..02486fb 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/AssertEvents.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/AssertEvents.java
@@ -27,12 +27,12 @@ import org.junit.runners.model.Statement;
import org.keycloak.Config;
import org.keycloak.OAuth2Constants;
import org.keycloak.authentication.authenticators.client.ClientIdAndSecretAuthenticator;
-import org.keycloak.events.admin.AdminEvent;
import org.keycloak.events.Details;
import org.keycloak.events.Event;
import org.keycloak.events.EventListenerProvider;
import org.keycloak.events.EventListenerProviderFactory;
import org.keycloak.events.EventType;
+import org.keycloak.events.admin.AdminEvent;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AbstractPhotozAdminTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AbstractPhotozAdminTest.java
index 1faf21e..c9b69d8 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AbstractPhotozAdminTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AbstractPhotozAdminTest.java
@@ -57,8 +57,6 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
-import static org.jboss.aesh.terminal.Key.e;
-
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AttributeTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AttributeTest.java
index 86e1ba0..fade20c 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AttributeTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/AttributeTest.java
@@ -30,7 +30,9 @@ import java.util.Map;
import java.util.function.Consumer;
import static java.util.Arrays.asList;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/KeycloakAuthorizationServerRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/KeycloakAuthorizationServerRule.java
index 1df0b61..0fe8c59 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/KeycloakAuthorizationServerRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/KeycloakAuthorizationServerRule.java
@@ -19,7 +19,6 @@
package org.keycloak.testsuite.authorization;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.RealmModel;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourceManagementTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourceManagementTest.java
index 4a6f9b6..086b5ac 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourceManagementTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourceManagementTest.java
@@ -28,7 +28,9 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourcePermissionManagementTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourcePermissionManagementTest.java
index 50ab943..195835c 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourcePermissionManagementTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ResourcePermissionManagementTest.java
@@ -42,7 +42,9 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ScopeManagementTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ScopeManagementTest.java
index 4566fe6..4695e55 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ScopeManagementTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/authorization/ScopeManagementTest.java
@@ -28,7 +28,9 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractFirstBrokerLoginTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractFirstBrokerLoginTest.java
index 67b82bb..474417c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractFirstBrokerLoginTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractFirstBrokerLoginTest.java
@@ -17,14 +17,6 @@
package org.keycloak.testsuite.broker;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.mail.internet.MimeMessage;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.authentication.authenticators.broker.IdpCreateUserIfUniqueAuthenticatorFactory;
@@ -49,8 +41,14 @@ import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
+import javax.mail.internet.MimeMessage;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderModelTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderModelTest.java
index dda283b..cebe067 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderModelTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderModelTest.java
@@ -22,9 +22,9 @@ import org.keycloak.broker.saml.SAMLIdentityProviderFactory;
import org.keycloak.social.facebook.FacebookIdentityProviderFactory;
import org.keycloak.social.github.GitHubIdentityProviderFactory;
import org.keycloak.social.google.GoogleIdentityProviderFactory;
-import org.keycloak.social.twitter.TwitterIdentityProviderFactory;
import org.keycloak.social.linkedin.LinkedInIdentityProviderFactory;
import org.keycloak.social.stackoverflow.StackoverflowIdentityProviderFactory;
+import org.keycloak.social.twitter.TwitterIdentityProviderFactory;
import org.keycloak.testsuite.model.AbstractModelTest;
import java.util.Collections;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java
index 7587148..8efc8c0 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java
@@ -56,17 +56,14 @@ import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.internet.MimeMessage;
import javax.ws.rs.core.UriBuilder;
-
import java.io.IOException;
import java.net.URI;
import java.util.List;
import java.util.Set;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
/**
* @author pedroigor
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java
index 1583853..9cad056 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java
@@ -17,21 +17,6 @@
package org.keycloak.testsuite.broker;
-import java.io.IOException;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Set;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.ClientRequestContext;
-import javax.ws.rs.client.ClientRequestFilter;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.models.ClientModel;
@@ -50,6 +35,20 @@ import org.keycloak.testsuite.federation.DummyUserFederationProviderFactory;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.ClientRequestContext;
+import javax.ws.rs.client.ClientRequestFilter;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Set;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderRegistrationTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderRegistrationTest.java
index 83326dd..42caa29 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderRegistrationTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderRegistrationTest.java
@@ -19,9 +19,9 @@ package org.keycloak.testsuite.broker;
import org.junit.Test;
import org.keycloak.broker.provider.IdentityProvider;
import org.keycloak.broker.provider.IdentityProviderFactory;
-import org.keycloak.models.IdentityProviderModel;
import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.broker.social.SocialIdentityProviderFactory;
+import org.keycloak.models.IdentityProviderModel;
import org.keycloak.testsuite.broker.provider.CustomIdentityProvider;
import org.keycloak.testsuite.broker.provider.CustomIdentityProviderFactory;
import org.keycloak.testsuite.broker.provider.social.CustomSocialProvider;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/ImportIdentityProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/ImportIdentityProviderTest.java
index 4118a34..dbf30e9 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/ImportIdentityProviderTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/ImportIdentityProviderTest.java
@@ -16,11 +16,6 @@
*/
package org.keycloak.testsuite.broker;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig;
@@ -48,6 +43,11 @@ import org.keycloak.social.stackoverflow.StackoverflowIdentityProviderFactory;
import org.keycloak.social.twitter.TwitterIdentityProvider;
import org.keycloak.social.twitter.TwitterIdentityProviderFactory;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCBrokerUserPropertyTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCBrokerUserPropertyTest.java
index c23bfed..c3e0135 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCBrokerUserPropertyTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCBrokerUserPropertyTest.java
@@ -34,7 +34,10 @@ import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import javax.mail.MessagingException;
import java.io.IOException;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
/**
* Test that the broker AttributeMapper maps user properties like email, firstName, and lastName
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCFirstBrokerLoginTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCFirstBrokerLoginTest.java
index 3a3df52..e3e5441 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCFirstBrokerLoginTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCFirstBrokerLoginTest.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.broker;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Test;
@@ -36,6 +34,8 @@ import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.openqa.selenium.NoSuchElementException;
+import java.util.Set;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java
index 8b4d677..0552875 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java
@@ -28,16 +28,15 @@ import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.Urls;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.Constants;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.testsuite.pages.AccountApplicationsPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
-import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.util.JsonSerialization;
import org.openqa.selenium.NoSuchElementException;
-import java.io.IOException;
-
import javax.ws.rs.core.UriBuilder;
+import java.io.IOException;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeycloakServerBrokerWithConsentTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeycloakServerBrokerWithConsentTest.java
index d648cdd..078666f 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeycloakServerBrokerWithConsentTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeycloakServerBrokerWithConsentTest.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.broker;
-import java.util.List;
-
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -37,6 +35,8 @@ import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.openqa.selenium.NoSuchElementException;
+import java.util.List;
+
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/PostBrokerFlowTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/PostBrokerFlowTest.java
index d5fe80d..77252e9 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/PostBrokerFlowTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/PostBrokerFlowTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.broker;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Test;
@@ -43,6 +39,10 @@ import org.keycloak.testsuite.pages.LoginTotpPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProvider.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProvider.java
index 1928117..26622b2 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProvider.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProvider.java
@@ -18,9 +18,9 @@ package org.keycloak.testsuite.broker.provider.social;
import org.keycloak.broker.provider.AbstractIdentityProvider;
import org.keycloak.broker.provider.AuthenticationRequest;
+import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.models.FederatedIdentityModel;
import org.keycloak.models.IdentityProviderModel;
-import org.keycloak.broker.social.SocialIdentityProvider;
import org.keycloak.models.KeycloakSession;
import javax.ws.rs.core.Response;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProviderFactory.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProviderFactory.java
index 58699cc..5a0a3c2 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProviderFactory.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/provider/social/CustomSocialProviderFactory.java
@@ -17,9 +17,9 @@
package org.keycloak.testsuite.broker.provider.social;
import org.keycloak.broker.provider.AbstractIdentityProviderFactory;
-import org.keycloak.models.IdentityProviderModel;
import org.keycloak.broker.social.SocialIdentityProviderFactory;
import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.IdentityProviderModel;
/**
* @author pedroigor
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLBrokerUserPropertyTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLBrokerUserPropertyTest.java
index 037b808..bbbbc47 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLBrokerUserPropertyTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLBrokerUserPropertyTest.java
@@ -34,7 +34,10 @@ import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import javax.mail.MessagingException;
import java.io.IOException;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
/**
* @author pedroigor
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java
index bc8d486..3b83f03 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java
@@ -19,16 +19,16 @@ package org.keycloak.testsuite.broker;
import org.junit.ClassRule;
import org.junit.Test;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.models.IdentityProviderModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
-import org.keycloak.services.managers.RealmManager;
-import org.keycloak.testsuite.rule.AbstractKeycloakRule;
-import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.saml.processing.api.saml.v2.request.SAML2Request;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.processing.web.util.PostBindingUtil;
+import org.keycloak.services.managers.RealmManager;
+import org.keycloak.testsuite.KeycloakServer;
+import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java
index fd29309..8a453a7 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java
@@ -19,16 +19,16 @@ package org.keycloak.testsuite.broker;
import org.junit.ClassRule;
import org.junit.Test;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.models.IdentityProviderModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
-import org.keycloak.services.managers.RealmManager;
-import org.keycloak.testsuite.rule.AbstractKeycloakRule;
-import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.saml.processing.api.saml.v2.request.SAML2Request;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.processing.web.util.PostBindingUtil;
+import org.keycloak.services.managers.RealmManager;
+import org.keycloak.testsuite.KeycloakServer;
+import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/AbstractKerberosTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/AbstractKerberosTest.java
index 12f0f5e..0663e28 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/AbstractKerberosTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/AbstractKerberosTest.java
@@ -17,12 +17,6 @@
package org.keycloak.testsuite.federation;
-import java.security.Principal;
-import java.util.List;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;
import org.apache.http.client.params.AuthPolicy;
@@ -36,9 +30,9 @@ import org.junit.Before;
import org.junit.Test;
import org.keycloak.adapters.HttpClientBuilder;
import org.keycloak.authentication.authenticators.browser.SpnegoAuthenticator;
+import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.events.Details;
import org.keycloak.federation.kerberos.CommonKerberosConfig;
-import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.LDAPConstants;
@@ -59,6 +53,11 @@ import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.openqa.selenium.WebDriver;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import java.security.Principal;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosCredDelegServlet.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosCredDelegServlet.java
index c533c2b..33b1012 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosCredDelegServlet.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosCredDelegServlet.java
@@ -17,9 +17,10 @@
package org.keycloak.testsuite.federation;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Hashtable;
+import org.ietf.jgss.GSSCredential;
+import org.keycloak.KeycloakPrincipal;
+import org.keycloak.common.constants.KerberosConstants;
+import org.keycloak.common.util.KerberosSerializationUtils;
import javax.naming.Context;
import javax.naming.NamingException;
@@ -31,11 +32,9 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
-import org.ietf.jgss.GSSCredential;
-import org.keycloak.KeycloakPrincipal;
-import org.keycloak.common.constants.KerberosConstants;
-import org.keycloak.common.util.KerberosSerializationUtils;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Hashtable;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java
index 67c5ba8..f4a625f 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java
@@ -17,11 +17,6 @@
package org.keycloak.testsuite.federation;
-import java.net.URL;
-import java.util.Map;
-
-import javax.ws.rs.core.Response;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Rule;
@@ -43,6 +38,10 @@ import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.WebRule;
import org.keycloak.utils.CredentialHelper;
+import javax.ws.rs.core.Response;
+import java.net.URL;
+import java.util.Map;
+
/**
* Test of LDAPFederationProvider (Kerberos backed by LDAP)
*
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java
index e6bfd1d..d3eb5c2 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java
@@ -17,21 +17,16 @@
package org.keycloak.testsuite.federation;
-import java.net.URL;
-import java.util.Map;
-
-import javax.ws.rs.core.Response;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.RuleChain;
import org.junit.rules.TestRule;
+import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.federation.kerberos.CommonKerberosConfig;
import org.keycloak.federation.kerberos.KerberosConfig;
import org.keycloak.federation.kerberos.KerberosFederationProviderFactory;
-import org.keycloak.common.constants.KerberosConstants;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserFederationProviderModel;
@@ -43,6 +38,10 @@ import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.WebRule;
import org.keycloak.utils.CredentialHelper;
+import javax.ws.rs.core.Response;
+import java.net.URL;
+import java.util.Map;
+
/**
* Test of KerberosFederationProvider (Kerberos not backed by LDAP)
*
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KeycloakSPNegoSchemeFactory.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KeycloakSPNegoSchemeFactory.java
index 23fd276..83fb583 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KeycloakSPNegoSchemeFactory.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KeycloakSPNegoSchemeFactory.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.federation;
-import java.security.PrivilegedExceptionAction;
-
-import javax.security.auth.Subject;
-
import org.apache.http.auth.AuthScheme;
import org.apache.http.auth.Credentials;
import org.apache.http.impl.auth.SPNegoScheme;
@@ -34,6 +30,9 @@ import org.ietf.jgss.Oid;
import org.keycloak.federation.kerberos.CommonKerberosConfig;
import org.keycloak.federation.kerberos.impl.KerberosUsernamePasswordAuthenticator;
+import javax.security.auth.Subject;
+import java.security.PrivilegedExceptionAction;
+
/**
* Usable for testing only. Username and password are shared for the whole factory
*
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/FederationProvidersIntegrationTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/FederationProvidersIntegrationTest.java
index c469387..2809b97 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/FederationProvidersIntegrationTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/FederationProvidersIntegrationTest.java
@@ -30,7 +30,6 @@ import org.keycloak.credential.CredentialModel;
import org.keycloak.federation.ldap.LDAPConfig;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPFederationProviderFactory;
-import org.keycloak.federation.ldap.LDAPUtils;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.mappers.FullNameLDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.FullNameLDAPFederationMapperFactory;
@@ -44,7 +43,6 @@ import org.keycloak.models.ModelReadOnlyException;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderModel;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapper2WaySyncTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapper2WaySyncTest.java
index c8885eb..41690d5 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapper2WaySyncTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapper2WaySyncTest.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.federation.ldap.base;
-import java.util.Map;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.FixMethodOrder;
@@ -44,6 +42,8 @@ import org.keycloak.testsuite.federation.ldap.FederationTestUtils;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.LDAPRule;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperSyncTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperSyncTest.java
index 9308e04..9a6b31b 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperSyncTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperSyncTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.federation.ldap.base;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
@@ -35,9 +31,9 @@ import org.keycloak.federation.ldap.LDAPUtils;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.mappers.membership.LDAPGroupMapperMode;
import org.keycloak.federation.ldap.mappers.membership.MembershipType;
-import org.keycloak.federation.ldap.mappers.membership.group.GroupMapperConfig;
import org.keycloak.federation.ldap.mappers.membership.group.GroupLDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.membership.group.GroupLDAPFederationMapperFactory;
+import org.keycloak.federation.ldap.mappers.membership.group.GroupMapperConfig;
import org.keycloak.models.GroupModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.LDAPConstants;
@@ -54,6 +50,10 @@ import org.keycloak.testsuite.federation.ldap.FederationTestUtils;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.LDAPRule;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperTest.java
index a9beda5..cdbd695 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPGroupMapperTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.federation.ldap.base;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.FixMethodOrder;
@@ -54,6 +50,10 @@ import org.keycloak.testsuite.federation.ldap.FederationTestUtils;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.LDAPRule;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPMultipleAttributesTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPMultipleAttributesTest.java
index ec95eaf..7db180a 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPMultipleAttributesTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPMultipleAttributesTest.java
@@ -17,15 +17,6 @@
package org.keycloak.testsuite.federation.ldap.base;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.core.UriBuilder;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.FixMethodOrder;
@@ -59,6 +50,14 @@ import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
import org.openqa.selenium.WebDriver;
+import javax.ws.rs.core.UriBuilder;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPRoleMappingsTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPRoleMappingsTest.java
index de91e40..0d35d21 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPRoleMappingsTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPRoleMappingsTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.federation.ldap.base;
-import java.util.Map;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.FixMethodOrder;
@@ -56,6 +53,9 @@ import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
import org.openqa.selenium.WebDriver;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPSyncTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPSyncTest.java
index 58902b4..e300ffd 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPSyncTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/base/LDAPSyncTest.java
@@ -24,6 +24,7 @@ import org.junit.Test;
import org.junit.rules.RuleChain;
import org.junit.rules.TestRule;
import org.junit.runners.MethodSorters;
+import org.keycloak.common.util.Time;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPFederationProviderFactory;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
@@ -43,7 +44,6 @@ import org.keycloak.services.managers.UsersSyncManager;
import org.keycloak.testsuite.federation.ldap.FederationTestUtils;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.LDAPRule;
-import org.keycloak.common.util.Time;
import java.util.Map;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/FederationTestUtils.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/FederationTestUtils.java
index febb327..f8f83fa 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/FederationTestUtils.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/FederationTestUtils.java
@@ -17,13 +17,6 @@
package org.keycloak.testsuite.federation.ldap;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.junit.Assert;
import org.keycloak.federation.ldap.LDAPFederationProvider;
import org.keycloak.federation.ldap.LDAPFederationProviderFactory;
@@ -31,14 +24,14 @@ import org.keycloak.federation.ldap.LDAPUtils;
import org.keycloak.federation.ldap.idm.model.LDAPObject;
import org.keycloak.federation.ldap.idm.query.internal.LDAPQuery;
import org.keycloak.federation.ldap.idm.store.ldap.LDAPIdentityStore;
+import org.keycloak.federation.ldap.mappers.UserAttributeLDAPFederationMapper;
+import org.keycloak.federation.ldap.mappers.UserAttributeLDAPFederationMapperFactory;
import org.keycloak.federation.ldap.mappers.membership.LDAPGroupMapperMode;
+import org.keycloak.federation.ldap.mappers.membership.group.GroupLDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.membership.group.GroupLDAPFederationMapperFactory;
import org.keycloak.federation.ldap.mappers.membership.group.GroupMapperConfig;
import org.keycloak.federation.ldap.mappers.membership.role.RoleLDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.membership.role.RoleLDAPFederationMapperFactory;
-import org.keycloak.federation.ldap.mappers.UserAttributeLDAPFederationMapper;
-import org.keycloak.federation.ldap.mappers.UserAttributeLDAPFederationMapperFactory;
-import org.keycloak.federation.ldap.mappers.membership.group.GroupLDAPFederationMapper;
import org.keycloak.federation.ldap.mappers.membership.role.RoleMapperConfig;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.LDAPConstants;
@@ -54,6 +47,13 @@ import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.UserModelDelegate;
import org.keycloak.representations.idm.CredentialRepresentation;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPExampleServlet.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPExampleServlet.java
index be43ca9..8f6b874 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPExampleServlet.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPExampleServlet.java
@@ -17,18 +17,16 @@
package org.keycloak.testsuite.federation.ldap;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.List;
-import java.util.Map;
+import org.keycloak.KeycloakSecurityContext;
+import org.keycloak.representations.IDToken;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
-import org.keycloak.KeycloakSecurityContext;
-import org.keycloak.representations.IDToken;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPTestConfiguration.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPTestConfiguration.java
index 3d9cbce..4a5adb0 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPTestConfiguration.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/ldap/LDAPTestConfiguration.java
@@ -17,6 +17,11 @@
package org.keycloak.testsuite.federation.ldap;
+import org.jboss.logging.Logger;
+import org.keycloak.common.constants.KerberosConstants;
+import org.keycloak.models.LDAPConstants;
+import org.keycloak.models.UserFederationProvider;
+
import java.io.File;
import java.io.InputStream;
import java.net.URL;
@@ -24,11 +29,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-import org.jboss.logging.Logger;
-import org.keycloak.common.constants.KerberosConstants;
-import org.keycloak.models.LDAPConstants;
-import org.keycloak.models.UserFederationProvider;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserMapStorage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserMapStorage.java
index a9fe9ab..75e12f7 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserMapStorage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserMapStorage.java
@@ -33,8 +33,6 @@ import org.keycloak.storage.adapter.AbstractUserAdapterFederatedStorage;
import org.keycloak.storage.user.UserLookupProvider;
import org.keycloak.storage.user.UserRegistrationProvider;
-import java.util.LinkedList;
-import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserStorageTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserStorageTest.java
index 2b2d962..1f6dd10 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserStorageTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/UserStorageTest.java
@@ -50,6 +50,7 @@ import java.util.Set;
*/
public class UserStorageTest {
public static ComponentModel memoryProvider = null;
+ public static ComponentModel writableProvider = null;
@ClassRule
public static KeycloakRule keycloakRule = new KeycloakRule(new KeycloakRule.KeycloakSetup() {
@@ -69,16 +70,22 @@ public class UserStorageTest {
model.setParentId(appRealm.getId());
model.getConfig().putSingle("propertyFile", "/storage-test/read-only-user-password.properties");
appRealm.addComponentModel(model);
- model = new UserStorageProviderModel();
- model.setName("user-props");
- model.setPriority(2);
- model.setParentId(appRealm.getId());
- model.setProviderId(UserPropertyFileStorageFactory.PROVIDER_ID);
- model.getConfig().putSingle("propertyFile", "/storage-test/user-password.properties");
- model.getConfig().putSingle("federatedStorage", "true");
- appRealm.addComponentModel(model);
+ createUserPropModel(appRealm);
}
});
+
+ private static void createUserPropModel(RealmModel appRealm) {
+ UserStorageProviderModel model;
+ model = new UserStorageProviderModel();
+ model.setName("user-props");
+ model.setPriority(2);
+ model.setParentId(appRealm.getId());
+ model.setProviderId(UserPropertyFileStorageFactory.PROVIDER_ID);
+ model.getConfig().putSingle("propertyFile", "/storage-test/user-password.properties");
+ model.getConfig().putSingle("federatedStorage", "true");
+ writableProvider = appRealm.addComponentModel(model);
+ }
+
@Rule
public WebRule webRule = new WebRule(this);
@@ -162,6 +169,40 @@ public class UserStorageTest {
session.userCredentialManager().updateCredential(realm, thor, UserCredentialModel.password("lightning"));
keycloakRule.stopSession(session, true);
loginSuccessAndLogout("thor", "lightning");
+
+ // test removal of provider
+ session = keycloakRule.startSession();
+ realm = session.realms().getRealmByName("test");
+ realm.removeComponent(writableProvider);
+ keycloakRule.stopSession(session, true);
+ session = keycloakRule.startSession();
+ realm = session.realms().getRealmByName("test");
+ createUserPropModel(realm);
+ keycloakRule.stopSession(session, true);
+
+ loginSuccessAndLogout("thor", "hammer");
+
+ session = keycloakRule.startSession();
+ realm = session.realms().getRealmByName("test");
+
+ thor = session.users().getUserByUsername("thor", realm);
+ Assert.assertNull(thor.getFirstName());
+ Assert.assertNull(thor.getLastName());
+ Assert.assertNull(thor.getEmail());
+ Assert.assertNull(thor.getFirstAttribute("test-attribute"));
+ Assert.assertFalse(thor.isEmailVerified());
+ role = realm.getRole("foo-role");
+ Assert.assertFalse(thor.hasRole(role));
+
+ groups = thor.getGroups();
+ foundGroup = false;
+ for (GroupModel g : groups) {
+ if (g.getName().equals("my-group")) foundGroup = true;
+
+ }
+ Assert.assertFalse(foundGroup);
+
+
}
@Test
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncDummyUserFederationProviderFactory.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncDummyUserFederationProviderFactory.java
index 3831787..a3e412d 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncDummyUserFederationProviderFactory.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncDummyUserFederationProviderFactory.java
@@ -17,12 +17,6 @@
package org.keycloak.testsuite.federation.sync;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
import org.jboss.logging.Logger;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
@@ -34,6 +28,11 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.testsuite.federation.DummyUserFederationProviderFactory;
+import java.util.Date;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncFederationTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncFederationTest.java
index efa688c..1efc354 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncFederationTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/sync/SyncFederationTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.federation.sync;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
import org.jboss.logging.Logger;
import org.junit.Assert;
import org.junit.ClassRule;
@@ -40,6 +36,10 @@ import org.keycloak.testsuite.federation.DummyUserFederationProviderFactory;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.timer.TimerProvider;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
/**
* Test with Dummy providers (For LDAP see {@link org.keycloak.testsuite.federation.ldap.base.LDAPSyncTest}
*
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsBasicAuthTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsBasicAuthTest.java
index 9dd37bb..afe72f5 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsBasicAuthTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsBasicAuthTest.java
@@ -17,15 +17,6 @@
package org.keycloak.testsuite.jaxrs;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.UUID;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-
import org.apache.http.impl.client.DefaultHttpClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
@@ -47,6 +38,14 @@ import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
import org.openqa.selenium.WebDriver;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Form;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.UUID;
+
/**
* Test for basic authentication.
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsFilterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsFilterTest.java
index f0e5bbb..6cd02bf 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsFilterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsFilterTest.java
@@ -17,15 +17,6 @@
package org.keycloak.testsuite.jaxrs;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.UUID;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-
import org.apache.http.impl.client.DefaultHttpClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
@@ -38,8 +29,9 @@ import org.junit.rules.ExternalResource;
import org.keycloak.OAuth2Constants;
import org.keycloak.TokenIdGenerator;
import org.keycloak.adapters.CorsHeaders;
-import org.keycloak.constants.AdapterConstants;
import org.keycloak.adapters.HttpClientBuilder;
+import org.keycloak.common.util.Time;
+import org.keycloak.constants.AdapterConstants;
import org.keycloak.models.ClientModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
@@ -52,9 +44,16 @@ import org.keycloak.testsuite.OAuthClient;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.common.util.Time;
import org.openqa.selenium.WebDriver;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Form;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.UUID;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestApplication.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestApplication.java
index 9100507..c577ab2 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestApplication.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestApplication.java
@@ -17,14 +17,13 @@
package org.keycloak.testsuite.jaxrs;
-import java.util.HashSet;
-import java.util.Set;
+import org.keycloak.jaxrs.JaxrsBearerTokenFilterImpl;
import javax.servlet.ServletContext;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.Context;
-
-import org.keycloak.jaxrs.JaxrsBearerTokenFilterImpl;
+import java.util.HashSet;
+import java.util.Set;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestResource.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestResource.java
index e2fb5cf..8bf2d7b 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestResource.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/jaxrs/JaxrsTestResource.java
@@ -20,7 +20,6 @@ package org.keycloak.testsuite.jaxrs;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.SecurityContext;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/InputServlet.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/InputServlet.java
index 57c8e48..e47f0f9 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/InputServlet.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/InputServlet.java
@@ -18,7 +18,6 @@
package org.keycloak.testsuite.keycloaksaml;
import org.junit.Assert;
-import org.keycloak.KeycloakSecurityContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/SamlAdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/SamlAdapterTest.java
index 0f692fe..c4e2a36 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/SamlAdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/keycloaksaml/SamlAdapterTest.java
@@ -30,8 +30,6 @@ import org.openqa.selenium.WebDriver;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Form;
import static org.junit.Assert.assertEquals;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java
index 2d57d21..95ac032 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java
@@ -32,7 +32,6 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.RequiredCredentialModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserProvider;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/CacheTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/CacheTest.java
index c478375..abbf912 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/CacheTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/CacheTest.java
@@ -17,17 +17,22 @@
package org.keycloak.testsuite.model;
-import java.util.List;
-import java.util.Set;
-
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Test;
-import org.keycloak.models.*;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserModel;
+import org.keycloak.models.UserSessionModel;
import org.keycloak.models.cache.infinispan.ClientAdapter;
import org.keycloak.models.cache.infinispan.RealmAdapter;
import org.keycloak.testsuite.rule.KeycloakRule;
+import java.util.List;
+import java.util.Set;
+
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java
index 92c8551..90b1280 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java
@@ -29,7 +29,6 @@ import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
-import org.keycloak.services.managers.ClientManager;
import java.util.Iterator;
import java.util.List;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ConcurrentTransactionsTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ConcurrentTransactionsTest.java
index 2fb2aaf..e150420 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ConcurrentTransactionsTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ConcurrentTransactionsTest.java
@@ -17,13 +17,8 @@
package org.keycloak.testsuite.model;
-import java.util.Arrays;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicReference;
-
import org.jboss.logging.Logger;
import org.junit.Assert;
-import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
@@ -34,6 +29,10 @@ import org.keycloak.models.RealmProvider;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.Arrays;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicReference;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/DBLockTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/DBLockTest.java
index 2537332..5e8440d 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/DBLockTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/DBLockTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.model;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-
import org.jboss.logging.Logger;
import org.junit.Assert;
import org.junit.Before;
@@ -33,6 +29,10 @@ import org.keycloak.models.dblock.DBLockProvider;
import org.keycloak.models.dblock.DBLockProviderFactory;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserConsentModelTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserConsentModelTest.java
index 2f71b23..4335c52 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserConsentModelTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserConsentModelTest.java
@@ -17,22 +17,22 @@
package org.keycloak.testsuite.model;
-import java.util.List;
-
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.models.ClientModel;
-import org.keycloak.models.UserConsentModel;
import org.keycloak.models.ModelException;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.UserModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.mappers.UserPropertyMapper;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserFederationModelTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserFederationModelTest.java
index 7362e37..1d78ff7 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserFederationModelTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserFederationModelTest.java
@@ -17,13 +17,6 @@
package org.keycloak.testsuite.model;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.models.ModelDuplicateException;
@@ -31,6 +24,13 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserFederationMapperModel;
import org.keycloak.models.UserFederationProviderModel;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserModelTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserModelTest.java
index e2af241..d2e608d 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserModelTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserModelTest.java
@@ -27,14 +27,14 @@ import org.keycloak.models.UserModel;
import org.keycloak.models.UserModel.RequiredAction;
import org.keycloak.services.managers.ClientManager;
-import static org.junit.Assert.assertNotNull;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static org.junit.Assert.assertNotNull;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java
index 15dd9dc..431bff6 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java
@@ -17,16 +17,13 @@
package org.keycloak.testsuite.model;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.keycloak.cluster.ClusterProvider;
+import org.keycloak.common.util.Time;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
@@ -40,7 +37,10 @@ import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.services.managers.UserManager;
import org.keycloak.services.managers.UserSessionManager;
import org.keycloak.testsuite.rule.KeycloakRule;
-import org.keycloak.common.util.Time;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java
index 577d41e..074438f 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java
@@ -17,16 +17,12 @@
package org.keycloak.testsuite.model;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
+import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
@@ -39,7 +35,11 @@ import org.keycloak.services.managers.ClientManager;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.managers.UserManager;
import org.keycloak.testsuite.rule.KeycloakRule;
-import org.keycloak.common.util.Time;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java
index 6f81d43..013f16c 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java
@@ -17,19 +17,13 @@
package org.keycloak.testsuite.model;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
+import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
@@ -43,9 +37,15 @@ import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.managers.UserManager;
import org.keycloak.services.managers.UserSessionManager;
import org.keycloak.testsuite.rule.KeycloakRule;
-import org.keycloak.common.util.Time;
import org.keycloak.testsuite.rule.LoggingRule;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java
index 0a5842c..d75e467 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java
@@ -22,21 +22,30 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
+import org.keycloak.common.util.Time;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
+import org.keycloak.models.UserLoginFailureModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
-import org.keycloak.models.UserLoginFailureModel;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.services.managers.UserManager;
import org.keycloak.testsuite.rule.KeycloakRule;
-import org.keycloak.common.util.Time;
-
-import java.util.*;
-import static org.junit.Assert.*;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java
index 12c1f30..46d62b8 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/OAuthClient.java
@@ -31,6 +31,7 @@ import org.junit.Assert;
import org.keycloak.OAuth2Constants;
import org.keycloak.RSATokenVerifier;
import org.keycloak.common.VerificationException;
+import org.keycloak.common.util.PemUtils;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.jose.jws.crypto.RSAProvider;
@@ -38,7 +39,6 @@ import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.RefreshToken;
import org.keycloak.util.BasicAuthHelper;
-import org.keycloak.common.util.PemUtils;
import org.keycloak.util.TokenUtil;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountApplicationsPage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountApplicationsPage.java
index 08a46aa..fcf0ed8 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountApplicationsPage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountApplicationsPage.java
@@ -17,18 +17,17 @@
package org.keycloak.testsuite.pages;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.core.UriBuilder;
-
import org.keycloak.services.Urls;
import org.keycloak.testsuite.Constants;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
+import javax.ws.rs.core.UriBuilder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountFederatedIdentityPage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountFederatedIdentityPage.java
index ff7d77c..ac897a8 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountFederatedIdentityPage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AccountFederatedIdentityPage.java
@@ -17,14 +17,14 @@
package org.keycloak.testsuite.pages;
-import javax.ws.rs.core.UriBuilder;
-
import org.keycloak.services.Urls;
import org.keycloak.testsuite.Constants;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import javax.ws.rs.core.UriBuilder;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AppPage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AppPage.java
index ad24d9a..97ca54b 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AppPage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/AppPage.java
@@ -19,7 +19,6 @@ package org.keycloak.testsuite.pages;
import org.keycloak.OAuth2Constants;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
-import org.keycloak.testsuite.OAuthClient;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/BypassKerberosPage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/BypassKerberosPage.java
index 8568d4a..2c7f697 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/BypassKerberosPage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/BypassKerberosPage.java
@@ -16,9 +16,6 @@
*/
package org.keycloak.testsuite.pages;
-import org.keycloak.testsuite.OAuthClient;
-import org.keycloak.testsuite.rule.WebResource;
-import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/ErrorPage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/ErrorPage.java
index 3077db4..b3a9298 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/ErrorPage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/ErrorPage.java
@@ -16,10 +16,8 @@
*/
package org.keycloak.testsuite.pages;
-import org.junit.Assert;
import org.keycloak.testsuite.OAuthClient;
import org.keycloak.testsuite.rule.WebResource;
-import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java
index 3df93b7..17a2ed7 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/LoginUpdateProfilePage.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.testsuite.pages;
-import org.junit.Assert;
-import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/RegisterPage.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/RegisterPage.java
index 737d811..506889e 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/RegisterPage.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/pages/RegisterPage.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.pages;
import org.junit.Assert;
-
-import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
index 7462a28..c9dae67 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
@@ -31,6 +31,7 @@ import org.junit.rules.TemporaryFolder;
import org.keycloak.Config;
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.servlet.KeycloakOIDCFilter;
+import org.keycloak.common.util.Time;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakTransaction;
import org.keycloak.models.RealmModel;
@@ -39,10 +40,9 @@ import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.services.managers.RealmManager;
-import org.keycloak.testsuite.Retry;
import org.keycloak.testsuite.KeycloakServer;
+import org.keycloak.testsuite.Retry;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.common.util.Time;
import javax.servlet.DispatcherType;
import javax.servlet.Servlet;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java
index c39870a..8d46513 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java
@@ -17,15 +17,15 @@
package org.keycloak.testsuite.rule;
-import java.io.File;
-import java.net.URL;
-import java.util.Properties;
-
import org.jboss.logging.Logger;
import org.keycloak.testsuite.federation.ldap.LDAPTestConfiguration;
import org.keycloak.util.ldap.KerberosEmbeddedServer;
import org.keycloak.util.ldap.LDAPEmbeddedServer;
+import java.io.File;
+import java.net.URL;
+import java.util.Properties;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java
index 715f6a3..4bf0e4c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java
@@ -17,13 +17,13 @@
package org.keycloak.testsuite.rule;
-import java.util.Map;
-import java.util.Properties;
-
import org.junit.rules.ExternalResource;
import org.keycloak.testsuite.federation.ldap.LDAPTestConfiguration;
import org.keycloak.util.ldap.LDAPEmbeddedServer;
+import java.util.Map;
+import java.util.Properties;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlEcpProfileTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlEcpProfileTest.java
index 4539010..778085c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlEcpProfileTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlEcpProfileTest.java
@@ -59,7 +59,10 @@ import java.util.Iterator;
import java.util.Map;
import static javax.ws.rs.core.Response.Status.OK;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlPicketlinkSPTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlPicketlinkSPTest.java
index 6ce33ec..e62b6db 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlPicketlinkSPTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/SamlPicketlinkSPTest.java
@@ -29,6 +29,10 @@ import org.junit.runners.model.Statement;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.common.util.Environment;
+import org.keycloak.dom.saml.v2.assertion.AssertionType;
+import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
+import org.keycloak.dom.saml.v2.assertion.AttributeType;
+import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.models.ClientModel;
import org.keycloak.models.Constants;
import org.keycloak.models.ProtocolMapperModel;
@@ -39,20 +43,16 @@ import org.keycloak.protocol.saml.mappers.HardcodedRole;
import org.keycloak.protocol.saml.mappers.RoleListMapper;
import org.keycloak.protocol.saml.mappers.RoleNameMapper;
import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
+import org.keycloak.saml.processing.api.saml.v2.response.SAML2Response;
+import org.keycloak.saml.processing.core.saml.v2.constants.X500SAMLProfileConstants;
+import org.keycloak.saml.processing.web.util.PostBindingUtil;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
import org.openqa.selenium.WebDriver;
-import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
-import org.keycloak.saml.processing.api.saml.v2.response.SAML2Response;
-import org.keycloak.saml.processing.core.saml.v2.constants.X500SAMLProfileConstants;
-import org.keycloak.dom.saml.v2.assertion.AssertionType;
-import org.keycloak.dom.saml.v2.assertion.AttributeStatementType;
-import org.keycloak.dom.saml.v2.assertion.AttributeType;
-import org.keycloak.dom.saml.v2.protocol.ResponseType;
-import org.keycloak.saml.processing.web.util.PostBindingUtil;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/ValidationTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/ValidationTest.java
index 43638e0..aa4ca66 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/ValidationTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/saml/ValidationTest.java
@@ -19,17 +19,13 @@ package org.keycloak.testsuite.saml;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
-import org.keycloak.common.util.PemUtils;
import org.keycloak.common.util.StreamUtil;
-import org.keycloak.models.RealmModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.protocol.saml.SamlProtocol;
import org.keycloak.protocol.saml.SamlService;
import org.keycloak.saml.SPMetadataDescriptor;
-import org.keycloak.services.resources.RealmsResource;
import org.xml.sax.SAXException;
-import javax.ws.rs.core.UriInfo;
import javax.xml.XMLConstants;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
@@ -37,7 +33,6 @@ import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import java.io.ByteArrayInputStream;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/samlfilter/SamlKeycloakRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/samlfilter/SamlKeycloakRule.java
index 55e8f01..93ed4bd 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/samlfilter/SamlKeycloakRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/samlfilter/SamlKeycloakRule.java
@@ -26,10 +26,7 @@ import io.undertow.server.handlers.resource.ResourceManager;
import io.undertow.server.handlers.resource.URLResource;
import io.undertow.servlet.api.DeploymentInfo;
import io.undertow.servlet.api.FilterInfo;
-import io.undertow.servlet.api.LoginConfig;
-import io.undertow.servlet.api.SecurityConstraint;
import io.undertow.servlet.api.ServletInfo;
-import io.undertow.servlet.api.WebResourceCollection;
import org.keycloak.adapters.saml.servlet.SamlFilter;
import org.keycloak.adapters.saml.undertow.SamlServletExtension;
import org.keycloak.testsuite.keycloaksaml.SendUsernameServlet;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractCommand.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractCommand.java
index 0b6d228..e3b0158 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractCommand.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractCommand.java
@@ -17,14 +17,14 @@
package org.keycloak.testsuite.util.cli;
-import java.util.List;
-
import org.jboss.logging.Logger;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.KeycloakSessionTask;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/PersistSessionsCommand.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/PersistSessionsCommand.java
index bec0487..b2ede3e 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/PersistSessionsCommand.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/PersistSessionsCommand.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.util.cli;
-import java.util.LinkedList;
-import java.util.List;
-
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
import org.keycloak.models.KeycloakSession;
@@ -30,6 +27,9 @@ import org.keycloak.models.UserSessionModel;
import org.keycloak.models.session.UserSessionPersisterProvider;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.LinkedList;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/SyncDummyFederationProviderCommand.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/SyncDummyFederationProviderCommand.java
index 452fd59..af02312 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/SyncDummyFederationProviderCommand.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/SyncDummyFederationProviderCommand.java
@@ -17,16 +17,15 @@
package org.keycloak.testsuite.util.cli;
-import java.util.HashMap;
-import java.util.Map;
-
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.services.managers.UsersSyncManager;
import org.keycloak.testsuite.federation.sync.SyncDummyUserFederationProviderFactory;
-import org.keycloak.timer.TimerProvider;
+
+import java.util.HashMap;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java
index 59f3490..8e9582b 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java
@@ -17,6 +17,11 @@
package org.keycloak.testsuite.util.cli;
+import org.jboss.logging.Logger;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.KeycloakSessionFactory;
+import org.keycloak.testsuite.KeycloakServer;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
@@ -26,11 +31,6 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import org.jboss.logging.Logger;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
-import org.keycloak.testsuite.KeycloakServer;
-
/**
* See Testsuite.md (section how to create many users and offline sessions)
*
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/UserCommands.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/UserCommands.java
index fe55602..5fc0e86 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/UserCommands.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/UserCommands.java
@@ -17,14 +17,8 @@
package org.keycloak.testsuite.util.cli;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
-import org.keycloak.models.KeycloakSessionFactory;
import org.keycloak.models.KeycloakSessionTask;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
@@ -32,6 +26,11 @@ import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration/src/test/resources/META-INF/keycloak-server.json b/testsuite/integration/src/test/resources/META-INF/keycloak-server.json
index b676b99..06b4e52 100755
--- a/testsuite/integration/src/test/resources/META-INF/keycloak-server.json
+++ b/testsuite/integration/src/test/resources/META-INF/keycloak-server.json
@@ -22,6 +22,10 @@
"provider": "${keycloak.user.provider:jpa}"
},
+ "userFederatedStorage": {
+ "provider": "${keycloak.userFederatedStorage.provider:jpa}"
+ },
+
"userSessionPersister": {
"provider": "${keycloak.userSessionPersister.provider:jpa}"
},
diff --git a/testsuite/integration-arquillian/servers/auth-server/jboss/common/ispn-cache-owners.xsl b/testsuite/integration-arquillian/servers/auth-server/jboss/common/ispn-cache-owners.xsl
index 7237d89..65abfea 100644
--- a/testsuite/integration-arquillian/servers/auth-server/jboss/common/ispn-cache-owners.xsl
+++ b/testsuite/integration-arquillian/servers/auth-server/jboss/common/ispn-cache-owners.xsl
@@ -1,6 +1,5 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan"
- xmlns:j="urn:jboss:domain:4.0"
xmlns:i="urn:jboss:domain:infinispan:4.0"
version="2.0"
exclude-result-prefixes="xalan i">
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/authorization/TestPolicyProviderFactory.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/authorization/TestPolicyProviderFactory.java
index 9382f20..1fa5fc7 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/authorization/TestPolicyProviderFactory.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/authorization/TestPolicyProviderFactory.java
@@ -27,8 +27,6 @@ import org.keycloak.authorization.policy.provider.PolicyProviderFactory;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.KeycloakSessionFactory;
-import static org.bouncycastle.asn1.x500.style.RFC4519Style.l;
-
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
*/
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/jpa/ExampleJpaEntityProvider.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/jpa/ExampleJpaEntityProvider.java
index 2f87632..37d0575 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/jpa/ExampleJpaEntityProvider.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/jpa/ExampleJpaEntityProvider.java
@@ -17,11 +17,11 @@
package org.keycloak.testsuite.domainextension.jpa;
+import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider;
+
import java.util.Collections;
import java.util.List;
-import org.keycloak.connections.jpa.entityprovider.JpaEntityProvider;
-
/**
* @author <a href="mailto:erik.mulder@docdatapayments.com">Erik Mulder</a>
*
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/CompanyResource.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/CompanyResource.java
index 197cbce..c26c71f 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/CompanyResource.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/CompanyResource.java
@@ -17,7 +17,10 @@
package org.keycloak.testsuite.domainextension.rest;
-import java.util.List;
+import org.jboss.resteasy.annotations.cache.NoCache;
+import org.keycloak.models.KeycloakSession;
+import org.keycloak.testsuite.domainextension.CompanyRepresentation;
+import org.keycloak.testsuite.domainextension.spi.ExampleService;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -28,11 +31,7 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.jboss.resteasy.annotations.cache.NoCache;
-import org.keycloak.models.KeycloakSession;
-import org.keycloak.testsuite.domainextension.CompanyRepresentation;
-import org.keycloak.testsuite.domainextension.spi.ExampleService;
+import java.util.List;
public class CompanyResource {
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/ExampleRestResource.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/ExampleRestResource.java
index 629acc8..9032884 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/ExampleRestResource.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/rest/ExampleRestResource.java
@@ -17,14 +17,14 @@
package org.keycloak.testsuite.domainextension.rest;
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.NotAuthorizedException;
-import javax.ws.rs.Path;
-
import org.keycloak.models.KeycloakSession;
import org.keycloak.services.managers.AppAuthManager;
import org.keycloak.services.managers.AuthenticationManager;
+import javax.ws.rs.ForbiddenException;
+import javax.ws.rs.NotAuthorizedException;
+import javax.ws.rs.Path;
+
public class ExampleRestResource {
private final KeycloakSession session;
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/ExampleService.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/ExampleService.java
index dd47d96..b17fba9 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/ExampleService.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/ExampleService.java
@@ -17,11 +17,11 @@
package org.keycloak.testsuite.domainextension.spi;
-import java.util.List;
-
import org.keycloak.provider.Provider;
import org.keycloak.testsuite.domainextension.CompanyRepresentation;
+import java.util.List;
+
public interface ExampleService extends Provider {
List<CompanyRepresentation> listCompanies();
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/impl/ExampleServiceImpl.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/impl/ExampleServiceImpl.java
index 213f7e5..6ffaa58 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/impl/ExampleServiceImpl.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/domainextension/spi/impl/ExampleServiceImpl.java
@@ -17,11 +17,6 @@
package org.keycloak.testsuite.domainextension.spi.impl;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.persistence.EntityManager;
-
import org.keycloak.connections.jpa.JpaConnectionProvider;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
@@ -30,6 +25,10 @@ import org.keycloak.testsuite.domainextension.CompanyRepresentation;
import org.keycloak.testsuite.domainextension.jpa.Company;
import org.keycloak.testsuite.domainextension.spi.ExampleService;
+import javax.persistence.EntityManager;
+import java.util.LinkedList;
+import java.util.List;
+
public class ExampleServiceImpl implements ExampleService {
private final KeycloakSession session;
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyConfigurableUserFederationProviderFactory.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyConfigurableUserFederationProviderFactory.java
index ec63c89..f3d701d 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyConfigurableUserFederationProviderFactory.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyConfigurableUserFederationProviderFactory.java
@@ -17,12 +17,12 @@
package org.keycloak.testsuite.federation;
-import java.util.Arrays;
-import java.util.List;
-
import org.keycloak.provider.ConfiguredProvider;
import org.keycloak.provider.ProviderConfigProperty;
+import java.util.Arrays;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationMapper.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationMapper.java
index 214c488..d12a1cf 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationMapper.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationMapper.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.federation;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
import org.keycloak.Config;
import org.keycloak.mappers.FederationConfigValidationException;
import org.keycloak.mappers.UserFederationMapper;
@@ -37,6 +33,10 @@ import org.keycloak.models.UserModel;
import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.representations.idm.UserFederationMapperSyncConfigRepresentation;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProvider.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProvider.java
index 5a8b6d4..58493d0 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProvider.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProvider.java
@@ -27,7 +27,6 @@ import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserModel;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProviderFactory.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProviderFactory.java
index 8bb9e11..df339a9 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProviderFactory.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/federation/DummyUserFederationProviderFactory.java
@@ -26,10 +26,12 @@ import org.keycloak.models.UserFederationProviderFactory;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserFederationSyncResult;
import org.keycloak.models.UserModel;
-import org.keycloak.provider.ConfiguredProvider;
-import org.keycloak.provider.ProviderConfigProperty;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
/**
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughAuthenticator.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughAuthenticator.java
index 0d93627..930cb6a 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughAuthenticator.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughAuthenticator.java
@@ -18,8 +18,8 @@
package org.keycloak.testsuite.forms;
import org.keycloak.Config;
-import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.AuthenticationFlowContext;
+import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.Authenticator;
import org.keycloak.authentication.AuthenticatorFactory;
import org.keycloak.models.AuthenticationExecutionModel;
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughClientAuthenticator.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughClientAuthenticator.java
index 83ee504..b5efe23 100755
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughClientAuthenticator.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/forms/PassThroughClientAuthenticator.java
@@ -17,6 +17,13 @@
package org.keycloak.testsuite.forms;
+import org.keycloak.authentication.AuthenticationFlowError;
+import org.keycloak.authentication.ClientAuthenticationFlowContext;
+import org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator;
+import org.keycloak.models.AuthenticationExecutionModel;
+import org.keycloak.models.ClientModel;
+import org.keycloak.provider.ProviderConfigProperty;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -25,13 +32,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.keycloak.authentication.AuthenticationFlowError;
-import org.keycloak.authentication.ClientAuthenticationFlowContext;
-import org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator;
-import org.keycloak.models.AuthenticationExecutionModel;
-import org.keycloak.models.ClientModel;
-import org.keycloak.provider.ProviderConfigProperty;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/resource/TestingExportImportResource.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/resource/TestingExportImportResource.java
index 4f9151c..a9ff31d 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/resource/TestingExportImportResource.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/resource/TestingExportImportResource.java
@@ -17,7 +17,8 @@
package org.keycloak.testsuite.rest.resource;
-import java.io.File;
+import org.keycloak.exportimport.ExportImportManager;
+import org.keycloak.models.KeycloakSession;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
@@ -27,9 +28,7 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.keycloak.exportimport.ExportImportManager;
-import org.keycloak.models.KeycloakSession;
+import java.io.File;
import static org.keycloak.exportimport.ExportImportConfig.ACTION;
import static org.keycloak.exportimport.ExportImportConfig.DEFAULT_USERS_PER_FILE;
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestApplicationResourceProvider.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestApplicationResourceProvider.java
index 5f392a0..2ec1552 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestApplicationResourceProvider.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestApplicationResourceProvider.java
@@ -27,7 +27,6 @@ import org.keycloak.representations.adapters.action.PushNotBeforeAction;
import org.keycloak.representations.adapters.action.TestAvailabilityAction;
import org.keycloak.services.resource.RealmResourceProvider;
import org.keycloak.services.resources.RealmsResource;
-import org.keycloak.testsuite.rest.resource.TestingExportImportResource;
import org.keycloak.testsuite.rest.resource.TestingOIDCEndpointsApplicationResource;
import javax.ws.rs.Consumes;
@@ -40,7 +39,6 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
-
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestingResourceProvider.java b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestingResourceProvider.java
index 007f3a7..4cbf4e7 100644
--- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestingResourceProvider.java
+++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/java/org/keycloak/testsuite/rest/TestingResourceProvider.java
@@ -17,28 +17,38 @@
package org.keycloak.testsuite.rest;
-import java.io.File;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
import org.infinispan.Cache;
-import org.keycloak.OAuth2Constants;
+import org.jboss.resteasy.annotations.cache.NoCache;
+import org.jboss.resteasy.spi.BadRequestException;
import org.keycloak.common.util.Time;
import org.keycloak.connections.infinispan.InfinispanConnectionProvider;
import org.keycloak.events.Event;
+import org.keycloak.events.EventQuery;
+import org.keycloak.events.EventStoreProvider;
+import org.keycloak.events.EventType;
import org.keycloak.events.admin.AdminEvent;
+import org.keycloak.events.admin.AdminEventQuery;
+import org.keycloak.events.admin.AuthDetails;
+import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
-import org.keycloak.jose.jws.Algorithm;
-import org.keycloak.jose.jws.JWSBuilder;
+import org.keycloak.models.AuthenticationFlowModel;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.FederatedIdentityModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
+import org.keycloak.models.RealmProvider;
+import org.keycloak.models.UserCredentialModel;
+import org.keycloak.models.UserFederationProvider;
+import org.keycloak.models.UserFederationProviderFactory;
+import org.keycloak.models.UserModel;
+import org.keycloak.models.UserProvider;
import org.keycloak.models.UserSessionModel;
import org.keycloak.models.utils.ModelToRepresentation;
-import org.keycloak.protocol.oidc.OIDCLoginProtocol;
-import org.keycloak.protocol.oidc.endpoints.request.AuthorizationEndpointRequest;
import org.keycloak.representations.idm.AdminEventRepresentation;
+import org.keycloak.representations.idm.AuthDetailsRepresentation;
+import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
import org.keycloak.representations.idm.EventRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.services.managers.ClientSessionCode;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.resource.RealmResourceProvider;
@@ -46,6 +56,8 @@ import org.keycloak.testsuite.events.EventsListenerProvider;
import org.keycloak.testsuite.forms.PassThroughAuthenticator;
import org.keycloak.testsuite.forms.PassThroughClientAuthenticator;
import org.keycloak.testsuite.rest.representation.AuthenticatorState;
+import org.keycloak.testsuite.rest.resource.TestingExportImportResource;
+
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.NotFoundException;
@@ -57,33 +69,13 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.jboss.resteasy.annotations.cache.NoCache;
-import org.jboss.resteasy.spi.BadRequestException;
-import org.keycloak.events.EventQuery;
-import org.keycloak.events.EventStoreProvider;
-import org.keycloak.events.EventType;
-import org.keycloak.events.admin.AdminEventQuery;
-import org.keycloak.events.admin.AuthDetails;
-import org.keycloak.events.admin.OperationType;
-import org.keycloak.exportimport.ExportImportManager;
-import org.keycloak.models.AuthenticationFlowModel;
-import org.keycloak.models.ClientModel;
-import org.keycloak.models.FederatedIdentityModel;
-import org.keycloak.models.RealmProvider;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.models.UserFederationProvider;
-import org.keycloak.models.UserFederationProviderFactory;
-import org.keycloak.models.UserModel;
-import org.keycloak.models.UserProvider;
-import org.keycloak.representations.idm.AuthDetailsRepresentation;
-import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.rest.resource.TestingExportImportResource;
-
-import static org.keycloak.exportimport.ExportImportConfig.*;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/test-apps/hello-world-authz-service/src/main/webapp/index.jsp b/testsuite/integration-arquillian/test-apps/hello-world-authz-service/src/main/webapp/index.jsp
index 75f3d6f..0aea6b0 100644
--- a/testsuite/integration-arquillian/test-apps/hello-world-authz-service/src/main/webapp/index.jsp
+++ b/testsuite/integration-arquillian/test-apps/hello-world-authz-service/src/main/webapp/index.jsp
@@ -16,9 +16,9 @@
~
--%>
<%@page import="org.keycloak.AuthorizationContext" %>
+<%@ page import="org.keycloak.KeycloakSecurityContext" %>
<%@ page import="org.keycloak.common.util.KeycloakUriBuilder" %>
<%@ page import="org.keycloak.constants.ServiceUrlConstants" %>
-<%@ page import="org.keycloak.KeycloakSecurityContext" %>
<%@ page import="org.keycloak.representations.idm.authorization.Permission" %>
<%
diff --git a/testsuite/integration-arquillian/test-apps/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml b/testsuite/integration-arquillian/test-apps/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml
index 84bacd5..8421287 100644
--- a/testsuite/integration-arquillian/test-apps/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml
+++ b/testsuite/integration-arquillian/test-apps/photoz/photoz-authz-policy/src/main/resources/META-INF/kmodule.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://jboss.org/kie/6.0.0/kmodule">
+<kmodule
+ xmlns="http://jboss.org/kie/6.0.0/kmodule">
<kbase name="PhotozAuthzAdminPolicy" packages="com.photoz.authz.policy.admin">
<ksession name="MainAdminSession" default="true"/>
diff --git a/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java b/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java
index d0e9c2d..7dd6b24 100644
--- a/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java
+++ b/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/AlbumService.java
@@ -11,10 +11,8 @@ import org.keycloak.example.photoz.util.Transaction;
import org.keycloak.representations.adapters.config.AdapterConfig;
import org.keycloak.util.JsonSerialization;
-import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
diff --git a/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java b/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java
index f7b55cb..92e300d 100644
--- a/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java
+++ b/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/album/ProfileService.java
@@ -17,17 +17,14 @@
*/
package org.keycloak.example.photoz.album;
-import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
import java.security.Principal;
import java.util.List;
diff --git a/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java b/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java
index a3caa78..6f5d5ec 100644
--- a/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java
+++ b/testsuite/integration-arquillian/test-apps/photoz/photoz-restful-api/src/main/java/org/keycloak/example/photoz/util/Transaction.java
@@ -20,7 +20,6 @@ import javax.interceptor.InterceptorBinding;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
-import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
diff --git a/testsuite/integration-arquillian/test-apps/servlets/src/main/java/org/keycloak/testsuite/adapter/servlet/SendUsernameServlet.java b/testsuite/integration-arquillian/test-apps/servlets/src/main/java/org/keycloak/testsuite/adapter/servlet/SendUsernameServlet.java
index 6e70f15..aa29d0c 100755
--- a/testsuite/integration-arquillian/test-apps/servlets/src/main/java/org/keycloak/testsuite/adapter/servlet/SendUsernameServlet.java
+++ b/testsuite/integration-arquillian/test-apps/servlets/src/main/java/org/keycloak/testsuite/adapter/servlet/SendUsernameServlet.java
@@ -26,7 +26,11 @@ import org.keycloak.saml.processing.core.saml.v2.constants.X500SAMLProfileConsta
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AbstractShowTokensPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AbstractShowTokensPage.java
index 6cb1f37..ea7ef6f 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AbstractShowTokensPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AbstractShowTokensPage.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.adapter.page;
-import java.io.IOException;
-
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.RefreshToken;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
@@ -27,6 +25,8 @@ import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import java.io.IOException;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AppServerContextRoot.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AppServerContextRoot.java
index 2512941..634701a 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AppServerContextRoot.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/AppServerContextRoot.java
@@ -17,10 +17,11 @@
package org.keycloak.testsuite.adapter.page;
-import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
-import java.net.URL;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.arquillian.annotation.AppServerContext;
+import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+
+import java.net.URL;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDb.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDb.java
index b2c572b..06a52f9 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDb.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDb.java
@@ -17,11 +17,12 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDbErrorPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDbErrorPage.java
index 569f828..7ba9037 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDbErrorPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerDbErrorPage.java
@@ -17,11 +17,12 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortal.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortal.java
index bde507a..4ec2201 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortal.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/CustomerPortal.java
@@ -17,13 +17,11 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
-import org.jboss.arquillian.graphene.findby.FindByJQuery;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
-import org.keycloak.testsuite.util.WaitUtils;
-import org.openqa.selenium.WebElement;
+
+import java.net.URL;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AbstractFuseExample.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AbstractFuseExample.java
index ae91ab6..1024c3e 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AbstractFuseExample.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AbstractFuseExample.java
@@ -17,9 +17,10 @@
package org.keycloak.testsuite.adapter.page.fuse;
+import org.keycloak.testsuite.adapter.page.AppServerContextRoot;
+
import java.net.MalformedURLException;
import java.net.URL;
-import org.keycloak.testsuite.adapter.page.AppServerContextRoot;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AdminInterface.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AdminInterface.java
index edafa1b..d39b6c2 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AdminInterface.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/fuse/AdminInterface.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.adapter.page.fuse;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.FindBy;
-
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/KerberosPortal.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/KerberosPortal.java
index 931ae02..2ef6068 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/KerberosPortal.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/KerberosPortal.java
@@ -17,12 +17,12 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
-
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
*
* @author pdrozd
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenant.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenant.java
index 9590c30..3cd8663 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenant.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenant.java
@@ -17,13 +17,14 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.MalformedURLException;
-import java.net.URL;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import javax.ws.rs.core.UriBuilder;
+import java.net.MalformedURLException;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenantExample.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenantExample.java
index 8ce2bed..7cff714 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenantExample.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/MultiTenantExample.java
@@ -17,13 +17,14 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.MalformedURLException;
-import java.net.URL;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import javax.ws.rs.core.UriBuilder;
+import java.net.MalformedURLException;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/OfflineToken.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/OfflineToken.java
index 248225e..9eb3b34 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/OfflineToken.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/OfflineToken.java
@@ -2,15 +2,8 @@ package org.keycloak.testsuite.adapter.page;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
-import org.keycloak.representations.AccessToken;
-import org.keycloak.representations.RefreshToken;
-import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
-import org.keycloak.util.JsonSerialization;
import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.FindBy;
-import java.io.IOException;
import java.net.URL;
import static org.keycloak.testsuite.util.WaitUtils.pause;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/PhotozClientAuthzTestApp.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/PhotozClientAuthzTestApp.java
index c76747a..fe98f0d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/PhotozClientAuthzTestApp.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/PhotozClientAuthzTestApp.java
@@ -24,15 +24,12 @@ import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
import org.keycloak.testsuite.page.Form;
import org.keycloak.testsuite.pages.ConsentPage;
import org.keycloak.testsuite.util.URLUtils;
-import org.keycloak.testsuite.util.WaitUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import java.net.URL;
-import java.util.List;
-import static org.keycloak.testsuite.util.WaitUtils.IMPLICIT_ELEMENT_WAIT_MILLIS;
import static org.keycloak.testsuite.util.WaitUtils.pause;
import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortal.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortal.java
index 2eb2c19..6f06ec4 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortal.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/ProductPortal.java
@@ -17,11 +17,12 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SecurePortal.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SecurePortal.java
index d1a51e0..898c93f 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SecurePortal.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SecurePortal.java
@@ -17,11 +17,12 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SessionPortal.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SessionPortal.java
index 63d5b58..11aad09 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SessionPortal.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/SessionPortal.java
@@ -17,11 +17,12 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/TokenMinTTLPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/TokenMinTTLPage.java
index 797ab6c..ad9f2ee 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/TokenMinTTLPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/adapter/page/TokenMinTTLPage.java
@@ -17,11 +17,11 @@
package org.keycloak.testsuite.adapter.page;
-import java.net.URL;
-
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
+import java.net.URL;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/admin/Users.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/admin/Users.java
index a6065f1..5d4ee2e 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/admin/Users.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/admin/Users.java
@@ -16,11 +16,13 @@
*/
package org.keycloak.testsuite.admin;
+import org.keycloak.representations.idm.CredentialRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
+
import java.util.ArrayList;
import java.util.List;
-import org.keycloak.representations.idm.CredentialRepresentation;
+
import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
-import org.keycloak.representations.idm.UserRepresentation;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContainer.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContainer.java
index c284d9a..8be428f 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContainer.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContainer.java
@@ -20,9 +20,10 @@ package org.keycloak.testsuite.arquillian.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContext.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContext.java
index f66c809..5b1117f 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContext.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AppServerContext.java
@@ -20,9 +20,10 @@ package org.keycloak.testsuite.arquillian.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContext.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContext.java
index eeee302..b618583 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContext.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/AuthServerContext.java
@@ -20,9 +20,10 @@ package org.keycloak.testsuite.arquillian.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/UseServletFilter.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/UseServletFilter.java
index dc0b3f4..a94737d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/UseServletFilter.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/annotation/UseServletFilter.java
@@ -1,6 +1,10 @@
package org.keycloak.testsuite.arquillian.annotation;
-import java.lang.annotation.*;
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java
index 11e5fc6..92646f4 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AppServerTestEnricher.java
@@ -9,6 +9,7 @@ import org.jboss.arquillian.test.spi.annotation.ClassScoped;
import org.jboss.arquillian.test.spi.event.suite.BeforeClass;
import org.jboss.logging.Logger;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java
index d958e6e..ba82396 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/AuthServerTestEnricher.java
@@ -16,12 +16,6 @@
*/
package org.keycloak.testsuite.arquillian;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
import org.jboss.arquillian.container.spi.Container;
import org.jboss.arquillian.container.spi.ContainerRegistry;
import org.jboss.arquillian.container.spi.event.StartContainer;
@@ -40,6 +34,12 @@ import org.jboss.logging.Logger;
import org.keycloak.testsuite.util.LogChecker;
import org.keycloak.testsuite.util.OAuthClient;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainerInfo.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainerInfo.java
index a6bcdc5..dde3c8f 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainerInfo.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainerInfo.java
@@ -1,9 +1,10 @@
package org.keycloak.testsuite.arquillian;
+import org.jboss.arquillian.container.spi.Container;
+
import java.net.URL;
import java.util.Map;
import java.util.Objects;
-import org.jboss.arquillian.container.spi.Container;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/MultipleContainersExtension.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/MultipleContainersExtension.java
index ef7cd7a..7b5e5d7 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/MultipleContainersExtension.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/MultipleContainersExtension.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.testsuite.arquillian.containers;
-import java.util.logging.Logger;
-
import org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler;
import org.jboss.arquillian.container.impl.client.container.ContainerDeployController;
import org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController;
@@ -27,6 +25,8 @@ import org.jboss.arquillian.container.impl.context.ContainerContextImpl;
import org.jboss.arquillian.container.impl.context.DeploymentContextImpl;
import org.jboss.arquillian.core.spi.LoadableExtension;
+import java.util.logging.Logger;
+
/**
* Enables multiple container adapters on classpath.
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java
index 6bbe084..5bdd1cd 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/Registry.java
@@ -16,13 +16,6 @@
*/
package org.keycloak.testsuite.arquillian.containers;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
import org.jboss.arquillian.config.descriptor.api.ContainerDef;
import org.jboss.arquillian.container.impl.ContainerCreationException;
import org.jboss.arquillian.container.impl.ContainerImpl;
@@ -34,6 +27,14 @@ import org.jboss.arquillian.container.spi.client.deployment.TargetDescription;
import org.jboss.arquillian.core.api.Injector;
import org.jboss.arquillian.core.spi.ServiceLoader;
import org.jboss.arquillian.core.spi.Validate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import static org.keycloak.testsuite.arquillian.containers.RegistryCreator.ADAPTER_IMPL_CONFIG_STRING;
import static org.keycloak.testsuite.arquillian.containers.RegistryCreator.getAdapterImplClassValue;
import static org.keycloak.testsuite.arquillian.containers.RegistryCreator.getContainerAdapter;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java
index f330ab9..99b6772 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/containers/RegistryCreator.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.testsuite.arquillian.containers;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
import org.jboss.arquillian.config.descriptor.api.ArquillianDescriptor;
import org.jboss.arquillian.config.descriptor.api.ContainerDef;
import org.jboss.arquillian.config.descriptor.api.GroupDef;
@@ -34,6 +30,11 @@ import org.jboss.arquillian.core.api.annotation.Observes;
import org.jboss.arquillian.core.spi.ServiceLoader;
import org.jboss.arquillian.core.spi.Validate;
import org.jboss.logging.Logger;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
import static org.keycloak.testsuite.arquillian.containers.SecurityActions.isClassPresent;
import static org.keycloak.testsuite.arquillian.containers.SecurityActions.loadClass;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentArchiveProcessor.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentArchiveProcessor.java
index 4af2988..d610957 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentArchiveProcessor.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentArchiveProcessor.java
@@ -38,9 +38,18 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import static org.keycloak.testsuite.arquillian.AppServerTestEnricher.*;
+import static org.keycloak.testsuite.arquillian.AppServerTestEnricher.hasAppServerContainerAnnotation;
+import static org.keycloak.testsuite.arquillian.AppServerTestEnricher.isRelative;
+import static org.keycloak.testsuite.arquillian.AppServerTestEnricher.isTomcatAppServer;
import static org.keycloak.testsuite.arquillian.AuthServerTestEnricher.getAuthServerContextRoot;
-import static org.keycloak.testsuite.util.IOUtil.*;
+import static org.keycloak.testsuite.util.IOUtil.appendChildInDocument;
+import static org.keycloak.testsuite.util.IOUtil.documentToString;
+import static org.keycloak.testsuite.util.IOUtil.getElementTextContent;
+import static org.keycloak.testsuite.util.IOUtil.loadJson;
+import static org.keycloak.testsuite.util.IOUtil.loadXML;
+import static org.keycloak.testsuite.util.IOUtil.modifyDocElementAttribute;
+import static org.keycloak.testsuite.util.IOUtil.modifyDocElementValue;
+import static org.keycloak.testsuite.util.IOUtil.removeElementFromDoc;
;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentTargetModifier.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentTargetModifier.java
index b867c7c..3a4d0b9 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentTargetModifier.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/DeploymentTargetModifier.java
@@ -17,12 +17,14 @@
package org.keycloak.testsuite.arquillian;
-import java.util.List;
import org.jboss.arquillian.container.spi.client.deployment.DeploymentDescription;
import org.jboss.arquillian.container.spi.client.deployment.TargetDescription;
import org.jboss.arquillian.container.test.impl.client.deployment.AnnotationDeploymentScenarioGenerator;
import org.jboss.arquillian.test.spi.TestClass;
import org.jboss.logging.Logger;
+
+import java.util.List;
+
import static org.keycloak.testsuite.arquillian.AppServerTestEnricher.getAppServerQualifier;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/h2/H2TestEnricher.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/h2/H2TestEnricher.java
index 705cbad..2e9d5c3 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/h2/H2TestEnricher.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/h2/H2TestEnricher.java
@@ -1,11 +1,12 @@
package org.keycloak.testsuite.arquillian.h2;
-import java.sql.SQLException;
+import org.h2.tools.Server;
import org.jboss.arquillian.core.api.annotation.Observes;
import org.jboss.arquillian.test.spi.event.suite.AfterSuite;
import org.jboss.arquillian.test.spi.event.suite.BeforeSuite;
import org.jboss.logging.Logger;
-import org.h2.tools.Server;
+
+import java.sql.SQLException;
/**
* Starts H2 before suite and stops it after.
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
index 899a731..c9a9d89 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/KeycloakArquillianExtension.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.arquillian;
-import org.keycloak.testsuite.arquillian.provider.*;
-import org.jboss.arquillian.container.spi.client.container.DeployableContainer;
import org.jboss.arquillian.container.test.impl.enricher.resource.URLResourceProvider;
import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
import org.jboss.arquillian.container.test.spi.client.deployment.DeploymentScenarioGenerator;
@@ -29,6 +27,11 @@ import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;
import org.jboss.arquillian.test.spi.execution.TestExecutionDecider;
import org.keycloak.testsuite.arquillian.h2.H2TestEnricher;
import org.keycloak.testsuite.arquillian.migration.MigrationTestExecutionDecider;
+import org.keycloak.testsuite.arquillian.provider.AdminClientProvider;
+import org.keycloak.testsuite.arquillian.provider.OAuthClientProvider;
+import org.keycloak.testsuite.arquillian.provider.SuiteContextProvider;
+import org.keycloak.testsuite.arquillian.provider.TestContextProvider;
+import org.keycloak.testsuite.arquillian.provider.URLProvider;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/Migration.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/Migration.java
index d43ee65..a9afc80 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/Migration.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/Migration.java
@@ -19,9 +19,10 @@ package org.keycloak.testsuite.arquillian.migration;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Target;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/MigrationTestExecutionDecider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/MigrationTestExecutionDecider.java
index b526870..4c75bae 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/MigrationTestExecutionDecider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/migration/MigrationTestExecutionDecider.java
@@ -16,10 +16,11 @@
*/
package org.keycloak.testsuite.arquillian.migration;
-import java.lang.reflect.Method;
import org.jboss.arquillian.test.spi.execution.ExecutionDecision;
import org.jboss.arquillian.test.spi.execution.TestExecutionDecider;
+import java.lang.reflect.Method;
+
/**
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
* @author tkyjovsk (refactoring)
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/AdminClientProvider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/AdminClientProvider.java
index 8d044fc..be84b12 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/AdminClientProvider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/AdminClientProvider.java
@@ -17,13 +17,14 @@
package org.keycloak.testsuite.arquillian.provider;
-import java.lang.annotation.Annotation;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;
import org.keycloak.admin.client.Keycloak;
+import java.lang.annotation.Annotation;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/SuiteContextProvider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/SuiteContextProvider.java
index ef57b86..90708c9 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/SuiteContextProvider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/SuiteContextProvider.java
@@ -17,12 +17,13 @@
package org.keycloak.testsuite.arquillian.provider;
-import org.keycloak.testsuite.arquillian.SuiteContext;
-import java.lang.annotation.Annotation;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;
+import org.keycloak.testsuite.arquillian.SuiteContext;
+
+import java.lang.annotation.Annotation;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/TestContextProvider.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/TestContextProvider.java
index 6656e5e..aefe3b3 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/TestContextProvider.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/provider/TestContextProvider.java
@@ -17,12 +17,13 @@
package org.keycloak.testsuite.arquillian.provider;
-import org.keycloak.testsuite.arquillian.TestContext;
-import java.lang.annotation.Annotation;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.arquillian.test.spi.enricher.resource.ResourceProvider;
+import org.keycloak.testsuite.arquillian.TestContext;
+
+import java.lang.annotation.Annotation;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java
index d576b49..a9092a3 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java
@@ -21,7 +21,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import static org.keycloak.testsuite.util.MailServerConfiguration.*;
+
+import static org.keycloak.testsuite.util.MailServerConfiguration.FROM;
+import static org.keycloak.testsuite.util.MailServerConfiguration.HOST;
+import static org.keycloak.testsuite.util.MailServerConfiguration.PORT;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java
index 8ca2531..706cec9 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountFields.java
@@ -19,12 +19,12 @@ package org.keycloak.testsuite.auth.page.account;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElementIsNotPresent;
-
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElementIsNotPresent;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java
index 0de5299..59c5026 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/AccountManagement.java
@@ -16,14 +16,16 @@
*/
package org.keycloak.testsuite.auth.page.account;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.graphene.findby.FindByJQuery;
import org.keycloak.testsuite.auth.page.AuthRealm;
import org.keycloak.testsuite.page.PageWithLogOutAction;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import javax.ws.rs.core.UriBuilder;
+
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author <a href="mailto:pmensik@redhat.com">Petr Mensik</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/ChangePassword.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/ChangePassword.java
index 08bfb0c..7791e06 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/ChangePassword.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/ChangePassword.java
@@ -16,9 +16,10 @@
*/
package org.keycloak.testsuite.auth.page.account;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.graphene.page.Page;
+import javax.ws.rs.core.UriBuilder;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java
index fc323e9..bcd5de5 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/PasswordFields.java
@@ -17,10 +17,11 @@
package org.keycloak.testsuite.auth.page.account;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/Sessions.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/Sessions.java
index ccf3e49..30c8a9a 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/Sessions.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/account/Sessions.java
@@ -16,13 +16,14 @@
*/
package org.keycloak.testsuite.auth.page.account;
-import java.util.LinkedList;
-import java.util.List;
-import javax.ws.rs.core.UriBuilder;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import javax.ws.rs.core.UriBuilder;
+import java.util.LinkedList;
+import java.util.List;
+
/**
*
* @author <a href="mailto:pmensik@redhat.com">Petr Mensik</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServer.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServer.java
index 14f1e26..b16a834 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServer.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServer.java
@@ -17,10 +17,8 @@
package org.keycloak.testsuite.auth.page;
-import java.net.URI;
import javax.ws.rs.core.UriBuilder;
-import org.jboss.arquillian.test.api.ArquillianResource;
-import org.keycloak.admin.client.Keycloak;
+import java.net.URI;
/**
* Context path of Keycloak auth server.
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServerContextRoot.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServerContextRoot.java
index efcea39..039d318 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServerContextRoot.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/AuthServerContextRoot.java
@@ -17,11 +17,12 @@
package org.keycloak.testsuite.auth.page;
-import java.net.URL;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.arquillian.annotation.AuthServerContext;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
* Context root of the tested Keycloak server.
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Authenticate.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Authenticate.java
index 0bcb72b..c9a8a67 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Authenticate.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Authenticate.java
@@ -17,9 +17,10 @@
package org.keycloak.testsuite.auth.page.login;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.graphene.page.Page;
+import javax.ws.rs.core.UriBuilder;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java
index dcee089..cccd862 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Login.java
@@ -19,8 +19,6 @@ package org.keycloak.testsuite.auth.page.login;
import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.testsuite.auth.page.AuthRealm;
import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.FindBy;
import javax.ws.rs.core.UriBuilder;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java
index 484072c..73ec838 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginActions.java
@@ -16,12 +16,14 @@
*/
package org.keycloak.testsuite.auth.page.login;
-import javax.ws.rs.core.UriBuilder;
import org.keycloak.testsuite.auth.page.AuthRealm;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import javax.ws.rs.core.UriBuilder;
+
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java
index ec92f58..9a38cf6 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/LoginForm.java
@@ -18,15 +18,17 @@ package org.keycloak.testsuite.auth.page.login;
import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.admin.Users.getPasswordOf;
import org.keycloak.testsuite.auth.page.account.AccountFields;
import org.keycloak.testsuite.auth.page.account.PasswordFields;
-import static org.keycloak.testsuite.util.WaitUtils.*;
-
+import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.admin.Users.getPasswordOf;
+import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElementIsNotPresent;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/PageWithLoginUrl.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/PageWithLoginUrl.java
index 72cafab..c6a2075 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/PageWithLoginUrl.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/PageWithLoginUrl.java
@@ -17,9 +17,10 @@
package org.keycloak.testsuite.auth.page.login;
-import java.net.URI;
import org.openqa.selenium.WebDriver;
+import java.net.URI;
+
/**
* Used by util class LoginAssert. Implementing classes: AuthRealm, AdminConsole.
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Registration.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Registration.java
index a0ef5ec..daf8125 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Registration.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/Registration.java
@@ -16,15 +16,15 @@
*/
package org.keycloak.testsuite.auth.page.login;
+import org.jboss.arquillian.graphene.page.Page;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.auth.page.account.AccountFields;
+import org.keycloak.testsuite.auth.page.account.ContactInfoFields;
+import org.keycloak.testsuite.auth.page.account.PasswordFields;
import javax.ws.rs.core.UriBuilder;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.UserRepresentation;
import static org.keycloak.testsuite.admin.Users.getPasswordOf;
-import org.keycloak.testsuite.auth.page.account.ContactInfoFields;
-import org.keycloak.testsuite.auth.page.account.PasswordFields;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java
index faf5624..968c087 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/ResetCredentials.java
@@ -16,14 +16,16 @@
*/
package org.keycloak.testsuite.auth.page.login;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.testsuite.auth.page.account.AccountFields;
import org.keycloak.testsuite.auth.page.account.PasswordFields;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import javax.ws.rs.core.UriBuilder;
+
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateAccount.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateAccount.java
index dc3ccdb..fe55695 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateAccount.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdateAccount.java
@@ -17,9 +17,9 @@
package org.keycloak.testsuite.auth.page.login;
-import org.keycloak.testsuite.auth.page.account.AccountFields;
import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.auth.page.account.AccountFields;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdatePassword.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdatePassword.java
index 7a87791..1acb511 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdatePassword.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/UpdatePassword.java
@@ -17,8 +17,8 @@
package org.keycloak.testsuite.auth.page.login;
-import org.keycloak.testsuite.auth.page.account.PasswordFields;
import org.jboss.arquillian.graphene.page.Page;
+import org.keycloak.testsuite.auth.page.account.PasswordFields;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java
index 848a9fa..bb0d102 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/auth/page/login/VerifyEmail.java
@@ -16,10 +16,11 @@
*/
package org.keycloak.testsuite.auth.page.login;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestApplicationResource.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestApplicationResource.java
index 2d277fd..04417c7 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestApplicationResource.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestApplicationResource.java
@@ -20,9 +20,7 @@ package org.keycloak.testsuite.client.resources;
import org.keycloak.representations.adapters.action.LogoutAction;
import org.keycloak.representations.adapters.action.PushNotBeforeAction;
import org.keycloak.representations.adapters.action.TestAvailabilityAction;
-import org.keycloak.testsuite.rest.resource.TestingOIDCEndpointsApplicationResource;
-import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestExampleCompanyResource.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestExampleCompanyResource.java
index 00d6e28..bc87572 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestExampleCompanyResource.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestExampleCompanyResource.java
@@ -17,7 +17,7 @@
package org.keycloak.testsuite.client.resources;
-import java.util.List;
+import org.keycloak.testsuite.domainextension.CompanyRepresentation;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -28,8 +28,7 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
-import org.keycloak.testsuite.domainextension.CompanyRepresentation;
+import java.util.List;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestingResource.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestingResource.java
index 0dbcd58..9638229 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestingResource.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/client/resources/TestingResource.java
@@ -17,8 +17,7 @@
package org.keycloak.testsuite.client.resources;
-import java.util.List;
-
+import org.jboss.resteasy.annotations.cache.NoCache;
import org.keycloak.representations.idm.AdminEventRepresentation;
import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
import org.keycloak.representations.idm.EventRepresentation;
@@ -35,8 +34,8 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import java.util.List;
import java.util.Map;
-import org.jboss.resteasy.annotations.cache.NoCache;
/**
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsole.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsole.java
index c46b59f..af083ed 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsole.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsole.java
@@ -16,12 +16,9 @@
*/
package org.keycloak.testsuite.console.page;
-import java.net.URI;
-import org.keycloak.testsuite.auth.page.AuthServer;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
-import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
+import org.keycloak.testsuite.auth.page.AuthServer;
import org.keycloak.testsuite.auth.page.login.PageWithLoginUrl;
import org.keycloak.testsuite.console.page.fragment.Menu;
import org.keycloak.testsuite.console.page.fragment.ModalDialog;
@@ -29,6 +26,11 @@ import org.keycloak.testsuite.page.PageWithLogOutAction;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import javax.ws.rs.core.UriBuilder;
+import java.net.URI;
+
+import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleCreate.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleCreate.java
index db854e6..06b591d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleCreate.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleCreate.java
@@ -18,8 +18,9 @@
package org.keycloak.testsuite.console.page;
import javax.ws.rs.core.UriBuilder;
-import static org.keycloak.testsuite.console.page.AdminConsoleRealm.CONSOLE_REALM;
+
import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
+import static org.keycloak.testsuite.console.page.AdminConsoleRealm.CONSOLE_REALM;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java
index fa42371..0280295 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealm.java
@@ -17,14 +17,13 @@
package org.keycloak.testsuite.console.page;
-import org.keycloak.admin.client.resource.RealmResource;
-import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
-
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealmsRoot.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealmsRoot.java
index 467dc21..f1054e5 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealmsRoot.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/AdminConsoleRealmsRoot.java
@@ -17,13 +17,13 @@
package org.keycloak.testsuite.console.page;
-import java.util.List;
-import javax.ws.rs.core.UriBuilder;
-import org.keycloak.admin.client.resource.RealmsResource;
import org.keycloak.testsuite.console.page.fragment.RealmSelector;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import javax.ws.rs.core.UriBuilder;
+import java.util.List;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java
index 60626b9..12b6042 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/events/Config.java
@@ -19,12 +19,13 @@ package org.keycloak.testsuite.console.page.events;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
* @author tkyjovsk
* @author mhajas
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Breadcrumb.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Breadcrumb.java
index 63906a5..9d3c570 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Breadcrumb.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Breadcrumb.java
@@ -17,10 +17,11 @@
package org.keycloak.testsuite.console.page.fragment;
-import java.util.List;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import java.util.List;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
index a29814d..4f128cd 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/DataTable.java
@@ -18,6 +18,7 @@
package org.keycloak.testsuite.console.page.fragment;
import org.jboss.arquillian.drone.api.annotation.Drone;
+import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
@@ -25,8 +26,6 @@ import org.openqa.selenium.support.FindBy;
import java.util.List;
import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-import org.openqa.selenium.By;
import static org.openqa.selenium.By.xpath;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Dropdown.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Dropdown.java
index 070e6c7..e5081e6 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Dropdown.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Dropdown.java
@@ -6,7 +6,7 @@ import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
-import static org.keycloak.testsuite.util.WaitUtils.*;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
/**
* @author Vaclav Muzikar <vmuzikar@redhat.com>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/InputList.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/InputList.java
index a908310..164c797 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/InputList.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/InputList.java
@@ -17,11 +17,13 @@
package org.keycloak.testsuite.console.page.fragment;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+
import java.util.ArrayList;
import java.util.List;
+
import static org.keycloak.testsuite.page.Form.getInputValue;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.FindBy;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java
index d47f951..f64e685 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/Menu.java
@@ -16,13 +16,14 @@
*/
package org.keycloak.testsuite.console.page.fragment;
-import java.util.List;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.By;
-
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import java.util.List;
+
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
index 57918b7..2796fc4 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/ModalDialog.java
@@ -22,7 +22,9 @@ import org.jboss.arquillian.graphene.fragment.Root;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
-import static org.keycloak.testsuite.util.WaitUtils.*;
+
+import static org.keycloak.testsuite.util.WaitUtils.waitForModalFadeIn;
+import static org.keycloak.testsuite.util.WaitUtils.waitForModalFadeOut;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java
index 61dd84f..ccb6817 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/OnOffSwitch.java
@@ -18,11 +18,12 @@ package org.keycloak.testsuite.console.page.fragment;
import org.jboss.arquillian.graphene.fragment.Root;
import org.jboss.arquillian.test.api.ArquillianResource;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/PickList.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/PickList.java
index dd966c6..b40e103 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/PickList.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/fragment/PickList.java
@@ -21,7 +21,6 @@ import org.jboss.arquillian.graphene.fragment.Root;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
-
import org.openqa.selenium.support.ui.Select;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/drone/Different.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/drone/Different.java
index dc78e30..606c752 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/drone/Different.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/drone/Different.java
@@ -17,13 +17,13 @@
package org.keycloak.testsuite.drone;
+import org.jboss.arquillian.drone.api.annotation.Qualifier;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.jboss.arquillian.drone.api.annotation.Qualifier;
-
/**
* Taken from Drone example https://docs.jboss.org/author/display/ARQ/Drone
* This allows you to have more than one instance of a Drone WebDriver.
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java
index a0c475f..59f1021 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractAlert.java
@@ -20,7 +20,6 @@ package org.keycloak.testsuite.page;
import org.jboss.arquillian.drone.api.annotation.Drone;
import org.jboss.arquillian.graphene.fragment.Root;
import org.jboss.logging.Logger;
-
import org.keycloak.testsuite.util.WaitUtils;
import org.openqa.selenium.TimeoutException;
import org.openqa.selenium.WebDriver;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractPage.java
index 5ed6afd..4d002fc 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/AbstractPage.java
@@ -17,16 +17,16 @@
package org.keycloak.testsuite.page;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import javax.ws.rs.core.UriBuilder;
import org.jboss.arquillian.drone.api.annotation.Drone;
import org.jboss.logging.Logger;
-
import org.keycloak.testsuite.util.URLUtils;
import org.openqa.selenium.WebDriver;
+import javax.ws.rs.core.UriBuilder;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java
index 1bec126..6af4998 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/page/Form.java
@@ -18,15 +18,14 @@
package org.keycloak.testsuite.page;
import org.jboss.arquillian.drone.api.annotation.Drone;
-import static org.jboss.arquillian.graphene.Graphene.guardAjax;
import org.jboss.logging.Logger;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-
import org.keycloak.testsuite.util.WaitUtils;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.jboss.arquillian.graphene.Graphene.guardAjax;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java
index 976f211..e573a4b 100755
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/pages/AbstractAccountPage.java
@@ -17,9 +17,7 @@
package org.keycloak.testsuite.pages;
-import org.jboss.arquillian.drone.api.annotation.Drone;
import org.openqa.selenium.By;
-import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/IOUtil.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/IOUtil.java
index 89084d4..015910b 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/IOUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/IOUtil.java
@@ -33,7 +33,14 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
import java.util.concurrent.TimeUnit;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPRule.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPRule.java
index 86b3cae..7aef684 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPRule.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPRule.java
@@ -17,13 +17,13 @@
package org.keycloak.testsuite.util;
-import java.util.Map;
-import java.util.Properties;
-
import org.junit.rules.ExternalResource;
import org.keycloak.models.LDAPConstants;
import org.keycloak.util.ldap.LDAPEmbeddedServer;
+import java.util.Map;
+import java.util.Properties;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPTestConfiguration.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPTestConfiguration.java
index 77c990b..b8b7940 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPTestConfiguration.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/LDAPTestConfiguration.java
@@ -17,24 +17,21 @@
package org.keycloak.testsuite.util;
-import static org.keycloak.testsuite.util.IOUtil.PROJECT_BUILD_DIRECTORY;
+import org.apache.commons.configuration.PropertiesConfiguration;
+import org.jboss.logging.Logger;
+import org.keycloak.common.constants.GenericConstants;
+import org.keycloak.common.constants.KerberosConstants;
+import org.keycloak.models.LDAPConstants;
+import org.keycloak.models.UserFederationProvider;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.net.URL;
import java.util.HashMap;
import java.util.Map;
-import org.apache.commons.configuration.PropertiesConfiguration;
-import org.jboss.logging.Logger;
-import org.keycloak.common.constants.GenericConstants;
-import org.keycloak.common.constants.KerberosConstants;
-import org.keycloak.common.util.FindFile;
-import org.keycloak.models.LDAPConstants;
-import org.keycloak.models.UserFederationProvider;
+import static org.keycloak.testsuite.util.IOUtil.PROJECT_BUILD_DIRECTORY;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/MessageHandlerFactoryImpl.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/MessageHandlerFactoryImpl.java
index 67a2e43..2e5bc9f 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/MessageHandlerFactoryImpl.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/MessageHandlerFactoryImpl.java
@@ -8,7 +8,11 @@ import org.subethamail.smtp.RejectException;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.util.Properties;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/OAuthClient.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/OAuthClient.java
index 2253828..8786ff0 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/OAuthClient.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/OAuthClient.java
@@ -36,11 +36,11 @@ import org.keycloak.admin.client.Keycloak;
import org.keycloak.common.VerificationException;
import org.keycloak.common.util.PemUtils;
import org.keycloak.constants.AdapterConstants;
+import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.jose.jws.JWSInput;
import org.keycloak.jose.jws.crypto.RSAProvider;
import org.keycloak.protocol.oidc.OIDCLoginProtocol;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
-import org.keycloak.jose.jwk.JSONWebKeySet;
import org.keycloak.protocol.oidc.utils.OIDCResponseType;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.IDToken;
@@ -48,7 +48,6 @@ import org.keycloak.representations.RefreshToken;
import org.keycloak.testsuite.arquillian.AuthServerTestEnricher;
import org.keycloak.util.BasicAuthHelper;
import org.keycloak.util.JsonSerialization;
-
import org.keycloak.util.TokenUtil;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/SecondBrowser.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/SecondBrowser.java
index ce90fb2..ceeb7f7 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/SecondBrowser.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/SecondBrowser.java
@@ -16,11 +16,12 @@
*/
package org.keycloak.testsuite.util;
+import org.jboss.arquillian.drone.api.annotation.Qualifier;
+
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.jboss.arquillian.drone.api.annotation.Qualifier;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java
index a23acb6..82c8084 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/Timer.java
@@ -16,6 +16,15 @@
*/
package org.keycloak.testsuite.util;
+import org.apache.commons.io.IOUtils;
+import org.jboss.logging.Logger;
+import org.jfree.chart.ChartFactory;
+import org.jfree.chart.ChartUtilities;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.plot.PlotOrientation;
+import org.jfree.data.xy.XYSeries;
+import org.jfree.data.xy.XYSeriesCollection;
+
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
@@ -26,14 +35,7 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
-import org.apache.commons.io.IOUtils;
-import org.jboss.logging.Logger;
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.ChartUtilities;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
+
import static org.keycloak.testsuite.util.IOUtil.PROJECT_BUILD_DIRECTORY;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/URLUtils.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/URLUtils.java
index 1147bc7..ea7d72c 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/URLUtils.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/URLUtils.java
@@ -10,7 +10,10 @@ import org.openqa.selenium.support.ui.WebDriverWait;
import java.util.regex.Pattern;
-import static org.openqa.selenium.support.ui.ExpectedConditions.*;
+import static org.openqa.selenium.support.ui.ExpectedConditions.not;
+import static org.openqa.selenium.support.ui.ExpectedConditions.or;
+import static org.openqa.selenium.support.ui.ExpectedConditions.urlMatches;
+import static org.openqa.selenium.support.ui.ExpectedConditions.urlToBe;
/**
* @author Vaclav Muzikar <vmuzikar@redhat.com>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/UserInfoClientUtil.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/UserInfoClientUtil.java
index b5af7c9..fc54023 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/UserInfoClientUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/UserInfoClientUtil.java
@@ -17,18 +17,17 @@
package org.keycloak.testsuite.util;
-import java.net.URI;
+import org.junit.Assert;
+import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
+import org.keycloak.representations.UserInfo;
+import org.keycloak.utils.MediaType;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
-
-import org.junit.Assert;
-import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
-import org.keycloak.representations.UserInfo;
-import org.keycloak.utils.MediaType;
+import java.net.URI;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java
index 29a08ca..ea4725a 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java
@@ -16,10 +16,6 @@
*/
package org.keycloak.testsuite.util;
-import java.util.Collections;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import static org.jboss.arquillian.graphene.Graphene.waitGui;
import org.jboss.arquillian.graphene.wait.ElementBuilder;
import org.openqa.selenium.By;
import org.openqa.selenium.TimeoutException;
@@ -27,8 +23,15 @@ import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.WebDriverWait;
-import static org.jboss.arquillian.graphene.Graphene.waitModel;
-import static org.openqa.selenium.support.ui.ExpectedConditions.*;
+import java.util.Collections;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import static org.jboss.arquillian.graphene.Graphene.waitGui;
+import static org.openqa.selenium.support.ui.ExpectedConditions.invisibilityOfAllElements;
+import static org.openqa.selenium.support.ui.ExpectedConditions.javaScriptThrowsNoExceptions;
+import static org.openqa.selenium.support.ui.ExpectedConditions.not;
+import static org.openqa.selenium.support.ui.ExpectedConditions.urlContains;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
index 2ee8f73..5bd733c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
@@ -18,19 +18,6 @@ package org.keycloak.testsuite;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
-import org.keycloak.common.util.KeycloakUriBuilder;
-import org.keycloak.common.util.Time;
-import org.keycloak.testsuite.arquillian.TestContext;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import javax.ws.rs.NotFoundException;
import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.drone.api.annotation.Drone;
import org.jboss.arquillian.graphene.page.Page;
@@ -46,6 +33,8 @@ import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.RealmsResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.admin.client.resource.UsersResource;
+import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.common.util.Time;
import org.keycloak.models.Constants;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
@@ -53,25 +42,33 @@ import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.AuthServerTestEnricher;
import org.keycloak.testsuite.arquillian.SuiteContext;
-import org.keycloak.testsuite.auth.page.WelcomePage;
-import org.keycloak.testsuite.client.KeycloakTestingClient;
-import org.keycloak.testsuite.util.OAuthClient;
-import org.openqa.selenium.WebDriver;
+import org.keycloak.testsuite.arquillian.TestContext;
+import org.keycloak.testsuite.auth.page.AuthRealm;
import org.keycloak.testsuite.auth.page.AuthServer;
import org.keycloak.testsuite.auth.page.AuthServerContextRoot;
-import org.keycloak.testsuite.auth.page.AuthRealm;
-
-import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
-import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
-
+import org.keycloak.testsuite.auth.page.WelcomePage;
import org.keycloak.testsuite.auth.page.account.Account;
import org.keycloak.testsuite.auth.page.login.OIDCLogin;
import org.keycloak.testsuite.auth.page.login.UpdatePassword;
+import org.keycloak.testsuite.client.KeycloakTestingClient;
+import org.keycloak.testsuite.util.OAuthClient;
+import org.keycloak.testsuite.util.TestEventsLogger;
import org.keycloak.testsuite.util.WaitUtils;
+import org.openqa.selenium.WebDriver;
-import static org.keycloak.testsuite.admin.Users.setPasswordFor;
+import javax.ws.rs.NotFoundException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
-import org.keycloak.testsuite.util.TestEventsLogger;
+import static org.keycloak.testsuite.admin.Users.setPasswordFor;
+import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
+import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountTest.java
index 881b8b5..0dc7597 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/AccountTest.java
@@ -16,6 +16,8 @@
*/
package org.keycloak.testsuite.account;
+import org.jboss.arquillian.drone.api.annotation.Drone;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
@@ -24,9 +26,15 @@ import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventType;
import org.keycloak.models.utils.TimeBasedOTP;
+import org.keycloak.representations.idm.EventRepresentation;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.services.resources.AccountService;
import org.keycloak.services.resources.RealmsResource;
import org.keycloak.testsuite.AssertEvents;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
+import org.keycloak.testsuite.admin.ApiUtil;
+import org.keycloak.testsuite.drone.Different;
import org.keycloak.testsuite.pages.AccountApplicationsPage;
import org.keycloak.testsuite.pages.AccountLogPage;
import org.keycloak.testsuite.pages.AccountPasswordPage;
@@ -39,6 +47,9 @@ import org.keycloak.testsuite.pages.ErrorPage;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.RegisterPage;
import org.keycloak.testsuite.util.IdentityProviderBuilder;
+import org.keycloak.testsuite.util.OAuthClient;
+import org.keycloak.testsuite.util.RealmBuilder;
+import org.keycloak.testsuite.util.UserBuilder;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
@@ -47,18 +58,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import org.jboss.arquillian.drone.api.annotation.Drone;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.EventRepresentation;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
-import org.keycloak.testsuite.admin.ApiUtil;
-import org.keycloak.testsuite.drone.Different;
-import org.keycloak.testsuite.util.OAuthClient;
-import org.keycloak.testsuite.util.RealmBuilder;
-import org.keycloak.testsuite.util.UserBuilder;
-
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractAccountManagementTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractAccountManagementTest.java
index 8122e0a..9eda4a4 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractAccountManagementTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractAccountManagementTest.java
@@ -18,14 +18,15 @@
package org.keycloak.testsuite.account.custom;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.keycloak.testsuite.AbstractAuthTest;
-import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
import org.keycloak.testsuite.auth.page.account.AccountManagement;
import org.keycloak.testsuite.auth.page.account.fragment.AccountManagementAlert;
import org.openqa.selenium.support.FindBy;
+import static org.junit.Assert.assertTrue;
+import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractCustomAccountManagementTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractCustomAccountManagementTest.java
index 9b59a60..265b231 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractCustomAccountManagementTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/AbstractCustomAccountManagementTest.java
@@ -17,13 +17,13 @@
package org.keycloak.testsuite.account.custom;
-import java.util.List;
-
import org.junit.Before;
import org.keycloak.admin.client.resource.AuthenticationManagementResource;
import org.keycloak.models.AuthenticationExecutionModel;
import org.keycloak.representations.idm.AuthenticationExecutionInfoRepresentation;
+import java.util.List;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowCookieTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowCookieTest.java
index 1755cb0..aa86133 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowCookieTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowCookieTest.java
@@ -16,13 +16,14 @@
*/
package org.keycloak.testsuite.account.custom;
-import java.util.Arrays;
-import static org.junit.Assert.assertEquals;
-import org.junit.Test;
-
import org.junit.Before;
+import org.junit.Test;
import org.keycloak.models.AuthenticationExecutionModel.Requirement;
import org.keycloak.representations.idm.ClientRepresentation;
+
+import java.util.Arrays;
+
+import static org.junit.Assert.assertEquals;
import static org.keycloak.testsuite.util.OAuthClient.APP_ROOT;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java
index 9334bb9..8d34b02 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/custom/CustomAuthFlowOTPTest.java
@@ -16,17 +16,26 @@
*/
package org.keycloak.testsuite.account.custom;
+import org.jboss.arquillian.graphene.page.Page;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.keycloak.models.AuthenticationExecutionModel.Requirement;
+import org.keycloak.models.utils.TimeBasedOTP;
+import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
+import org.keycloak.representations.idm.AuthenticatorConfigRepresentation;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.RoleRepresentation;
+import org.keycloak.testsuite.admin.Users;
+import org.keycloak.testsuite.auth.page.login.OneTimeCode;
+
+import javax.ws.rs.core.Response;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.ws.rs.core.Response;
-import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Assert;
-import static org.junit.Assert.assertTrue;
-import org.junit.Test;
-import org.junit.Before;
+import static org.junit.Assert.assertTrue;
import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.DEFAULT_OTP_OUTCOME;
import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.FORCE;
import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.FORCE_OTP_FOR_HTTP_HEADER;
@@ -35,16 +44,8 @@ import static org.keycloak.authentication.authenticators.browser.ConditionalOtpF
import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.SKIP;
import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.SKIP_OTP_FOR_HTTP_HEADER;
import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.SKIP_OTP_ROLE;
-import org.keycloak.models.AuthenticationExecutionModel.Requirement;
import static org.keycloak.models.UserModel.RequiredAction.CONFIGURE_TOTP;
-import org.keycloak.models.utils.TimeBasedOTP;
-import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
-import org.keycloak.representations.idm.AuthenticatorConfigRepresentation;
import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.representations.idm.RoleRepresentation;
-import org.keycloak.testsuite.admin.Users;
-import org.keycloak.testsuite.auth.page.login.OneTimeCode;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/ProfileTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/ProfileTest.java
index a1a1813..4d83bd9 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/ProfileTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/ProfileTest.java
@@ -23,25 +23,10 @@ import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
-import org.junit.Test;
-import org.keycloak.OAuth2Constants;
-import org.keycloak.services.resources.RealmsResource;
-import org.keycloak.testsuite.pages.AccountApplicationsPage;
-import org.keycloak.testsuite.pages.AccountUpdateProfilePage;
-import org.keycloak.testsuite.pages.LoginPage;
-import org.keycloak.testsuite.pages.OAuthGrantPage;
-import org.openqa.selenium.JavascriptExecutor;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
-import java.io.IOException;
-import java.net.URI;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
+import org.junit.Test;
+import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.admin.client.resource.RoleMappingResource;
import org.keycloak.admin.client.resource.RoleScopeResource;
@@ -49,15 +34,30 @@ import org.keycloak.models.AccountRoles;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.services.resources.RealmsResource;
import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.admin.ApiUtil;
+import org.keycloak.testsuite.pages.AccountApplicationsPage;
+import org.keycloak.testsuite.pages.AccountUpdateProfilePage;
+import org.keycloak.testsuite.pages.LoginPage;
+import org.keycloak.testsuite.pages.OAuthGrantPage;
import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.RealmBuilder;
import org.keycloak.testsuite.util.RealmRepUtil;
import org.keycloak.testsuite.util.UserBuilder;
+import org.openqa.selenium.JavascriptExecutor;
import twitter4j.JSONArray;
import twitter4j.JSONObject;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.UriBuilder;
+import java.io.IOException;
+import java.net.URI;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/TrustStoreEmailTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/TrustStoreEmailTest.java
index 75ba24e..987982e 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/TrustStoreEmailTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/account/TrustStoreEmailTest.java
@@ -21,14 +21,14 @@ import org.junit.After;
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
-
import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.auth.page.AuthRealm;
import org.keycloak.testsuite.auth.page.account.AccountManagement;
import org.keycloak.testsuite.auth.page.login.OIDCLogin;
import org.keycloak.testsuite.auth.page.login.VerifyEmail;
-import org.keycloak.testsuite.util.*;
-
+import org.keycloak.testsuite.util.MailServerConfiguration;
+import org.keycloak.testsuite.util.RealmRepUtil;
+import org.keycloak.testsuite.util.SslMailServer;
import static org.junit.Assert.assertEquals;
import static org.keycloak.testsuite.util.MailAssert.assertEmailAndGetUrl;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java
index 3b984a7..a6a03ab 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/ActionUtil.java
@@ -17,14 +17,15 @@
package org.keycloak.testsuite.actions;
-import java.util.LinkedList;
-import java.util.List;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.util.UserBuilder;
+import java.util.LinkedList;
+import java.util.List;
+
/**
*
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java
index 7f14fb4..54da2cb 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionEmailVerificationTest.java
@@ -16,6 +16,7 @@
*/
package org.keycloak.testsuite.actions;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
@@ -24,25 +25,23 @@ import org.keycloak.common.util.KeycloakUriBuilder;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventType;
+import org.keycloak.representations.idm.EventRepresentation;
+import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AssertEvents;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
import org.keycloak.testsuite.pages.InfoPage;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.RegisterPage;
import org.keycloak.testsuite.pages.VerifyEmailPage;
+import org.keycloak.testsuite.util.GreenMailRule;
+import org.keycloak.testsuite.util.MailUtils;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.internet.MimeMessage;
-
import java.io.IOException;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.EventRepresentation;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
-import org.keycloak.testsuite.util.GreenMailRule;
-import org.keycloak.testsuite.util.MailUtils;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionMultipleActionsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionMultipleActionsTest.java
index 3c454b0..00fb383 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionMultipleActionsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionMultipleActionsTest.java
@@ -26,8 +26,11 @@ import org.keycloak.models.UserModel.RequiredAction;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.TestRealmKeycloakTest;
-import org.keycloak.testsuite.pages.*;
+import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
+import org.keycloak.testsuite.pages.LoginPage;
+import org.keycloak.testsuite.pages.LoginPasswordUpdatePage;
+import org.keycloak.testsuite.pages.LoginUpdateProfileEditUsernameAllowedPage;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionTotpSetupTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionTotpSetupTest.java
index 5501262..2a1778b 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionTotpSetupTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionTotpSetupTest.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.testsuite.actions;
-import java.util.LinkedList;
-import java.util.List;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Before;
@@ -45,6 +43,9 @@ import org.keycloak.testsuite.pages.LoginTotpPage;
import org.keycloak.testsuite.pages.RegisterPage;
import org.keycloak.testsuite.util.RealmBuilder;
+import java.util.LinkedList;
+import java.util.List;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileTest.java
index 2181eea..df4d387 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/RequiredActionUpdateProfileTest.java
@@ -17,7 +17,9 @@
package org.keycloak.testsuite.actions;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.*;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
import org.keycloak.events.Details;
import org.keycloak.events.EventType;
import org.keycloak.models.UserModel;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/TermsAndConditionsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/TermsAndConditionsTest.java
index ee5f6c9..6fbd614 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/TermsAndConditionsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/actions/TermsAndConditionsTest.java
@@ -16,31 +16,33 @@
*/
package org.keycloak.testsuite.actions;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.keycloak.authentication.requiredactions.TermsAndConditions;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventType;
-import org.keycloak.models.RequiredActionProviderModel;
+import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AssertEvents;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.TermsAndConditionsPage;
+import org.keycloak.testsuite.util.UserBuilder;
import java.util.List;
import java.util.Map;
-import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Before;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
-import org.keycloak.testsuite.util.UserBuilder;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java
index 9d25421..e89b950 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java
@@ -23,7 +23,13 @@ import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Before;
import org.junit.Test;
-import org.keycloak.admin.client.resource.*;
+import org.keycloak.admin.client.resource.AuthorizationResource;
+import org.keycloak.admin.client.resource.ClientResource;
+import org.keycloak.admin.client.resource.ClientsResource;
+import org.keycloak.admin.client.resource.ResourcesResource;
+import org.keycloak.admin.client.resource.RoleResource;
+import org.keycloak.admin.client.resource.UserResource;
+import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
@@ -39,7 +45,11 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.function.Predicate;
import java.util.stream.Collectors;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EnforcerConfigTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EnforcerConfigTest.java
index 4236b2e..3231beb 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EnforcerConfigTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EnforcerConfigTest.java
@@ -16,7 +16,6 @@
*/
package org.keycloak.testsuite.adapter.example.authorization;
-import org.junit.Assert;
import org.junit.Test;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosAdapterTest.java
index 09b81b4..11d2f64 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosAdapterTest.java
@@ -17,17 +17,6 @@
package org.keycloak.testsuite.adapter.federation;
-import static org.keycloak.testsuite.auth.page.AuthRealm.DEMO;
-import static org.keycloak.testsuite.util.IOUtil.loadRealm;
-
-import java.security.Principal;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;
import org.apache.http.client.params.AuthPolicy;
@@ -67,6 +56,15 @@ import org.keycloak.testsuite.util.LDAPTestConfiguration;
import org.keycloak.util.ldap.KerberosEmbeddedServer;
import org.keycloak.util.ldap.LDAPEmbeddedServer;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import java.security.Principal;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import static org.keycloak.testsuite.util.IOUtil.loadRealm;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosLdapAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosLdapAdapterTest.java
index 127f90a..e7d97b6 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosLdapAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosLdapAdapterTest.java
@@ -17,11 +17,6 @@
package org.keycloak.testsuite.adapter.federation;
-import java.util.Arrays;
-import java.util.Map;
-
-import javax.ws.rs.core.Response;
-
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -36,6 +31,10 @@ import org.keycloak.representations.idm.UserFederationProviderRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
+import javax.ws.rs.core.Response;
+import java.util.Arrays;
+import java.util.Map;
+
/**
* Test of LDAPFederationProvider (Kerberos backed by LDAP)
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosStandaloneAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosStandaloneAdapterTest.java
index cf83762..08b97e7 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosStandaloneAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/AbstractKerberosStandaloneAdapterTest.java
@@ -17,11 +17,6 @@
package org.keycloak.testsuite.adapter.federation;
-import java.util.Arrays;
-import java.util.Map;
-
-import javax.ws.rs.core.Response;
-
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -32,8 +27,10 @@ import org.keycloak.federation.kerberos.KerberosFederationProviderFactory;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserFederationProviderRepresentation;
-import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.firefox.FirefoxProfile;
+
+import javax.ws.rs.core.Response;
+import java.util.Arrays;
+import java.util.Map;
/**
* Test of KerberosFederationProvider (Kerberos not backed by LDAP)
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/KeycloakSPNegoSchemeFactory.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/KeycloakSPNegoSchemeFactory.java
index 502bfe0..fdd5f3f 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/KeycloakSPNegoSchemeFactory.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/federation/KeycloakSPNegoSchemeFactory.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.adapter.federation;
-import java.security.PrivilegedExceptionAction;
-
-import javax.security.auth.Subject;
-
import org.apache.http.auth.AuthScheme;
import org.apache.http.auth.Credentials;
import org.apache.http.impl.auth.SPNegoScheme;
@@ -34,6 +30,9 @@ import org.ietf.jgss.Oid;
import org.keycloak.federation.kerberos.CommonKerberosConfig;
import org.keycloak.federation.kerberos.impl.KerberosUsernamePasswordAuthenticator;
+import javax.security.auth.Subject;
+import java.security.PrivilegedExceptionAction;
+
/**
* Usable for testing only. Username and password are shared for the whole factory
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractDemoServletsAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractDemoServletsAdapterTest.java
index d2415e8..e742b91 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractDemoServletsAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractDemoServletsAdapterTest.java
@@ -41,7 +41,15 @@ import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.adapter.AbstractServletsAdapterTest;
import org.keycloak.testsuite.adapter.filter.AdapterActionsFilter;
-import org.keycloak.testsuite.adapter.page.*;
+import org.keycloak.testsuite.adapter.page.BasicAuth;
+import org.keycloak.testsuite.adapter.page.CustomerDb;
+import org.keycloak.testsuite.adapter.page.CustomerDbErrorPage;
+import org.keycloak.testsuite.adapter.page.CustomerPortal;
+import org.keycloak.testsuite.adapter.page.CustomerPortalSubsystem;
+import org.keycloak.testsuite.adapter.page.InputPortal;
+import org.keycloak.testsuite.adapter.page.ProductPortal;
+import org.keycloak.testsuite.adapter.page.SecurePortal;
+import org.keycloak.testsuite.adapter.page.TokenMinTTLPage;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.auth.page.account.Applications;
import org.keycloak.testsuite.auth.page.login.OAuthGrant;
@@ -71,7 +79,12 @@ import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
import static org.keycloak.testsuite.auth.page.AuthRealm.DEMO;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
@@ -589,7 +602,7 @@ public abstract class AbstractDemoServletsAdapterTest extends AbstractServletsAd
token = tokenMinTTLPage.getAccessToken();
int tokenIssued2 = token.getIssuedAt();
Assert.assertEquals(tokenIssued1, tokenIssued2);
- Assert.assertFalse(token.isExpired());
+ assertFalse(token.isExpired());
// Sets 9 minutes offset and assert access token will be refreshed (accessTokenTimeout is 10 minutes, token-min-ttl is 2 minutes. Hence 8 minutes or more should be sufficient)
setAdapterAndServerTimeOffset(540, tokenMinTTLPage.toString());
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSAMLServletsAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSAMLServletsAdapterTest.java
index 5bdd305..9db0e51 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSAMLServletsAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSAMLServletsAdapterTest.java
@@ -34,7 +34,26 @@ import org.keycloak.saml.BaseSAML2BindingBuilder;
import org.keycloak.saml.SAML2ErrorResponseBuilder;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.testsuite.adapter.AbstractServletsAdapterTest;
-import org.keycloak.testsuite.adapter.page.*;
+import org.keycloak.testsuite.adapter.page.BadAssertionSalesPostSig;
+import org.keycloak.testsuite.adapter.page.BadClientSalesPostSigServlet;
+import org.keycloak.testsuite.adapter.page.BadRealmSalesPostSigServlet;
+import org.keycloak.testsuite.adapter.page.Employee2Servlet;
+import org.keycloak.testsuite.adapter.page.EmployeeServlet;
+import org.keycloak.testsuite.adapter.page.EmployeeSigFrontServlet;
+import org.keycloak.testsuite.adapter.page.EmployeeSigServlet;
+import org.keycloak.testsuite.adapter.page.InputPortal;
+import org.keycloak.testsuite.adapter.page.MissingAssertionSig;
+import org.keycloak.testsuite.adapter.page.SAMLServlet;
+import org.keycloak.testsuite.adapter.page.SalesMetadataServlet;
+import org.keycloak.testsuite.adapter.page.SalesPost2Servlet;
+import org.keycloak.testsuite.adapter.page.SalesPostAssertionAndResponseSig;
+import org.keycloak.testsuite.adapter.page.SalesPostEncServlet;
+import org.keycloak.testsuite.adapter.page.SalesPostPassiveServlet;
+import org.keycloak.testsuite.adapter.page.SalesPostServlet;
+import org.keycloak.testsuite.adapter.page.SalesPostSigEmailServlet;
+import org.keycloak.testsuite.adapter.page.SalesPostSigPersistentServlet;
+import org.keycloak.testsuite.adapter.page.SalesPostSigServlet;
+import org.keycloak.testsuite.adapter.page.SalesPostSigTransientServlet;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.auth.page.login.Login;
import org.keycloak.testsuite.auth.page.login.SAMLIDPInitiatedLogin;
@@ -56,7 +75,9 @@ import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.keycloak.testsuite.auth.page.AuthRealm.SAMLSERVLETDEMO;
-import static org.keycloak.testsuite.util.IOUtil.*;
+import static org.keycloak.testsuite.util.IOUtil.loadRealm;
+import static org.keycloak.testsuite.util.IOUtil.loadXML;
+import static org.keycloak.testsuite.util.IOUtil.modifyDocElementAttribute;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSessionServletAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSessionServletAdapterTest.java
index 0bce8a6..a018bdd 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSessionServletAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/AbstractSessionServletAdapterTest.java
@@ -17,17 +17,11 @@
package org.keycloak.testsuite.adapter.servlet;
-import org.keycloak.testsuite.adapter.AbstractServletsAdapterTest;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.drone.api.annotation.Drone;
import org.jboss.arquillian.graphene.page.Page;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.After;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
import org.junit.Test;
import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.resource.ClientResource;
@@ -35,21 +29,21 @@ import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.adapter.AbstractServletsAdapterTest;
import org.keycloak.testsuite.adapter.page.SessionPortal;
-
-import static org.keycloak.testsuite.auth.page.AuthRealm.DEMO;
-
import org.keycloak.testsuite.auth.page.account.Sessions;
import org.keycloak.testsuite.auth.page.login.Login;
-
-import static org.keycloak.testsuite.admin.ApiUtil.findClientResourceByClientId;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWithLoginUrlOf;
-
import org.keycloak.testsuite.util.SecondBrowser;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.keycloak.testsuite.auth.page.AuthRealm.DEMO;
+import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
+import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWithLoginUrlOf;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java
index 5d51db4..b09209d 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java
@@ -17,12 +17,6 @@
package org.keycloak.testsuite.admin;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -34,6 +28,13 @@ import org.keycloak.testsuite.events.EventsListenerProviderFactory;
import org.keycloak.testsuite.util.AssertAdminEvents;
import org.keycloak.util.JsonSerialization;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* This class adapts the functionality from the old testsuite to make tests
* easier to port.
@@ -102,4 +103,4 @@ public abstract class AbstractAdminTest extends TestRealmKeycloakTest {
}
}
-}
\ No newline at end of file
+}
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ApiUtil.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ApiUtil.java
index 006dc92..4d55e97 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ApiUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ApiUtil.java
@@ -24,22 +24,21 @@ import org.keycloak.admin.client.resource.RoleResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.CredentialRepresentation;
+import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+import javax.ws.rs.core.Response.StatusType;
import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.Response.StatusType;
import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
-import org.keycloak.representations.idm.GroupRepresentation;
-
/**
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AbstractAuthenticationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AbstractAuthenticationTest.java
index c32ba08..540a5dc 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AbstractAuthenticationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AbstractAuthenticationTest.java
@@ -34,12 +34,11 @@ import org.keycloak.testsuite.util.AdminEventPaths;
import org.keycloak.testsuite.util.AssertAdminEvents;
import org.keycloak.testsuite.util.RealmBuilder;
+import javax.ws.rs.core.Response;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
-import javax.ws.rs.core.Response;
-
/**
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AuthenticatorConfigTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AuthenticatorConfigTest.java
index 00c1943..64f8622 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AuthenticatorConfigTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/AuthenticatorConfigTest.java
@@ -17,16 +17,8 @@
package org.keycloak.testsuite.admin.authentication;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-
import org.junit.Before;
import org.junit.Test;
-import org.keycloak.authentication.authenticators.broker.IdpCreateUserIfUniqueAuthenticator;
import org.keycloak.authentication.authenticators.broker.IdpCreateUserIfUniqueAuthenticatorFactory;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
@@ -36,7 +28,12 @@ import org.keycloak.representations.idm.AuthenticatorConfigRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.util.AdminEventPaths;
-import org.keycloak.testsuite.util.AssertAdminEvents;
+
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/InitialFlowsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/InitialFlowsTest.java
index ee79c27..0ec5c8c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/InitialFlowsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/InitialFlowsTest.java
@@ -24,8 +24,6 @@ import org.keycloak.representations.idm.AuthenticationExecutionInfoRepresentatio
import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
import org.keycloak.representations.idm.AuthenticatorConfigRepresentation;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java
index 0f2133b..c46a620 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ProvidersTest.java
@@ -23,6 +23,7 @@ import org.keycloak.representations.idm.AuthenticatorConfigInfoRepresentation;
import org.keycloak.representations.idm.ConfigPropertyRepresentation;
import org.keycloak.testsuite.Assert;
+import javax.ws.rs.NotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -31,8 +32,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import javax.ws.rs.NotFoundException;
-
/**
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RegistrationFlowTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RegistrationFlowTest.java
index c38086b..ce5f344 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RegistrationFlowTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RegistrationFlowTest.java
@@ -17,12 +17,6 @@
package org.keycloak.testsuite.admin.authentication;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.core.Response;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.events.admin.OperationType;
@@ -30,6 +24,10 @@ import org.keycloak.events.admin.ResourceType;
import org.keycloak.representations.idm.AuthenticationFlowRepresentation;
import org.keycloak.testsuite.util.AdminEventPaths;
+import javax.ws.rs.BadRequestException;
+import java.util.HashMap;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RequiredActionsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RequiredActionsTest.java
index 1b7f79f..6d28c12 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RequiredActionsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/RequiredActionsTest.java
@@ -26,6 +26,7 @@ import org.keycloak.representations.idm.RequiredActionProviderSimpleRepresentati
import org.keycloak.testsuite.actions.DummyRequiredActionFactory;
import org.keycloak.testsuite.util.AdminEventPaths;
+import javax.ws.rs.NotFoundException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -33,8 +34,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import javax.ws.rs.NotFoundException;
-
/**
* @author <a href="mailto:mstrukel@redhat.com">Marko Strukelj</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ShiftExecutionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ShiftExecutionTest.java
index ac2ab44..b4c9a70 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ShiftExecutionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/authentication/ShiftExecutionTest.java
@@ -24,8 +24,8 @@ import org.keycloak.events.admin.ResourceType;
import org.keycloak.representations.idm.AuthenticationExecutionInfoRepresentation;
import org.keycloak.testsuite.util.AdminEventPaths;
-import javax.ws.rs.NotFoundException;
import javax.ws.rs.BadRequestException;
+import javax.ws.rs.NotFoundException;
import javax.ws.rs.core.Response;
import java.util.HashMap;
import java.util.List;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractClientTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractClientTest.java
index 813f067..75818b2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractClientTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractClientTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.admin.client;
-import java.util.List;
-import javax.ws.rs.core.Response;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -36,6 +33,9 @@ import org.keycloak.testsuite.util.AdminEventPaths;
import org.keycloak.testsuite.util.AssertAdminEvents;
import org.keycloak.testsuite.util.RealmBuilder;
+import javax.ws.rs.core.Response;
+import java.util.List;
+
/**
*
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractProtocolMapperTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractProtocolMapperTest.java
index af7cf3b..c807f47 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractProtocolMapperTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/AbstractProtocolMapperTest.java
@@ -17,13 +17,6 @@
package org.keycloak.testsuite.admin.client;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import com.fasterxml.jackson.core.type.TypeReference;
import org.keycloak.admin.client.resource.ProtocolMappersResource;
import org.keycloak.events.admin.OperationType;
@@ -33,6 +26,13 @@ import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.util.JsonSerialization;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientProtocolMapperTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientProtocolMapperTest.java
index 3f609b7..53098ff 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientProtocolMapperTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientProtocolMapperTest.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.admin.client;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -31,6 +29,9 @@ import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.util.AdminEventPaths;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateProtocolMapperTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateProtocolMapperTest.java
index 5a82f0d..b8a4796 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateProtocolMapperTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateProtocolMapperTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.admin.client;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -37,6 +34,9 @@ import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.util.AdminEventPaths;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateTest.java
index 113630a..cb13681 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTemplateTest.java
@@ -17,16 +17,6 @@
package org.keycloak.testsuite.admin.client;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.admin.client.resource.ClientTemplatesResource;
@@ -45,6 +35,15 @@ import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.util.AdminEventPaths;
+import javax.ws.rs.BadRequestException;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
import static org.junit.Assert.assertEquals;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTest.java
index 5dddbc5..4adee16 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/ClientTest.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.admin.client;
-import java.util.List;
-
import org.junit.Test;
import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.events.admin.OperationType;
@@ -26,6 +24,8 @@ import org.keycloak.events.admin.ResourceType;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.testsuite.util.AdminEventPaths;
+import java.util.List;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/CredentialsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/CredentialsTest.java
index b76e670..c6468d6 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/CredentialsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/CredentialsTest.java
@@ -22,17 +22,16 @@ import org.junit.Before;
import org.junit.Test;
import org.keycloak.admin.client.resource.ClientAttributeCertificateResource;
import org.keycloak.admin.client.resource.ClientResource;
+import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.representations.KeyStoreConfig;
-import org.keycloak.events.admin.OperationType;
import org.keycloak.representations.idm.CertificateRepresentation;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.testsuite.util.AdminEventPaths;
import javax.ws.rs.core.MediaType;
-
import java.io.ByteArrayInputStream;
import java.net.URL;
import java.nio.charset.Charset;
@@ -44,8 +43,8 @@ import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/InstallationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/InstallationTest.java
index c7339ed..bac5fc0 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/InstallationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/InstallationTest.java
@@ -24,8 +24,8 @@ import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.arquillian.AuthServerTestEnricher;
-import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
/**
* Test getting the installation/configuration files for OIDC and SAML.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/SessionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/SessionTest.java
index 0ba2a41..e25533f 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/SessionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/client/SessionTest.java
@@ -17,7 +17,6 @@
package org.keycloak.testsuite.admin.client;
-import java.util.List;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
import org.junit.Test;
@@ -29,6 +28,8 @@ import org.keycloak.representations.idm.UserSessionRepresentation;
import org.keycloak.testsuite.auth.page.account.AccountManagement;
import org.keycloak.testsuite.util.AdminEventPaths;
+import java.util.List;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientRegTrustedHostTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientRegTrustedHostTest.java
index f430e6a..3d237b6 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientRegTrustedHostTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientRegTrustedHostTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.admin;
-import java.util.List;
-
-import javax.ws.rs.core.Response;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.admin.client.resource.ClientRegistrationTrustedHostResource;
@@ -30,6 +26,9 @@ import org.keycloak.representations.idm.ClientRegistrationTrustedHostRepresentat
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.AdminEventPaths;
+import javax.ws.rs.core.Response;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
index b6f9bde..3589291 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
@@ -31,16 +31,12 @@ import org.keycloak.protocol.oidc.OIDCLoginProtocolFactory;
import org.keycloak.representations.adapters.action.GlobalRequestResult;
import org.keycloak.representations.adapters.action.PushNotBeforeAction;
import org.keycloak.representations.adapters.action.TestAvailabilityAction;
-import org.keycloak.representations.idm.*;
-
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-
-import java.io.IOException;
-import java.util.*;
-
-import org.keycloak.services.ErrorResponseException;
+import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.representations.idm.OAuth2ErrorRepresentation;
+import org.keycloak.representations.idm.ProtocolMapperRepresentation;
+import org.keycloak.representations.idm.RoleRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.representations.idm.UserSessionRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.AdminEventPaths;
import org.keycloak.testsuite.util.ClientBuilder;
@@ -50,6 +46,16 @@ import org.keycloak.testsuite.util.OAuthClient.AccessTokenResponse;
import org.keycloak.testsuite.util.RoleBuilder;
import org.keycloak.testsuite.util.UserBuilder;
+import javax.ws.rs.BadRequestException;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConcurrencyTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConcurrencyTest.java
index aae2794..157a98d 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConcurrencyTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ConcurrencyTest.java
@@ -37,7 +37,8 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java
index 597556c..03df30e 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java
@@ -17,12 +17,13 @@
package org.keycloak.testsuite.admin.event;
-import java.util.Collections;
import org.junit.Before;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.representations.idm.RealmEventsConfigRepresentation;
import org.keycloak.testsuite.AbstractAuthTest;
+import java.util.Collections;
+
/**
*
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventAuthDetailsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventAuthDetailsTest.java
index 195f733..3c388bb 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventAuthDetailsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventAuthDetailsTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.admin.event;
-import java.util.Collections;
-import java.util.List;
-
import org.junit.Before;
import org.junit.ComparisonFailure;
import org.junit.Rule;
@@ -43,6 +40,9 @@ import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.RealmBuilder;
import org.keycloak.testsuite.util.UserBuilder;
+import java.util.Collections;
+import java.util.List;
+
import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java
index d7c0845..2d48ccc 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.admin.event;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.AdminEventRepresentation;
@@ -28,6 +25,10 @@ import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/EventConfigTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/EventConfigTest.java
index 53a07cc..07e3715 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/EventConfigTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/EventConfigTest.java
@@ -17,10 +17,11 @@
package org.keycloak.testsuite.admin.event;
+import org.junit.Test;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java
index fa44674..a4fa8be 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java
@@ -17,15 +17,16 @@
package org.keycloak.testsuite.admin.event;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.testsuite.console.page.events.LoginEvents;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/AbstractGroupTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/AbstractGroupTest.java
index b7c98c3..4574de1 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/AbstractGroupTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/AbstractGroupTest.java
@@ -17,7 +17,6 @@
package org.keycloak.testsuite.admin.group;
-import org.junit.Before;
import org.junit.Rule;
import org.keycloak.OAuth2Constants;
import org.keycloak.RSATokenVerifier;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/GroupTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/GroupTest.java
index 0543238..f44cc2e 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/GroupTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/group/GroupTest.java
@@ -17,7 +17,6 @@
package org.keycloak.testsuite.admin.group;
-import org.hamcrest.Matchers;
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.admin.client.resource.RealmResource;
@@ -25,7 +24,6 @@ import org.keycloak.admin.client.resource.RoleMappingResource;
import org.keycloak.events.admin.OperationType;
import org.keycloak.events.admin.ResourceType;
import org.keycloak.models.Constants;
-import org.keycloak.models.RoleModel;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.CredentialRepresentation;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java
index 834fc36..c9c4191 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/IdentityProviderTest.java
@@ -39,7 +39,6 @@ import org.keycloak.testsuite.util.AdminEventPaths;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.net.URI;
@@ -55,7 +54,10 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/partialimport/PartialImportTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/partialimport/PartialImportTest.java
index 168a6e1..bd3d785 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/partialimport/PartialImportTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/partialimport/PartialImportTest.java
@@ -16,16 +16,6 @@
*/
package org.keycloak.testsuite.admin.partialimport;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.ws.rs.core.Response;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -42,24 +32,31 @@ import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.IdentityProviderRepresentation;
import org.keycloak.representations.idm.PartialImportRepresentation;
+import org.keycloak.representations.idm.PartialImportRepresentation.Policy;
import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.RoleRepresentation;
+import org.keycloak.representations.idm.RolesRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AbstractAuthTest;
+import org.keycloak.testsuite.Assert;
+import org.keycloak.testsuite.admin.ApiUtil;
+import org.keycloak.testsuite.util.AssertAdminEvents;
+import org.keycloak.testsuite.util.RealmBuilder;
+
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import org.keycloak.representations.idm.PartialImportRepresentation.Policy;
-import org.keycloak.representations.idm.RoleRepresentation;
-import org.keycloak.representations.idm.RolesRepresentation;
-import org.keycloak.testsuite.Assert;
-import org.keycloak.testsuite.admin.ApiUtil;
-import org.keycloak.testsuite.util.AdminEventPaths;
-import org.keycloak.testsuite.util.AssertAdminEvents;
-import org.keycloak.testsuite.util.RealmBuilder;
-
/**
* Tests for the partial import endpoint in admin client. Also tests the
* server side functionality of each resource along with "fail, skip, overwrite"
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java
index a0ed2c1..14f8d0a 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/PermissionsTest.java
@@ -17,7 +17,6 @@
package org.keycloak.testsuite.admin;
-import org.apache.bcel.generic.RETURN;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
import org.junit.Rule;
import org.junit.Test;
@@ -73,7 +72,9 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
import static org.keycloak.services.resources.admin.RealmAuth.Resource.AUTHORIZATION;
import static org.keycloak.services.resources.admin.RealmAuth.Resource.CLIENT;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/realm/RealmTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/realm/RealmTest.java
index 926d31d..522f794 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/realm/RealmTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/realm/RealmTest.java
@@ -52,15 +52,21 @@ import javax.ws.rs.BadRequestException;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.core.Response;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.HashSet;
-import java.util.Arrays;
-import java.util.HashMap;
import java.util.Map;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/RoleByIdResourceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/RoleByIdResourceTest.java
index 9297b0f..77c4ea7 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/RoleByIdResourceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/RoleByIdResourceTest.java
@@ -36,7 +36,11 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java
index ae17a70..cd8fbf3 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ServerInfoTest.java
@@ -25,7 +25,8 @@ import org.keycloak.testsuite.AbstractKeycloakTest;
import java.util.List;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java
index dc48b7d..52bfc69 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationLdapConnectionTest.java
@@ -17,14 +17,14 @@
package org.keycloak.testsuite.admin;
-import javax.ws.rs.core.Response;
-
import org.junit.ClassRule;
import org.junit.Test;
import org.keycloak.services.managers.LDAPConnectionTestManager;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.LDAPRule;
+import javax.ws.rs.core.Response;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationMapperTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationMapperTest.java
index 6ee35a7..dce490e 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationMapperTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationMapperTest.java
@@ -17,17 +17,6 @@
package org.keycloak.testsuite.admin;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -48,6 +37,16 @@ import org.keycloak.testsuite.federation.DummyUserFederationMapper;
import org.keycloak.testsuite.util.AdminEventPaths;
import org.keycloak.testsuite.util.UserFederationProviderBuilder;
+import javax.ws.rs.BadRequestException;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationTest.java
index 8cef8a1..48db1b5 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserFederationTest.java
@@ -17,15 +17,6 @@
package org.keycloak.testsuite.admin;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
-
import org.junit.Test;
import org.keycloak.admin.client.resource.UserFederationProvidersResource;
import org.keycloak.common.constants.KerberosConstants;
@@ -43,6 +34,14 @@ import org.keycloak.testsuite.admin.authentication.AbstractAuthenticationTest;
import org.keycloak.testsuite.util.AdminEventPaths;
import org.keycloak.testsuite.util.UserFederationProviderBuilder;
+import javax.ws.rs.BadRequestException;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
index c87bdf1..c3f6c0d 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
@@ -66,7 +66,10 @@ import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import static org.keycloak.testsuite.Assert.assertNames;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTotpTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTotpTest.java
index 28f0305..5ebe415 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTotpTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTotpTest.java
@@ -21,7 +21,6 @@ import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
-import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.events.Details;
import org.keycloak.events.EventType;
import org.keycloak.events.admin.OperationType;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java
index fda9990..1a9c997 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java
@@ -22,8 +22,8 @@ import org.keycloak.representations.idm.ConfigPropertyRepresentation;
import org.keycloak.representations.idm.IdentityProviderRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.representations.idm.UserFederationProviderFactoryRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import java.util.Arrays;
import java.util.LinkedList;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java
index cff2005..0b568b8 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/AbstractBrokerTest.java
@@ -1,13 +1,5 @@
package org.keycloak.testsuite.broker;
-import static org.junit.Assert.assertEquals;
-import static org.keycloak.testsuite.admin.ApiUtil.createUserWithAdminClient;
-import static org.keycloak.testsuite.admin.ApiUtil.resetUserPassword;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.List;
-
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
import org.junit.Test;
@@ -31,6 +23,14 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.keycloak.testsuite.admin.ApiUtil.createUserWithAdminClient;
+import static org.keycloak.testsuite.admin.ApiUtil.resetUserPassword;
+
public abstract class AbstractBrokerTest extends AbstractKeycloakTest {
protected abstract RealmRepresentation createProviderRealm();
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java
index 24ef596..917e566 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcOidcBrokerTest.java
@@ -8,7 +8,15 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
-import static org.keycloak.testsuite.broker.BrokerTestConstants.*;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.CLIENT_ID;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.CLIENT_SECRET;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.IDP_OIDC_ALIAS;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.IDP_OIDC_PROVIDER_ID;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.REALM_CONS_NAME;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.REALM_PROV_NAME;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.USER_EMAIL;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.USER_LOGIN;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.USER_PASSWORD;
public class KcOidcBrokerTest extends AbstractBrokerTest {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlBrokerTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlBrokerTest.java
index 7a8fb9c..b2c83c7 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlBrokerTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlBrokerTest.java
@@ -11,7 +11,13 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.keycloak.testsuite.broker.BrokerTestConstants.*;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.IDP_SAML_ALIAS;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.IDP_SAML_PROVIDER_ID;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.REALM_CONS_NAME;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.REALM_PROV_NAME;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.USER_EMAIL;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.USER_LOGIN;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.USER_PASSWORD;
@Ignore
public class KcSamlBrokerTest extends AbstractBrokerTest {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlSignedBrokerTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlSignedBrokerTest.java
index 1a2eca8..8a64633 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlSignedBrokerTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/broker/KcSamlSignedBrokerTest.java
@@ -9,7 +9,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.keycloak.testsuite.broker.BrokerTestConstants.*;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.IDP_SAML_SIGN_CERT;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.IDP_SAML_SIGN_KEY;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.REALM_PRIVATE_KEY;
+import static org.keycloak.testsuite.broker.BrokerTestConstants.REALM_PUBLIC_KEY;
@Ignore
public class KcSamlSignedBrokerTest extends KcSamlBrokerTest {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/AdapterInstallationConfigTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/AdapterInstallationConfigTest.java
index 818a84a..b2b2eb4 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/AdapterInstallationConfigTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/AdapterInstallationConfigTest.java
@@ -25,7 +25,9 @@ import org.keycloak.common.enums.SslRequired;
import org.keycloak.representations.adapters.config.AdapterConfig;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRedirectTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRedirectTest.java
index dea5e29..42ab6c2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRedirectTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRedirectTest.java
@@ -23,7 +23,7 @@ import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.RealmBuilder;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
/**
* @author <a href="mailto:thomas.darimont@gmail.com">Thomas Darimont</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRegistrationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRegistrationTest.java
index 75acfac..5d1f4ae 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRegistrationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/ClientRegistrationTest.java
@@ -28,7 +28,10 @@ import org.keycloak.representations.idm.ClientRepresentation;
import javax.ws.rs.NotFoundException;
import java.util.Collections;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCClientRegistrationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCClientRegistrationTest.java
index ce39792..b4ab3e5 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCClientRegistrationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCClientRegistrationTest.java
@@ -41,7 +41,11 @@ import java.util.*;
import javax.ws.rs.core.Response;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCPairwiseClientRegistrationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCPairwiseClientRegistrationTest.java
index 6d8e18c..ca4553d 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCPairwiseClientRegistrationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/OIDCPairwiseClientRegistrationTest.java
@@ -18,12 +18,6 @@
package org.keycloak.testsuite.client;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.ws.rs.core.Response;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.admin.client.resource.ClientResource;
@@ -45,6 +39,11 @@ import org.keycloak.testsuite.client.resources.TestOIDCEndpointsApplicationResou
import org.keycloak.testsuite.util.ClientManager;
import org.keycloak.testsuite.util.OAuthClient;
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
import static org.junit.Assert.assertTrue;
public class OIDCPairwiseClientRegistrationTest extends AbstractClientRegistrationTest {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/RegistrationAccessTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/RegistrationAccessTokenTest.java
index 96a0010..23de485 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/RegistrationAccessTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/RegistrationAccessTokenTest.java
@@ -24,7 +24,11 @@ import org.keycloak.client.registration.ClientRegistrationException;
import org.keycloak.client.registration.HttpErrorException;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/SAMLClientRegistrationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/SAMLClientRegistrationTest.java
index f4e0b2e..c3e60a2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/SAMLClientRegistrationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/client/SAMLClientRegistrationTest.java
@@ -25,12 +25,11 @@ import org.keycloak.client.registration.ClientRegistrationException;
import org.keycloak.representations.idm.ClientInitialAccessCreatePresentation;
import org.keycloak.representations.idm.ClientInitialAccessPresentation;
import org.keycloak.representations.idm.ClientRepresentation;
-import org.keycloak.representations.oidc.OIDCClientRepresentation;
import java.io.IOException;
-import java.util.Collections;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractClusterTest.java
index 24b505a..25abe65 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractClusterTest.java
@@ -1,19 +1,21 @@
package org.keycloak.testsuite.cluster;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
import org.jboss.arquillian.container.test.api.ContainerController;
import org.jboss.arquillian.test.api.ArquillianResource;
-import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.models.Constants;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.arquillian.ContainerInfo;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static org.junit.Assert.assertTrue;
import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
import static org.keycloak.testsuite.util.WaitUtils.pause;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractInvalidationClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractInvalidationClusterTest.java
index 89ac450..657ad5b 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractInvalidationClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/AbstractInvalidationClusterTest.java
@@ -1,17 +1,19 @@
package org.keycloak.testsuite.cluster;
-import java.util.ArrayList;
-import java.util.List;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
-import static org.junit.Assert.assertFalse;
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.arquillian.ContainerInfo;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.assertFalse;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/ClientInvalidationClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/ClientInvalidationClusterTest.java
index 506b626..1344d77 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/ClientInvalidationClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/ClientInvalidationClusterTest.java
@@ -1,9 +1,6 @@
package org.keycloak.testsuite.cluster;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
import org.apache.commons.lang.RandomStringUtils;
-import static org.junit.Assert.assertNull;
import org.junit.Before;
import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.admin.client.resource.ClientsResource;
@@ -11,6 +8,11 @@ import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.ContainerInfo;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+
+import static org.junit.Assert.assertNull;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/GroupInvalidationClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/GroupInvalidationClusterTest.java
index 4b9495a..28f13b4 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/GroupInvalidationClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/GroupInvalidationClusterTest.java
@@ -1,14 +1,6 @@
package org.keycloak.testsuite.cluster;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
import org.apache.commons.lang.RandomStringUtils;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.keycloak.admin.client.resource.GroupResource;
import org.keycloak.admin.client.resource.GroupsResource;
@@ -16,6 +8,16 @@ import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.ContainerInfo;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RealmInvalidationClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RealmInvalidationClusterTest.java
index 667dde9..a054e7e 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RealmInvalidationClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RealmInvalidationClusterTest.java
@@ -1,13 +1,15 @@
package org.keycloak.testsuite.cluster;
-import javax.ws.rs.NotFoundException;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNull;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.RealmsResource;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.arquillian.ContainerInfo;
+import javax.ws.rs.NotFoundException;
+
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RoleInvalidationClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RoleInvalidationClusterTest.java
index 6ae2695..c3ae0ea 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RoleInvalidationClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/RoleInvalidationClusterTest.java
@@ -1,13 +1,15 @@
package org.keycloak.testsuite.cluster;
-import javax.ws.rs.NotFoundException;
import org.apache.commons.lang.RandomStringUtils;
-import static org.junit.Assert.assertNull;
import org.keycloak.admin.client.resource.RoleResource;
import org.keycloak.admin.client.resource.RolesResource;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.testsuite.arquillian.ContainerInfo;
+import javax.ws.rs.NotFoundException;
+
+import static org.junit.Assert.assertNull;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/SessionFailoverClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/SessionFailoverClusterTest.java
index f15444d..ca94179 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/SessionFailoverClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/SessionFailoverClusterTest.java
@@ -1,19 +1,21 @@
package org.keycloak.testsuite.cluster;
-import java.util.List;
+import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
-import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
-import static org.keycloak.testsuite.util.WaitUtils.pause;
-import org.openqa.selenium.Cookie;
import org.keycloak.testsuite.page.AbstractPage;
import org.keycloak.testsuite.page.PageWithLogOutAction;
-import org.junit.Before;
+import org.openqa.selenium.Cookie;
+
+import java.util.List;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
+import static org.keycloak.testsuite.util.WaitUtils.pause;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/UserInvalidationClusterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/UserInvalidationClusterTest.java
index 440848e..2e586f5 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/UserInvalidationClusterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/cluster/UserInvalidationClusterTest.java
@@ -1,15 +1,17 @@
package org.keycloak.testsuite.cluster;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.core.Response;
import org.apache.commons.lang.RandomStringUtils;
-import static org.junit.Assert.assertNull;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.arquillian.ContainerInfo;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.core.Response;
+
+import static org.junit.Assert.assertNull;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java
index 854f6ce..e295188 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java
@@ -16,16 +16,17 @@
*/
package org.keycloak.testsuite.composites;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.OAuth2Constants;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.pages.LoginPage;
-import java.util.List;
-import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.testsuite.util.OAuthClient.AccessTokenResponse;
+import java.util.List;
+
import static org.keycloak.testsuite.admin.AbstractAdminTest.loadJson;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeRoleTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeRoleTest.java
index a43aae8..e94edce 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeRoleTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/composites/CompositeRoleTest.java
@@ -16,24 +16,20 @@
*/
package org.keycloak.testsuite.composites;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.keycloak.OAuth2Constants;
-import org.keycloak.representations.AccessToken;
-import org.keycloak.testsuite.pages.LoginPage;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Before;
import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.admin.client.resource.RoleResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.common.enums.SslRequired;
+import org.keycloak.representations.AccessToken;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
+import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.util.ClientBuilder;
import org.keycloak.testsuite.util.OAuthClient.AccessTokenResponse;
import org.keycloak.testsuite.util.RealmBuilder;
@@ -41,6 +37,10 @@ import org.keycloak.testsuite.util.RoleBuilder;
import org.keycloak.testsuite.util.RolesBuilder;
import org.keycloak.testsuite.util.UserBuilder;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/domainextension/CustomExtensionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/domainextension/CustomExtensionTest.java
index 36b5702..24a652b 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/domainextension/CustomExtensionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/domainextension/CustomExtensionTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.domainextension;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AbstractKeycloakTest;
@@ -28,6 +24,10 @@ import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.client.resources.TestExampleCompanyResource;
import org.keycloak.testsuite.util.RealmBuilder;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AbstractEventsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AbstractEventsTest.java
index d94353e..09fd435 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AbstractEventsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AbstractEventsTest.java
@@ -17,12 +17,13 @@
package org.keycloak.testsuite.events;
-import java.util.ArrayList;
-import java.util.List;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.client.resources.TestingResource;
+import java.util.ArrayList;
+import java.util.List;
+
/**
*
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AdminEventStoreProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AdminEventStoreProviderTest.java
index 497fe97..055ed5d 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AdminEventStoreProviderTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/AdminEventStoreProviderTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.events;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
import org.junit.After;
import org.junit.Assert;
import org.junit.Test;
@@ -28,6 +24,10 @@ import org.keycloak.events.admin.OperationType;
import org.keycloak.representations.idm.AdminEventRepresentation;
import org.keycloak.representations.idm.AuthDetailsRepresentation;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
/**
* @author <a href="mailto:giriraj.sharma27@gmail.com">Giriraj Sharma</a>
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/EventStoreProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/EventStoreProviderTest.java
index d8a08fc..5839854 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/EventStoreProviderTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/events/EventStoreProviderTest.java
@@ -18,17 +18,17 @@
package org.keycloak.testsuite.events;
import org.apache.commons.lang3.StringUtils;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.events.EventType;
+import org.keycloak.representations.idm.EventRepresentation;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-import org.junit.After;
-import org.keycloak.representations.idm.EventRepresentation;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/AbstractExportImportTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/AbstractExportImportTest.java
index 26f5bc9..838174d 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/AbstractExportImportTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/AbstractExportImportTest.java
@@ -17,15 +17,15 @@
package org.keycloak.testsuite.exportimport;
-import java.util.HashSet;
-import java.util.Properties;
-import java.util.Set;
-
import org.jboss.arquillian.container.spi.Container;
import org.jboss.arquillian.container.spi.client.container.LifecycleException;
import org.keycloak.exportimport.ExportImportConfig;
import org.keycloak.testsuite.AbstractKeycloakTest;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java
index 43c6fa9..d79d4dc 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java
@@ -17,8 +17,11 @@
package org.keycloak.testsuite.exportimport;
+import org.jboss.arquillian.container.spi.client.container.LifecycleException;
+import org.junit.After;
import org.junit.Assert;
import org.junit.Test;
+import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.common.util.MultivaluedHashMap;
import org.keycloak.exportimport.ExportImportConfig;
import org.keycloak.exportimport.dir.DirExportProvider;
@@ -26,16 +29,12 @@ import org.keycloak.exportimport.dir.DirExportProviderFactory;
import org.keycloak.exportimport.singlefile.SingleFileExportProviderFactory;
import org.keycloak.representations.idm.ComponentRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.util.UserBuilder;
import java.io.File;
import java.net.URL;
import java.util.List;
-import java.util.regex.Matcher;
-import org.jboss.arquillian.container.spi.client.container.LifecycleException;
-import org.junit.After;
-import org.keycloak.admin.client.resource.RealmResource;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.util.UserBuilder;
import static org.keycloak.testsuite.admin.AbstractAdminTest.loadJson;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java
index 19aee3f..030330c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportUtil.java
@@ -17,15 +17,6 @@
package org.keycloak.testsuite.exportimport;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.Predicate;
-
import org.junit.Assert;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.resource.AuthorizationResource;
@@ -62,6 +53,15 @@ import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.client.KeycloakTestingClient;
import org.keycloak.testsuite.util.RealmRepUtil;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Predicate;
+
/**
*
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/LegacyImportTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/LegacyImportTest.java
index c648f5f..45808a3 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/LegacyImportTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/LegacyImportTest.java
@@ -17,12 +17,6 @@
package org.keycloak.testsuite.exportimport;
-import java.io.File;
-import java.net.URL;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-
import org.jboss.arquillian.container.spi.client.container.LifecycleException;
import org.junit.After;
import org.junit.Assert;
@@ -40,6 +34,12 @@ import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
+import java.io.File;
+import java.net.URL;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
/**
* Test importing JSON files exported from previous adminClient versions
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/BruteForceTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/BruteForceTest.java
index 31c297f..c6d0a8c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/BruteForceTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/BruteForceTest.java
@@ -16,7 +16,7 @@
*/
package org.keycloak.testsuite.forms;
-import com.fasterxml.jackson.jaxrs.json.annotation.JSONP;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -27,25 +27,22 @@ import org.keycloak.events.Errors;
import org.keycloak.models.Constants;
import org.keycloak.models.utils.TimeBasedOTP;
import org.keycloak.representations.idm.CredentialRepresentation;
-import org.keycloak.services.managers.DefaultBruteForceProtector;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.AssertEvents.ExpectedEvent;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.LoginTotpPage;
import org.keycloak.testsuite.pages.RegisterPage;
-
-import java.net.MalformedURLException;
-
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.util.GreenMailRule;
import org.keycloak.testsuite.util.OAuthClient;
-import org.keycloak.testsuite.util.UserBuilder;
import org.keycloak.testsuite.util.RealmRepUtil;
+import org.keycloak.testsuite.util.UserBuilder;
+
+import java.net.MalformedURLException;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginHotpTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginHotpTest.java
index d478f04..eb444f4 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginHotpTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginHotpTest.java
@@ -16,31 +16,29 @@
*/
package org.keycloak.testsuite.forms;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.keycloak.events.Details;
import org.keycloak.models.OTPPolicy;
+import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.utils.HmacOTP;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AssertEvents;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.LoginTotpPage;
-
-import java.net.MalformedURLException;
-import java.util.List;
-
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.models.UserCredentialModel;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.util.GreenMailRule;
import org.keycloak.testsuite.util.RealmRepUtil;
import org.keycloak.testsuite.util.UserBuilder;
+import java.net.MalformedURLException;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTest.java
index 01f5854..c4522c6 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTest.java
@@ -37,12 +37,11 @@ import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.LoginPasswordUpdatePage;
import org.keycloak.testsuite.util.RealmBuilder;
import org.keycloak.testsuite.util.UserBuilder;
-import org.keycloak.common.util.Time;
-import java.util.Map;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.Response;
+import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTotpTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTotpTest.java
index 66e6bad..06ebacd 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTotpTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LoginTotpTest.java
@@ -16,27 +16,27 @@
*/
package org.keycloak.testsuite.forms;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.keycloak.events.Details;
import org.keycloak.models.utils.TimeBasedOTP;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AssertEvents;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.LoginTotpPage;
-
-import java.net.MalformedURLException;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.util.GreenMailRule;
import org.keycloak.testsuite.util.RealmRepUtil;
import org.keycloak.testsuite.util.UserBuilder;
+import java.net.MalformedURLException;
+
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LogoutTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LogoutTest.java
index 087d35e..1dd7aac 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LogoutTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/LogoutTest.java
@@ -16,19 +16,21 @@
*/
package org.keycloak.testsuite.forms;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Rule;
import org.junit.Test;
import org.keycloak.events.Details;
+import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AssertEvents;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.LoginPage;
import java.io.IOException;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/RegisterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/RegisterTest.java
index ff1f66a..707b765 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/RegisterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/RegisterTest.java
@@ -17,7 +17,9 @@
package org.keycloak.testsuite.forms;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.*;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
import org.keycloak.events.Details;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java
index 78d20d9..870af00 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java
@@ -16,34 +16,43 @@
*/
package org.keycloak.testsuite.forms;
-import org.junit.*;
+import org.jboss.arquillian.graphene.page.Page;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.events.EventType;
+import org.keycloak.representations.idm.EventRepresentation;
+import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AssertEvents;
-//import org.keycloak.testsuite.Constants;
-import org.keycloak.testsuite.util.MailUtils;
-import org.keycloak.testsuite.pages.*;
+import org.keycloak.testsuite.TestRealmKeycloakTest;
+import org.keycloak.testsuite.pages.AppPage;
import org.keycloak.testsuite.pages.AppPage.RequestType;
+import org.keycloak.testsuite.pages.ErrorPage;
+import org.keycloak.testsuite.pages.InfoPage;
+import org.keycloak.testsuite.pages.LoginPage;
+import org.keycloak.testsuite.pages.LoginPasswordResetPage;
+import org.keycloak.testsuite.pages.LoginPasswordUpdatePage;
+import org.keycloak.testsuite.pages.VerifyEmailPage;
+import org.keycloak.testsuite.util.GreenMailRule;
+import org.keycloak.testsuite.util.MailUtils;
+import org.keycloak.testsuite.util.OAuthClient;
+import org.keycloak.testsuite.util.UserBuilder;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.internet.MimeMessage;
-
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.EventRepresentation;
-import org.keycloak.representations.idm.RealmRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.TestRealmKeycloakTest;
-import org.keycloak.testsuite.util.GreenMailRule;
-import org.keycloak.testsuite.util.OAuthClient;
-import org.keycloak.testsuite.util.UserBuilder;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+//import org.keycloak.testsuite.Constants;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/EmailTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/EmailTest.java
index 7babb68..d42a91b 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/EmailTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/EmailTest.java
@@ -16,22 +16,22 @@
*/
package org.keycloak.testsuite.i18n;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.keycloak.models.UserModel;
+import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.pages.LoginPasswordResetPage;
+import org.keycloak.testsuite.util.GreenMailRule;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.admin.ApiUtil;
-import org.keycloak.testsuite.util.GreenMailRule;
import static org.junit.Assert.assertEquals;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/LoginPageTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/LoginPageTest.java
index c1eb4f3..4a0da21 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/LoginPageTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/i18n/LoginPageTest.java
@@ -17,6 +17,7 @@
package org.keycloak.testsuite.i18n;
import org.apache.http.impl.client.DefaultHttpClient;
+import org.jboss.arquillian.graphene.page.Page;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
import org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationTest.java
index 41a3d44..be9df15 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationTest.java
@@ -16,7 +16,6 @@
*/
package org.keycloak.testsuite.migration;
-import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.admin.client.resource.RealmResource;
@@ -25,6 +24,8 @@ import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.arquillian.migration.Migration;
+import java.util.List;
+
/**
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationUtil.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationUtil.java
index 51e8c65..f5a1e42 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/migration/MigrationUtil.java
@@ -16,12 +16,14 @@
*/
package org.keycloak.testsuite.migration;
-import java.io.File;
import org.keycloak.exportimport.ExportImportConfig;
import org.keycloak.exportimport.singlefile.SingleFileExportProviderFactory;
-import static org.keycloak.testsuite.arquillian.migration.MigrationTestExecutionDecider.MIGRATED_AUTH_SERVER_VERSION_PROPERTY;
import org.keycloak.testsuite.client.KeycloakTestingClient;
+import java.io.File;
+
+import static org.keycloak.testsuite.arquillian.migration.MigrationTestExecutionDecider.MIGRATED_AUTH_SERVER_VERSION_PROPERTY;
+
/**
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java
index dfade95..13c1ea4 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/AccessTokenTest.java
@@ -73,7 +73,6 @@ import javax.ws.rs.core.Form;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;
-
import java.io.IOException;
import java.net.URI;
import java.util.Arrays;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthPostMethodTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthPostMethodTest.java
index a7d395a..3cee8cc 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthPostMethodTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthPostMethodTest.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.oauth;
-import java.io.UnsupportedEncodingException;
-import java.util.LinkedList;
-import java.util.List;
-
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
@@ -40,6 +36,10 @@ import org.keycloak.testsuite.AssertEvents;
import org.keycloak.testsuite.admin.AbstractAdminTest;
import org.keycloak.testsuite.util.OAuthClient;
+import java.io.UnsupportedEncodingException;
+import java.util.LinkedList;
+import java.util.List;
+
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.lessThanOrEqualTo;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java
index 717c311..eba2baf 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ClientAuthSignedJWTTest.java
@@ -41,7 +41,11 @@ import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.authentication.AuthenticationFlowError;
import org.keycloak.authentication.authenticators.client.JWTClientAuthenticator;
import org.keycloak.common.constants.ServiceAccountConstants;
-import org.keycloak.common.util.*;
+import org.keycloak.common.util.BouncyIntegration;
+import org.keycloak.common.util.KeycloakUriBuilder;
+import org.keycloak.common.util.KeystoreUtil;
+import org.keycloak.common.util.Time;
+import org.keycloak.common.util.UriUtils;
import org.keycloak.constants.ServiceUrlConstants;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
@@ -66,7 +70,11 @@ import org.keycloak.testsuite.util.OAuthClient;
import org.keycloak.testsuite.util.RealmBuilder;
import org.keycloak.testsuite.util.UserBuilder;
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.security.KeyPair;
@@ -74,7 +82,11 @@ import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.cert.X509Certificate;
-import java.util.*;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/LoginStatusIframeEndpointTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/LoginStatusIframeEndpointTest.java
index 958362a..437e7d8 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/LoginStatusIframeEndpointTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/LoginStatusIframeEndpointTest.java
@@ -42,7 +42,10 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/OfflineTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/OfflineTokenTest.java
index 9ad2b71..36cab0b 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/OfflineTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/OfflineTokenTest.java
@@ -27,7 +27,6 @@ import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.RoleResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.common.constants.ServiceAccountConstants;
-import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.models.Constants;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java
index 8ae9ab1..517cc67 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java
@@ -23,7 +23,6 @@ import org.junit.Test;
import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.common.enums.SslRequired;
-import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java
index 6796d12..de83d4e 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java
@@ -25,10 +25,8 @@ import org.junit.Test;
import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.authentication.authenticators.client.ClientIdAndSecretAuthenticator;
-import org.keycloak.common.util.Time;
import org.keycloak.events.Details;
import org.keycloak.events.Errors;
-import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.KeycloakModelUtils;
import org.keycloak.models.utils.TimeBasedOTP;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/TokenIntrospectionTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/TokenIntrospectionTest.java
index ec800ed..e557c08 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/TokenIntrospectionTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oauth/TokenIntrospectionTest.java
@@ -39,7 +39,10 @@ import org.keycloak.util.JsonSerialization;
import java.util.ArrayList;
import java.util.List;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
/**
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/AbstractOIDCResponseTypeTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/AbstractOIDCResponseTypeTest.java
index 28c6ff5..6c2189c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/AbstractOIDCResponseTypeTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/AbstractOIDCResponseTypeTest.java
@@ -17,12 +17,6 @@
package org.keycloak.testsuite.oidc.flows;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.List;
-
-import javax.ws.rs.core.UriBuilder;
-
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Rule;
import org.junit.Test;
@@ -42,6 +36,10 @@ import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.util.ClientManager;
import org.keycloak.testsuite.util.OAuthClient;
+import javax.ws.rs.core.UriBuilder;
+import java.io.IOException;
+import java.util.List;
+
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCBasicResponseTypeCodeTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCBasicResponseTypeCodeTest.java
index 355aa42..73e9cb8 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCBasicResponseTypeCodeTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCBasicResponseTypeCodeTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.oidc.flows;
-import java.util.Collections;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.events.Details;
@@ -27,9 +24,11 @@ import org.keycloak.protocol.oidc.utils.OIDCResponseType;
import org.keycloak.representations.IDToken;
import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.testsuite.Assert;
-import org.keycloak.testsuite.util.ClientManager;
import org.keycloak.testsuite.util.OAuthClient;
+import java.util.Collections;
+import java.util.List;
+
/**
* Test for response_type=code
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTest.java
index ebad58a..3fca3b2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.oidc.flows;
-import java.util.Arrays;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.events.Details;
@@ -30,6 +27,9 @@ import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.OAuthClient;
+import java.util.Arrays;
+import java.util.List;
+
/**
* Tests with response_type=code id_token
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTokenTest.java
index dd56c7d..63a9f78 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeIDTokenTokenTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.oidc.flows;
-import java.util.Arrays;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.events.Details;
@@ -30,6 +27,9 @@ import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.OAuthClient;
+import java.util.Arrays;
+import java.util.List;
+
/**
* Tests with response_type=code id_token token
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeTokenTest.java
index 4ce4a28..4b4ba7e 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCHybridResponseTypeCodeTokenTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.oidc.flows;
-import java.util.Collections;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.events.Details;
@@ -29,6 +26,9 @@ import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.OAuthClient;
+import java.util.Collections;
+import java.util.List;
+
/**
* Tests with response_type=code token
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTest.java
index 2a82cd9..103c91f 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.oidc.flows;
-import java.util.Collections;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.events.Details;
@@ -29,6 +26,9 @@ import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.OAuthClient;
+import java.util.Collections;
+import java.util.List;
+
/**
* Tests with response_type=id_token
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTokenTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTokenTest.java
index 899d406..578b1a7 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTokenTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/flows/OIDCImplicitResponseTypeIDTokenTokenTest.java
@@ -17,9 +17,6 @@
package org.keycloak.testsuite.oidc.flows;
-import java.util.Collections;
-import java.util.List;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.events.Details;
@@ -30,6 +27,9 @@ import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.testsuite.Assert;
import org.keycloak.testsuite.util.OAuthClient;
+import java.util.Collections;
+import java.util.List;
+
/**
* Tests with response_type=id_token token
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCAdvancedRequestParamsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCAdvancedRequestParamsTest.java
index ef9c0a3..d551667 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCAdvancedRequestParamsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCAdvancedRequestParamsTest.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.oidc;
-import java.util.List;
-
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
import org.junit.Rule;
@@ -54,6 +52,8 @@ import org.keycloak.testsuite.rest.resource.TestingOIDCEndpointsApplicationResou
import org.keycloak.testsuite.util.ClientManager;
import org.keycloak.testsuite.util.OAuthClient;
+import java.util.List;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCWellKnownProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCWellKnownProviderTest.java
index e1877b8..572d5d2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCWellKnownProviderTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/oidc/OIDCWellKnownProviderTest.java
@@ -17,15 +17,6 @@
package org.keycloak.testsuite.oidc;
-import java.net.URI;
-import java.util.List;
-
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-
import org.junit.Before;
import org.junit.Test;
import org.keycloak.OAuth2Constants;
@@ -45,6 +36,14 @@ import org.keycloak.testsuite.admin.AbstractAdminTest;
import org.keycloak.testsuite.util.ClientManager;
import org.keycloak.testsuite.util.OAuthClient;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriBuilder;
+import java.net.URI;
+import java.util.List;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/TestRealmKeycloakTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/TestRealmKeycloakTest.java
index 040bb4c..869ea1d 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/TestRealmKeycloakTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/TestRealmKeycloakTest.java
@@ -17,19 +17,18 @@
package org.keycloak.testsuite;
-import org.keycloak.OAuth2Constants;
+import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.common.util.reflections.Reflections;
import org.keycloak.events.Details;
import org.keycloak.representations.IDToken;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.EventRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.util.OAuthClient;
import java.lang.reflect.Field;
import java.util.List;
-import org.keycloak.admin.client.resource.RealmResource;
-import org.keycloak.representations.idm.UserRepresentation;
-import org.keycloak.testsuite.util.OAuthClient;
import static org.keycloak.testsuite.admin.AbstractAdminTest.loadJson;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/user/AbstractUserTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/user/AbstractUserTest.java
index d7dbbdc..87a93a1 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/user/AbstractUserTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/user/AbstractUserTest.java
@@ -1,14 +1,16 @@
package org.keycloak.testsuite.user;
-import javax.ws.rs.core.Response;
-import static javax.ws.rs.core.Response.Status.CREATED;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.representations.idm.UserRepresentation;
-import static org.keycloak.testsuite.admin.ApiUtil.getCreatedId;
-import static org.junit.Assert.assertEquals;
import org.keycloak.testsuite.AbstractAuthTest;
+import javax.ws.rs.core.Response;
+
+import static javax.ws.rs.core.Response.Status.CREATED;
+import static org.junit.Assert.assertEquals;
+import static org.keycloak.testsuite.admin.ApiUtil.getCreatedId;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AdminEventPaths.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AdminEventPaths.java
index eddd171..5e5547f 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AdminEventPaths.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AdminEventPaths.java
@@ -17,10 +17,6 @@
package org.keycloak.testsuite.util;
-import java.net.URI;
-
-import javax.ws.rs.core.UriBuilder;
-
import org.keycloak.admin.client.resource.AttackDetectionResource;
import org.keycloak.admin.client.resource.AuthenticationManagementResource;
import org.keycloak.admin.client.resource.ClientAttributeCertificateResource;
@@ -44,6 +40,9 @@ import org.keycloak.admin.client.resource.UserFederationProvidersResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.admin.client.resource.UsersResource;
+import javax.ws.rs.core.UriBuilder;
+import java.net.URI;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AssertAdminEvents.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AssertAdminEvents.java
index c50c022..4736165 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AssertAdminEvents.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AssertAdminEvents.java
@@ -17,17 +17,6 @@
package org.keycloak.testsuite.util;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.core.Response;
-
import com.fasterxml.jackson.core.type.TypeReference;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
@@ -44,13 +33,20 @@ import org.keycloak.jose.jws.JWSInputException;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.idm.AdminEventRepresentation;
import org.keycloak.representations.idm.AuthDetailsRepresentation;
-import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.Assert;
import org.keycloak.util.JsonSerialization;
+import javax.ws.rs.core.Response;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AttributesAssert.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AttributesAssert.java
index b2aa9f9..6990fb0 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AttributesAssert.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/AttributesAssert.java
@@ -18,6 +18,7 @@
package org.keycloak.testsuite.util;
import java.util.List;
+
import static org.junit.Assert.assertEquals;
/**
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java
index b1562df..9de5ae2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java
@@ -17,8 +17,6 @@
package org.keycloak.testsuite.util;
-import java.util.ArrayList;
-import org.keycloak.dom.saml.v2.ac.BooleanType;
import org.keycloak.representations.idm.ClientRepresentation;
import java.util.Arrays;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/CredentialBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/CredentialBuilder.java
index 038f4fb..ea3adb0 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/CredentialBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/CredentialBuilder.java
@@ -18,11 +18,6 @@
package org.keycloak.testsuite.util;
import org.keycloak.representations.idm.CredentialRepresentation;
-import org.keycloak.representations.idm.UserRepresentation;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/FederatedIdentityBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/FederatedIdentityBuilder.java
index 2374f7f..2ce100c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/FederatedIdentityBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/FederatedIdentityBuilder.java
@@ -18,7 +18,6 @@
package org.keycloak.testsuite.util;
import org.keycloak.representations.idm.FederatedIdentityRepresentation;
-import org.keycloak.services.util.P3PHelper;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailAssert.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailAssert.java
index ac90ea8..5d3099b 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailAssert.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailAssert.java
@@ -17,14 +17,17 @@
package org.keycloak.testsuite.util;
-import java.io.IOException;
-import javax.mail.MessagingException;
+import org.jboss.logging.Logger;
+import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
-import org.jboss.logging.Logger;
-import static org.junit.Assert.*;
+import java.io.IOException;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
public class MailAssert {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailServer.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailServer.java
index 2a7306c..985f449 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailServer.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/MailServer.java
@@ -19,16 +19,18 @@ package org.keycloak.testsuite.util;
import com.icegreen.greenmail.util.GreenMail;
import com.icegreen.greenmail.util.ServerSetup;
-import java.io.IOException;
-import java.lang.Thread.UncaughtExceptionHandler;
-import java.net.SocketException;
-import javax.mail.MessagingException;
+import org.jboss.logging.Logger;
+import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;
-import org.jboss.logging.Logger;
-import static org.keycloak.testsuite.util.MailServerConfiguration.*;
+import java.io.IOException;
+import java.lang.Thread.UncaughtExceptionHandler;
+import java.net.SocketException;
+
+import static org.keycloak.testsuite.util.MailServerConfiguration.HOST;
+import static org.keycloak.testsuite.util.MailServerConfiguration.PORT;
public class MailServer {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
index 3653065..1a4c8be 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
@@ -17,16 +17,16 @@
package org.keycloak.testsuite.util;
-import java.util.Collections;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
+import org.keycloak.representations.idm.RolesRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.events.EventsListenerProviderFactory;
+import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
-import org.keycloak.representations.idm.RolesRepresentation;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmRepUtil.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmRepUtil.java
index 7d5b0c0..5d76747 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmRepUtil.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmRepUtil.java
@@ -16,13 +16,14 @@
*/
package org.keycloak.testsuite.util;
-import java.util.HashSet;
-import java.util.Set;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
+import java.util.HashSet;
+import java.util.Set;
+
/**
*
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RoleBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RoleBuilder.java
index 84f38b9..ceadc0c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RoleBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RoleBuilder.java
@@ -17,12 +17,13 @@
package org.keycloak.testsuite.util;
+import org.keycloak.representations.idm.RoleRepresentation;
+import org.keycloak.representations.idm.RoleRepresentation.Composites;
+
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
-import org.keycloak.representations.idm.RoleRepresentation;
-import org.keycloak.representations.idm.RoleRepresentation.Composites;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RolesBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RolesBuilder.java
index 75bd6a0..1544bd1 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RolesBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RolesBuilder.java
@@ -17,11 +17,12 @@
package org.keycloak.testsuite.util;
+import org.keycloak.representations.idm.RoleRepresentation;
+import org.keycloak.representations.idm.RolesRepresentation;
+
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
-import org.keycloak.representations.idm.RoleRepresentation;
-import org.keycloak.representations.idm.RolesRepresentation;
/**
*
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/SslMailServer.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/SslMailServer.java
index 0f87d49..cfaf5e2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/SslMailServer.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/SslMailServer.java
@@ -17,22 +17,33 @@
package org.keycloak.testsuite.util;
+import org.jboss.logging.Logger;
+import org.subethamail.smtp.server.SMTPServer;
+
+import javax.mail.internet.MimeMessage;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManagerFactory;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.net.*;
-import java.security.*;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.SocketException;
+import java.security.KeyManagementException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
import java.util.HashMap;
import java.util.Map;
-import javax.mail.internet.MimeMessage;
-import javax.net.ssl.*;
-
-import org.jboss.logging.Logger;
-import org.subethamail.smtp.server.SMTPServer;
-
-import static org.keycloak.testsuite.util.MailServerConfiguration.*;
+import static org.keycloak.testsuite.util.MailServerConfiguration.FROM;
+import static org.keycloak.testsuite.util.MailServerConfiguration.HOST;
+import static org.keycloak.testsuite.util.MailServerConfiguration.PORT;
import static org.keycloak.testsuite.util.MailServerConfiguration.PORT_SSL;
import static org.keycloak.testsuite.util.MailServerConfiguration.STARTTLS;
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/TestEventsLogger.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/TestEventsLogger.java
index 23a8138..92f3085 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/TestEventsLogger.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/TestEventsLogger.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.testsuite.util;
-import java.io.File;
-import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.jboss.logging.Logger;
import org.junit.runner.Description;
@@ -25,6 +23,9 @@ import org.junit.runner.notification.Failure;
import org.junit.runner.notification.RunListener;
import org.openqa.selenium.WebDriver;
+import java.io.File;
+import java.io.IOException;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/URLAssert.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/URLAssert.java
index 573a334..1b0f8c0 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/URLAssert.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/URLAssert.java
@@ -24,13 +24,10 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.junit.Assert;
-import org.keycloak.testsuite.page.AbstractPage;
-import static org.junit.Assert.assertTrue;
import org.keycloak.testsuite.auth.page.login.PageWithLoginUrl;
+import org.keycloak.testsuite.page.AbstractPage;
import org.openqa.selenium.WebDriver;
-import static org.keycloak.testsuite.util.URLUtils.*;
-
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
@@ -38,6 +35,11 @@ import java.io.StringWriter;
import java.net.URI;
import java.nio.charset.Charset;
+import static org.junit.Assert.assertTrue;
+import static org.keycloak.testsuite.util.URLUtils.currentUrlDoesntStartWith;
+import static org.keycloak.testsuite.util.URLUtils.currentUrlEqual;
+import static org.keycloak.testsuite.util.URLUtils.currentUrlStartWith;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserFederationProviderBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserFederationProviderBuilder.java
index 61f45c7..1f11dd2 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserFederationProviderBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserFederationProviderBuilder.java
@@ -17,11 +17,11 @@
package org.keycloak.testsuite.util;
+import org.keycloak.representations.idm.UserFederationProviderRepresentation;
+
import java.util.HashMap;
import java.util.Map;
-import org.keycloak.representations.idm.UserFederationProviderRepresentation;
-
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/admin-test/saml-idp-metadata.xml b/testsuite/integration-arquillian/tests/base/src/test/resources/admin-test/saml-idp-metadata.xml
index aa3cff1..2bcfc21 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/resources/admin-test/saml-idp-metadata.xml
+++ b/testsuite/integration-arquillian/tests/base/src/test/resources/admin-test/saml-idp-metadata.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<EntityDescriptor entityID="http://localhost:8080/auth/realms/master"
- xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
+>
<IDPSSODescriptor WantAuthnRequestsSigned="true"
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java
index 8c663f2..169cc6e 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCAdapterTest.java
@@ -1,7 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosLdapAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosLdapAdapterTest.java
index 1b0d44b..f9bdaf4 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosLdapAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosLdapAdapterTest.java
@@ -1,9 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.junit.Ignore;
import org.keycloak.testsuite.adapter.federation.AbstractKerberosLdapAdapterTest;
-import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosStandaloneAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosStandaloneAdapterTest.java
index 6503467..2fbc518 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosStandaloneAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPOIDCKerberosStandaloneAdapterTest.java
@@ -1,9 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.junit.Ignore;
import org.keycloak.testsuite.adapter.federation.AbstractKerberosStandaloneAdapterTest;
-import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLFilterAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLFilterAdapterTest.java
index bf739a7..28455cd 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLFilterAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/EAPSAMLFilterAdapterTest.java
@@ -2,7 +2,6 @@ package org.keycloak.testsuite.adapter;
import org.keycloak.testsuite.adapter.servlet.AbstractSAMLFilterServletAdapterTest;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.keycloak.testsuite.arquillian.annotation.UseServletFilter;
/**
* @author mhajas
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EAPServletAuthzAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EAPServletAuthzAdapterTest.java
index 3c789a4..8355037 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EAPServletAuthzAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap/src/test/java/org/keycloak/testsuite/adapter/example/authorization/EAPServletAuthzAdapterTest.java
@@ -17,7 +17,6 @@
package org.keycloak.testsuite.adapter.example.authorization;
import org.jboss.arquillian.container.test.api.RunAsClient;
-import org.keycloak.testsuite.adapter.example.authorization.AbstractDefaultAuthzConfigAdapterTest;
import org.keycloak.testsuite.adapter.example.authorization.AbstractServletAuthzAdapterTest;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCAdapterTest.java
index a834596..4afd228 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCAdapterTest.java
@@ -1,7 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosLdapAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosLdapAdapterTest.java
index 88364d6..4dc41e5 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosLdapAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosLdapAdapterTest.java
@@ -1,9 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.junit.Ignore;
import org.keycloak.testsuite.adapter.federation.AbstractKerberosLdapAdapterTest;
-import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosStandaloneAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosStandaloneAdapterTest.java
index 266b1c8..5bcd834 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosStandaloneAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6OIDCKerberosStandaloneAdapterTest.java
@@ -1,9 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.junit.Ignore;
import org.keycloak.testsuite.adapter.federation.AbstractKerberosStandaloneAdapterTest;
-import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6SAMLFilterAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6SAMLFilterAdapterTest.java
index 1dcf846..71866d6 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6SAMLFilterAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/EAP6SAMLFilterAdapterTest.java
@@ -2,7 +2,6 @@ package org.keycloak.testsuite.adapter;
import org.keycloak.testsuite.adapter.servlet.AbstractSAMLFilterServletAdapterTest;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.keycloak.testsuite.arquillian.annotation.UseServletFilter;
/**
* @author mhajas
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6CorsExampleAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6CorsExampleAdapterTest.java
index 80c7dad..d8a29a2 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6CorsExampleAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/eap6/src/test/java/org/keycloak/testsuite/adapter/example/EAP6CorsExampleAdapterTest.java
@@ -1,7 +1,7 @@
package org.keycloak.testsuite.adapter.example;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
import org.junit.Ignore;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
* @author fkiss
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java
index 799c8a9..3347311 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/main/java/org/keycloak/testsuite/performance/page/AppProfileJEE.java
@@ -1,10 +1,11 @@
package org.keycloak.testsuite.performance.page;
-import java.net.URL;
import org.jboss.arquillian.container.test.api.OperateOnDeployment;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.keycloak.testsuite.page.AbstractPageWithInjectedUrl;
+import java.net.URL;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java
index de8e29f..22726d8 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/htmlunit/HtmlUnitLoginLogoutPerfTest.java
@@ -1,8 +1,5 @@
package org.keycloak.testsuite.performance.htmlunit;
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.graphene.page.Page;
import org.jboss.logging.Logger;
@@ -11,19 +8,24 @@ import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Before;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+import org.keycloak.testsuite.performance.LoginLogoutTestParameters;
+import org.keycloak.testsuite.performance.OperationTimeoutException;
+import org.keycloak.testsuite.performance.PerformanceMeasurement;
+import org.keycloak.testsuite.performance.PerformanceTest;
import org.keycloak.testsuite.performance.page.AppProfileJEE;
import org.openqa.selenium.By;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_REQUEST_TIME;
+import org.openqa.selenium.TimeoutException;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import static org.junit.Assert.assertTrue;
import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.ACCESS_REQUEST_TIME;
+import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_REQUEST_TIME;
import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_VERIFY_REQUEST_TIME;
+import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_REQUEST_TIME;
import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_VERIFY_REQUEST_TIME;
-import org.keycloak.testsuite.performance.PerformanceTest;
-import org.keycloak.testsuite.performance.OperationTimeoutException;
-import org.openqa.selenium.TimeoutException;
-import org.keycloak.testsuite.performance.PerformanceMeasurement;
-import org.keycloak.testsuite.performance.LoginLogoutTestParameters;
-import static org.junit.Assert.assertTrue;
import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.PASSWORD_HASH_ITERATIONS;
import static org.keycloak.testsuite.util.IOUtil.loadRealm;
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java
index 9590958..a853e2b 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientLoginLogoutPerfTest.java
@@ -1,15 +1,5 @@
package org.keycloak.testsuite.performance.httpclient;
-import java.io.File;
-import java.io.IOException;
-import static java.net.HttpURLConnection.HTTP_OK;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import org.apache.http.Header;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
@@ -26,19 +16,31 @@ import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Before;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.keycloak.testsuite.performance.page.AppProfileJEE;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.ACCESS_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_VERIFY_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_VERIFY_REQUEST_TIME;
-import org.keycloak.testsuite.performance.PerformanceTest;
+import org.keycloak.testsuite.performance.LoginLogoutTestParameters;
import org.keycloak.testsuite.performance.OperationTimeoutException;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_REQUEST_TIME;
-import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_REQUEST_TIME;
import org.keycloak.testsuite.performance.PerformanceMeasurement;
-import org.keycloak.testsuite.performance.LoginLogoutTestParameters;
+import org.keycloak.testsuite.performance.PerformanceTest;
+import org.keycloak.testsuite.performance.page.AppProfileJEE;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.SocketException;
+import java.net.SocketTimeoutException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static java.net.HttpURLConnection.HTTP_OK;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.ACCESS_REQUEST_TIME;
+import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_REQUEST_TIME;
+import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGIN_VERIFY_REQUEST_TIME;
+import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_REQUEST_TIME;
+import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.LOGOUT_VERIFY_REQUEST_TIME;
import static org.keycloak.testsuite.performance.LoginLogoutTestParameters.PASSWORD_HASH_ITERATIONS;
import static org.keycloak.testsuite.util.IOUtil.loadRealm;
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientPerformanceTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientPerformanceTest.java
index e6504e5..6e159e4 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientPerformanceTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/httpclient/HttpClientPerformanceTest.java
@@ -1,6 +1,5 @@
package org.keycloak.testsuite.performance.httpclient;
-import java.io.IOException;
import org.apache.http.client.config.CookieSpecs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpDelete;
@@ -19,6 +18,9 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.junit.After;
import org.junit.Before;
import org.keycloak.testsuite.performance.PerformanceTest;
+
+import java.io.IOException;
+
import static org.keycloak.testsuite.performance.PerformanceTest.MAX_THREADS;
/**
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java
index 32ec4a2..2cac117 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceMeasurement.java
@@ -1,5 +1,9 @@
package org.keycloak.testsuite.performance;
+import org.apache.commons.csv.CSVFormat;
+import org.apache.commons.csv.CSVPrinter;
+import org.keycloak.testsuite.performance.statistics.SimpleStatistics;
+
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
@@ -10,10 +14,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
-import org.apache.commons.csv.CSVFormat;
-import org.apache.commons.csv.CSVPrinter;
+
import static org.keycloak.testsuite.performance.PerformanceTest.LOG;
-import org.keycloak.testsuite.performance.statistics.SimpleStatistics;
import static org.keycloak.testsuite.util.IOUtil.PROJECT_BUILD_DIRECTORY;
/**
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java
index 5209bbb..af881c0 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceStatistics.java
@@ -1,11 +1,12 @@
package org.keycloak.testsuite.performance;
-import java.util.concurrent.ConcurrentHashMap;
import org.keycloak.testsuite.performance.statistics.DataHoldingUpdatableStatistic;
import org.keycloak.testsuite.performance.statistics.MovingUpdatableStatistic;
import org.keycloak.testsuite.performance.statistics.SimpleStatistics;
-import org.keycloak.testsuite.performance.statistics.UpdatableStatistics;
import org.keycloak.testsuite.performance.statistics.UpdatableStatistic;
+import org.keycloak.testsuite.performance.statistics.UpdatableStatistics;
+
+import java.util.concurrent.ConcurrentHashMap;
/**
* PerformanceStatistics. Concurrent hash map of UpdatableStatistic objects,
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java
index 24c2d90..caf3afe 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/remote/src/test/java/org/keycloak/testsuite/performance/PerformanceTest.java
@@ -1,16 +1,18 @@
package org.keycloak.testsuite.performance;
+import org.jboss.logging.Logger;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.keycloak.testsuite.adapter.AbstractExampleAdapterTest;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
-import org.jboss.logging.Logger;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.keycloak.testsuite.adapter.AbstractExampleAdapterTest;
+
import static org.keycloak.testsuite.util.WaitUtils.pause;
/**
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/authorization/WildflyServletAuthzAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/authorization/WildflyServletAuthzAdapterTest.java
index d50cf29..6ff0e1f 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/authorization/WildflyServletAuthzAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/example/authorization/WildflyServletAuthzAdapterTest.java
@@ -17,7 +17,6 @@
package org.keycloak.testsuite.adapter.example.authorization;
import org.jboss.arquillian.container.test.api.RunAsClient;
-import org.keycloak.testsuite.adapter.example.authorization.AbstractDefaultAuthzConfigAdapterTest;
import org.keycloak.testsuite.adapter.example.authorization.AbstractServletAuthzAdapterTest;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosLdapAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosLdapAdapterTest.java
index 64dcb60..166ae2c 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosLdapAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosLdapAdapterTest.java
@@ -1,9 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.junit.Ignore;
import org.keycloak.testsuite.adapter.federation.AbstractKerberosLdapAdapterTest;
-import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosStandaloneAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosStandaloneAdapterTest.java
index ce2c796..91711b5 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosStandaloneAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly/src/test/java/org/keycloak/testsuite/adapter/WildflyOIDCKerberosStandaloneAdapterTest.java
@@ -1,9 +1,7 @@
package org.keycloak.testsuite.adapter;
-import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.junit.Ignore;
import org.keycloak.testsuite.adapter.federation.AbstractKerberosStandaloneAdapterTest;
-import org.keycloak.testsuite.adapter.servlet.AbstractDemoServletsAdapterTest;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLFilterAdapterTest.java b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLFilterAdapterTest.java
index 230cafa..97cb6c6 100644
--- a/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLFilterAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/other/adapters/jboss/wildfly9/src/test/java/org/keycloak/testsuite/adapter/Wildfly9SAMLFilterAdapterTest.java
@@ -2,7 +2,6 @@ package org.keycloak.testsuite.adapter;
import org.keycloak.testsuite.adapter.servlet.AbstractSAMLFilterServletAdapterTest;
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
-import org.keycloak.testsuite.arquillian.annotation.UseServletFilter;
/**
* @author mhajas
diff --git a/testsuite/integration-arquillian/tests/other/clean-start/src/test/java/org/keycloak/testsuite/clean/start/CleanStartTest.java b/testsuite/integration-arquillian/tests/other/clean-start/src/test/java/org/keycloak/testsuite/clean/start/CleanStartTest.java
index 31b230f..2fbe818 100644
--- a/testsuite/integration-arquillian/tests/other/clean-start/src/test/java/org/keycloak/testsuite/clean/start/CleanStartTest.java
+++ b/testsuite/integration-arquillian/tests/other/clean-start/src/test/java/org/keycloak/testsuite/clean/start/CleanStartTest.java
@@ -19,10 +19,11 @@ package org.keycloak.testsuite.clean.start;
import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.junit.Arquillian;
-import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
+import static org.junit.Assert.assertTrue;
+
/**
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java
index fd700ba..c2bbe10 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/Authentication.java
@@ -3,6 +3,7 @@ package org.keycloak.testsuite.console.page.authentication;
import org.keycloak.testsuite.console.page.AdminConsoleRealm;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+
import static org.keycloak.testsuite.util.WaitUtils.*;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/bindings/BindingsForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/bindings/BindingsForm.java
index d3e2f66..77f1fe8 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/bindings/BindingsForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/bindings/BindingsForm.java
@@ -21,7 +21,6 @@
*/
package org.keycloak.testsuite.console.page.authentication.bindings;
-import org.keycloak.testsuite.console.page.authentication.bindings.BindingsForm.BindingsSelect;
import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java
index 03c008e..1e3401b 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/flows/FlowsTable.java
@@ -21,11 +21,12 @@
*/
package org.keycloak.testsuite.console.page.authentication.flows;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/otppolicy/OTPPolicyForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/otppolicy/OTPPolicyForm.java
index 8414de9..db3ee9d 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/otppolicy/OTPPolicyForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/otppolicy/OTPPolicyForm.java
@@ -26,8 +26,6 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
-import java.util.List;
-
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
index aef6e93..501583f 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
@@ -1,14 +1,11 @@
package org.keycloak.testsuite.console.page.authentication;
-import org.jboss.arquillian.graphene.findby.ByJQuery;
import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
-import java.util.List;
-
import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Client.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Client.java
index 864ebee..0294a04 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Client.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Client.java
@@ -1,12 +1,12 @@
package org.keycloak.testsuite.console.page.clients;
import org.jboss.arquillian.graphene.fragment.Root;
-import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.testsuite.console.page.fragment.Breadcrumb;
-import static org.keycloak.testsuite.console.page.fragment.Breadcrumb.BREADCRUMB_XPATH;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.console.page.fragment.Breadcrumb.BREADCRUMB_XPATH;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java
index 8f52163..a1588f4 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/Clients.java
@@ -17,15 +17,14 @@
*/
package org.keycloak.testsuite.console.page.clients;
+import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.testsuite.console.page.AdminConsoleRealm;
+import org.keycloak.testsuite.console.page.fragment.DataTable;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import java.util.ArrayList;
import java.util.List;
-import org.keycloak.admin.client.resource.ClientsResource;
-import org.keycloak.representations.idm.ClientRepresentation;
-import org.keycloak.testsuite.console.page.AdminConsoleRealm;
-import org.keycloak.testsuite.console.page.fragment.DataTable;
import static org.openqa.selenium.By.linkText;
import static org.openqa.selenium.By.tagName;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
index c289e67..96ae7b7 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/CreateClientForm.java
@@ -2,13 +2,14 @@ package org.keycloak.testsuite.console.page.clients;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.page.Form.getInputValue;
-import static org.keycloak.testsuite.util.WaitUtils.*;
import org.keycloak.testsuite.util.Timer;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+import static org.keycloak.testsuite.page.Form.getInputValue;
+import static org.keycloak.testsuite.util.WaitUtils.*;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsForm.java
index d105a01..3ec2773 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsForm.java
@@ -25,6 +25,7 @@ import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+
import static org.keycloak.testsuite.util.WaitUtils.*;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java
index f5afcac..9d8063e 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/credentials/ClientCredentialsGeneratePrivateKeysForm.java
@@ -22,11 +22,12 @@
package org.keycloak.testsuite.console.page.clients.credentials;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/ClientMappers.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/ClientMappers.java
index 98eead5..1a1b3f1 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/ClientMappers.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/ClientMappers.java
@@ -1,6 +1,7 @@
package org.keycloak.testsuite.console.page.clients.mappers;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
+import org.keycloak.testsuite.console.page.clients.Client;
import org.keycloak.testsuite.console.page.fragment.DataTable;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
@@ -8,7 +9,6 @@ import org.openqa.selenium.support.FindBy;
import java.util.ArrayList;
import java.util.List;
-import org.keycloak.testsuite.console.page.clients.Client;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java
index 70e4316..a4b3107 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/mappers/CreateClientMappersForm.java
@@ -3,7 +3,6 @@ package org.keycloak.testsuite.console.page.clients.mappers;
import org.jboss.arquillian.drone.api.annotation.Drone;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.keycloak.testsuite.page.Form;
-
import org.keycloak.testsuite.util.WaitUtils;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/ClientRoles.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/ClientRoles.java
index 67bbf52..eacb101 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/ClientRoles.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/ClientRoles.java
@@ -1,7 +1,6 @@
package org.keycloak.testsuite.console.page.clients.roles;
import org.keycloak.testsuite.console.page.clients.*;
-import org.keycloak.admin.client.resource.RolesResource;
import org.keycloak.testsuite.console.page.roles.RolesTable;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/CreateClientRole.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/CreateClientRole.java
index 96e2f03..891ca0b 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/CreateClientRole.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/roles/CreateClientRole.java
@@ -1,8 +1,9 @@
package org.keycloak.testsuite.console.page.clients.roles;
-import static org.keycloak.testsuite.console.page.clients.Client.ID;
import org.keycloak.testsuite.console.page.roles.CreateRole;
+import static org.keycloak.testsuite.console.page.clients.Client.ID;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java
index 4b00a4e..79092cd 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/clients/settings/ClientSettingsForm.java
@@ -1,18 +1,18 @@
package org.keycloak.testsuite.console.page.clients.settings;
import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.testsuite.console.page.clients.CreateClientForm;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
+import org.keycloak.testsuite.page.Form;
import org.keycloak.testsuite.util.Timer;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import org.openqa.selenium.support.ui.Select;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import org.keycloak.testsuite.console.page.clients.CreateClientForm;
-import org.openqa.selenium.support.ui.Select;
-import org.keycloak.testsuite.page.Form;
import static org.keycloak.testsuite.util.WaitUtils.pause;
import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java
index d19bae7..1b815f0 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/KerberosUserProviderForm.java
@@ -1,7 +1,5 @@
package org.keycloak.testsuite.console.page.federation;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.By;
@@ -9,6 +7,8 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
* @author pdrozd
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
index 2b77ee9..0174686 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/LdapUserProviderForm.java
@@ -1,8 +1,5 @@
package org.keycloak.testsuite.console.page.federation;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-
import org.jboss.arquillian.graphene.findby.FindByJQuery;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.keycloak.testsuite.page.Form;
@@ -14,6 +11,8 @@ import org.openqa.selenium.support.ui.Select;
import java.util.ArrayList;
import java.util.List;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
* @author fkiss, pdrozd
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java
index 06405ee..525e130 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/federation/UserFederation.java
@@ -5,12 +5,9 @@ import org.keycloak.testsuite.console.page.AdminConsoleRealm;
import org.keycloak.testsuite.console.page.fragment.DataTable;
import org.keycloak.testsuite.console.page.fragment.ModalDialog;
import org.keycloak.testsuite.util.UIUtils;
-import org.openqa.selenium.By;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-
/**
* @author fkiss
* @author Vaclav Muzikar <vmuzikar@redhat.com>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/idp/IdentityProviderSettings.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/idp/IdentityProviderSettings.java
index f3f91a7..1f176cd 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/idp/IdentityProviderSettings.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/idp/IdentityProviderSettings.java
@@ -17,18 +17,19 @@
*/
package org.keycloak.testsuite.console.page.idp;
-import java.util.ArrayList;
-import java.util.List;
import org.jboss.arquillian.graphene.findby.FindByJQuery;
-import org.keycloak.admin.client.resource.IdentityProvidersResource;
+import org.keycloak.testsuite.console.page.AdminConsoleRealm;
import org.keycloak.testsuite.model.Provider;
import org.keycloak.testsuite.model.SocialProvider;
-import org.keycloak.testsuite.console.page.AdminConsoleRealm;
-import static org.openqa.selenium.By.tagName;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.openqa.selenium.By.tagName;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/CreateRealm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/CreateRealm.java
index 63d3e15..94e9846 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/CreateRealm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/CreateRealm.java
@@ -19,11 +19,12 @@
package org.keycloak.testsuite.console.page.realm;
import org.jboss.arquillian.drone.api.annotation.Drone;
-import static org.openqa.selenium.By.id;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.openqa.selenium.By.id;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/EmailSettings.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/EmailSettings.java
index a931cd6..a32dd04 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/EmailSettings.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/EmailSettings.java
@@ -1,6 +1,5 @@
package org.keycloak.testsuite.console.page.realm;
-import java.util.Map;
import org.jboss.arquillian.graphene.findby.FindByJQuery;
import org.jboss.arquillian.graphene.page.Page;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
@@ -8,6 +7,8 @@ import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import java.util.Map;
+
/**
* Created by mhajas on 8/25/15.
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java
index b6e51eb..a5ce751 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/RealmSettings.java
@@ -1,7 +1,6 @@
package org.keycloak.testsuite.console.page.realm;
import org.keycloak.testsuite.console.page.AdminConsoleRealm;
-import org.keycloak.testsuite.util.WaitUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java
index 4095cc9..abd7f60 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/ThemeSettings.java
@@ -21,9 +21,6 @@ import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-import org.openqa.selenium.By;
-
/**
*
* @author Filip Kiss
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java
index abeddb5..e93c34f 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/realm/TokenSettings.java
@@ -17,16 +17,17 @@
*/
package org.keycloak.testsuite.console.page.realm;
-import java.util.concurrent.TimeUnit;
+import org.jboss.arquillian.graphene.page.Page;
+import org.keycloak.testsuite.page.Form;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+import java.util.concurrent.TimeUnit;
+
import static java.lang.String.valueOf;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import static org.apache.commons.lang3.text.WordUtils.capitalize;
-import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.testsuite.page.Form;
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
index eabaf02..b47fd50 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RoleCompositeRoles.java
@@ -1,5 +1,13 @@
package org.keycloak.testsuite.console.page.roles;
+import org.keycloak.representations.idm.RoleRepresentation.Composites;
+import org.keycloak.testsuite.page.Form;
+import org.keycloak.testsuite.util.UIUtils;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+import org.openqa.selenium.support.ui.Select;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -8,17 +16,9 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.keycloak.representations.idm.RoleRepresentation.Composites;
-import org.keycloak.testsuite.page.Form;
import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
-import org.keycloak.testsuite.util.UIUtils;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.FindBy;
-import org.openqa.selenium.support.ui.Select;
-
/**
*
* @author fkiss
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/Roles.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/Roles.java
index 6c86255..49bef27 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/Roles.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/Roles.java
@@ -1,6 +1,5 @@
package org.keycloak.testsuite.console.page.roles;
-import org.keycloak.admin.client.resource.RolesResource;
import org.keycloak.testsuite.console.page.AdminConsoleRealm;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java
index e0a9a51..62b0a70 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/roles/RolesTable.java
@@ -1,12 +1,14 @@
package org.keycloak.testsuite.console.page.roles;
-import java.util.ArrayList;
-import java.util.List;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.testsuite.console.page.fragment.DataTable;
-import static org.openqa.selenium.By.tagName;
import org.openqa.selenium.WebElement;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.openqa.selenium.By.tagName;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/User.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/User.java
index 3b73ea1..4178ef5 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/User.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/User.java
@@ -1,10 +1,10 @@
package org.keycloak.testsuite.console.page.users;
import org.keycloak.testsuite.console.page.fragment.Breadcrumb;
-import static org.keycloak.testsuite.console.page.fragment.Breadcrumb.BREADCRUMB_XPATH;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+import static org.keycloak.testsuite.console.page.fragment.Breadcrumb.BREADCRUMB_XPATH;
import static org.keycloak.testsuite.util.WaitUtils.*;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java
index 4050f7d..6b77554 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserAttributesForm.java
@@ -1,14 +1,16 @@
package org.keycloak.testsuite.console.page.users;
-import java.util.List;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
import org.keycloak.testsuite.page.Form;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
+import java.util.List;
+
+import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
+
/**
*
* @author Filip Kiss
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserCredentials.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserCredentials.java
index 277dd67..ff091a4 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserCredentials.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserCredentials.java
@@ -1,9 +1,10 @@
package org.keycloak.testsuite.console.page.users;
import org.keycloak.testsuite.console.page.fragment.OnOffSwitch;
-import static org.keycloak.testsuite.page.Form.setInputValue;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+
+import static org.keycloak.testsuite.page.Form.setInputValue;
import static org.keycloak.testsuite.util.WaitUtils.*;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappings.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappings.java
index 32c6bac..d8451f0 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappings.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappings.java
@@ -1,7 +1,6 @@
package org.keycloak.testsuite.console.page.users;
import org.jboss.arquillian.graphene.page.Page;
-import org.keycloak.admin.client.resource.RoleMappingResource;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappingsForm.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappingsForm.java
index 2629017..d9b4edb 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappingsForm.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/UserRoleMappingsForm.java
@@ -1,5 +1,7 @@
package org.keycloak.testsuite.console.page.users;
+import org.keycloak.representations.idm.RoleRepresentation;
+import org.keycloak.testsuite.console.page.roles.RoleCompositeRoles;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
@@ -7,8 +9,6 @@ import org.openqa.selenium.support.ui.Select;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import org.keycloak.representations.idm.RoleRepresentation;
-import org.keycloak.testsuite.console.page.roles.RoleCompositeRoles;
/**
* Created by fkiss.
diff --git a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/Users.java b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/Users.java
index 87bd600..7e4f417 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/Users.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/main/java/org/keycloak/testsuite/console/page/users/Users.java
@@ -18,6 +18,9 @@
package org.keycloak.testsuite.console.page.users;
import org.jboss.arquillian.drone.api.annotation.Drone;
+import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.console.page.AdminConsoleRealm;
+import org.keycloak.testsuite.console.page.fragment.DataTable;
import org.keycloak.testsuite.util.URLUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
@@ -26,13 +29,8 @@ import org.openqa.selenium.support.FindBy;
import java.util.ArrayList;
import java.util.List;
-import org.keycloak.representations.idm.UserRepresentation;
-
-import org.keycloak.testsuite.console.page.AdminConsoleRealm;
-import org.keycloak.testsuite.console.page.fragment.DataTable;
import static org.keycloak.testsuite.util.WaitUtils.waitForPageToLoad;
-import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
import static org.openqa.selenium.By.*;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/AbstractConsoleTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/AbstractConsoleTest.java
index dc81e13..8f29a3f 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/AbstractConsoleTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/AbstractConsoleTest.java
@@ -18,22 +18,23 @@
package org.keycloak.testsuite.console;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.AbstractAuthTest;
+import org.keycloak.testsuite.auth.page.login.Login;
import org.keycloak.testsuite.console.page.AdminConsole;
import org.keycloak.testsuite.console.page.AdminConsoleRealm;
import org.keycloak.testsuite.console.page.AdminConsoleRealm.ConfigureMenu;
import org.keycloak.testsuite.console.page.AdminConsoleRealm.ManageMenu;
-import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
-import org.keycloak.testsuite.auth.page.login.Login;
import org.keycloak.testsuite.console.page.fragment.AdminConsoleAlert;
import org.keycloak.testsuite.console.page.fragment.ModalDialog;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWithLoginUrlOf;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
import org.openqa.selenium.support.FindBy;
+import static org.junit.Assert.assertTrue;
+import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
+import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
+import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWithLoginUrlOf;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/actions/TermsAndConditionsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/actions/TermsAndConditionsTest.java
index f518784..f9ee517 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/actions/TermsAndConditionsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/actions/TermsAndConditionsTest.java
@@ -17,21 +17,21 @@
*/
package org.keycloak.testsuite.console.authentication.actions;
-import java.util.ArrayList;
-import java.util.List;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Test;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
-
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.auth.page.login.Registration;
import org.keycloak.testsuite.auth.page.login.TermsAndConditions;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.authentication.RequiredActions;
+import java.util.ArrayList;
+import java.util.List;
+
/**
*
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/BindingsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/BindingsTest.java
index a89eac6..14fc7a9 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/BindingsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/BindingsTest.java
@@ -22,7 +22,6 @@
package org.keycloak.testsuite.console.authentication;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
@@ -31,6 +30,8 @@ import org.keycloak.testsuite.console.page.authentication.bindings.Bindings;
import org.keycloak.testsuite.console.page.authentication.bindings.BindingsForm.BindingsOption;
import org.keycloak.testsuite.console.page.authentication.bindings.BindingsForm.BindingsSelect;
+import static org.junit.Assert.assertEquals;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/FlowsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/FlowsTest.java
index 7b2a874..d3dfb22 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/FlowsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/FlowsTest.java
@@ -22,7 +22,6 @@
package org.keycloak.testsuite.console.authentication;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -34,6 +33,8 @@ import org.keycloak.testsuite.console.page.authentication.flows.CreateFlowForm;
import org.keycloak.testsuite.console.page.authentication.flows.Flows;
import org.keycloak.testsuite.console.page.authentication.flows.FlowsTable;
+import static org.junit.Assert.*;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java
index 1f2e22f..b838fd7 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/OTPPolicyTest.java
@@ -22,9 +22,7 @@
package org.keycloak.testsuite.console.authentication;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.console.AbstractConsoleTest;
@@ -34,6 +32,8 @@ import org.keycloak.testsuite.console.page.authentication.otppolicy.OTPPolicyFor
import org.keycloak.testsuite.console.page.authentication.otppolicy.OTPPolicyForm.OTPType;
import org.keycloak.testsuite.util.WaitUtils;
+import static org.junit.Assert.*;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java
index e70acd4..f20348a 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java
@@ -26,7 +26,6 @@ import org.keycloak.testsuite.console.page.authentication.PasswordPolicy;
import org.keycloak.testsuite.console.page.users.UserCredentials;
import static org.keycloak.testsuite.console.page.authentication.PasswordPolicy.Type.DIGITS;
-import static org.keycloak.testsuite.console.page.authentication.PasswordPolicy.Type.HASH_ITERATIONS;
import static org.keycloak.testsuite.console.page.authentication.PasswordPolicy.Type.REGEX_PATTERN;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java
index 5ba0484..887e708 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/AbstractClientTest.java
@@ -1,27 +1,24 @@
package org.keycloak.testsuite.console.clients;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
import org.keycloak.admin.client.resource.ClientResource;
import org.keycloak.admin.client.resource.ClientsResource;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
-import static org.keycloak.testsuite.auth.page.login.OIDCLogin.OIDC;
-import static org.keycloak.testsuite.auth.page.login.OIDCLogin.SAML;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.clients.Client;
import org.keycloak.testsuite.console.page.clients.Clients;
import org.keycloak.testsuite.console.page.clients.CreateClient;
-import org.keycloak.testsuite.util.WaitUtils;
-import org.openqa.selenium.By;
-import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsBooleanAttributes;
-import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsListAttributes;
-import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsStringAttributes;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import static org.junit.Assert.assertEquals;
+import static org.keycloak.testsuite.auth.page.login.OIDCLogin.OIDC;
+import static org.keycloak.testsuite.auth.page.login.OIDCLogin.SAML;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_AUTHNSTATEMENT;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_CLIENT_SIGNATURE;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_FORCE_NAME_ID_FORMAT;
@@ -29,6 +26,9 @@ import static org.keycloak.testsuite.console.page.clients.settings.ClientSetting
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_NAME_ID_FORMAT;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_SERVER_SIGNATURE;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.SAML_SIGNATURE_ALGORITHM;
+import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsBooleanAttributes;
+import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsListAttributes;
+import static org.keycloak.testsuite.util.AttributesAssert.assertEqualsStringAttributes;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientAuthorizationServicesAvailableTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientAuthorizationServicesAvailableTest.java
index 0dcf08b..c24da58 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientAuthorizationServicesAvailableTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientAuthorizationServicesAvailableTest.java
@@ -18,7 +18,6 @@ package org.keycloak.testsuite.console.clients;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Test;
-import org.keycloak.common.Profile;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.testsuite.ProfileAssume;
import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java
index d0c6743..25e05a1 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientClusteringTest.java
@@ -22,13 +22,14 @@
package org.keycloak.testsuite.console.clients;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import org.keycloak.testsuite.console.page.clients.clustering.ClientClustering;
+import static org.junit.Assert.*;
+import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java
index d489f4e..6495c01 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientCredentialsTest.java
@@ -22,13 +22,14 @@
package org.keycloak.testsuite.console.clients;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import org.keycloak.testsuite.console.page.clients.credentials.ClientCredentials;
import org.keycloak.testsuite.console.page.clients.credentials.ClientCredentialsGeneratePrivateKeys;
+
+import static org.junit.Assert.*;
+import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java
index 0af4bf4..53bfdb3 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientInstallationTest.java
@@ -22,13 +22,14 @@
package org.keycloak.testsuite.console.clients;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import org.keycloak.testsuite.console.page.clients.installation.ClientInstallation;
+import static org.junit.Assert.*;
+import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java
index 850bb39..0d8e6b2 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersOIDCTest.java
@@ -21,21 +21,22 @@
*/
package org.keycloak.testsuite.console.clients;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
import org.junit.Before;
+import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMapper;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMappers;
import org.keycloak.testsuite.console.page.clients.mappers.CreateClientMappers;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
import static org.keycloak.testsuite.console.page.clients.mappers.CreateClientMappersForm.*;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java
index c822c23..07a8d44 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientMappersSAMLTest.java
@@ -21,19 +21,20 @@
*/
package org.keycloak.testsuite.console.clients;
-import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
import org.junit.Before;
+import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.ProtocolMapperRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.SAML;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMapper;
import org.keycloak.testsuite.console.page.clients.mappers.ClientMappers;
import org.keycloak.testsuite.console.page.clients.mappers.CreateClientMappers;
+
+import java.util.Map;
+
+import static org.junit.Assert.*;
+import static org.keycloak.testsuite.auth.page.login.Login.SAML;
+import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
import static org.keycloak.testsuite.console.page.clients.mappers.CreateClientMappersForm.*;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java
index 64304d0..4b7db30 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientRolesTest.java
@@ -1,22 +1,23 @@
package org.keycloak.testsuite.console.clients;
-import java.util.List;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Test;
-import org.keycloak.testsuite.console.page.users.UserRoleMappingsForm;
-
-import static org.junit.Assert.*;
import org.junit.Before;
+import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
-import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
import org.keycloak.testsuite.console.page.clients.roles.ClientRole;
import org.keycloak.testsuite.console.page.clients.roles.ClientRoles;
import org.keycloak.testsuite.console.page.clients.roles.CreateClientRole;
import org.keycloak.testsuite.console.page.users.User;
+import org.keycloak.testsuite.console.page.users.UserRoleMappingsForm;
import org.keycloak.testsuite.util.URLAssert;
+import java.util.List;
+
+import static org.junit.Assert.*;
+import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
+
/**
* Created by fkiss.
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java
index 69509f2..1c9d03e 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientScopeTest.java
@@ -21,10 +21,7 @@
*/
package org.keycloak.testsuite.console.clients;
-import java.util.List;
-import java.util.Map;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -32,9 +29,14 @@ import org.keycloak.representations.idm.ClientMappingsRepresentation;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.MappingsRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
-import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import org.keycloak.testsuite.console.page.clients.scope.ClientScope;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
+
/**
*
* @author <a href="mailto:vramik@redhat.com">Vlastislav Ramik</a>
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java
index 8090475..4469901 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientSettingsTest.java
@@ -17,25 +17,23 @@
*/
package org.keycloak.testsuite.console.clients;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.ws.rs.core.Response;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Test;
-
import org.keycloak.representations.idm.ClientRepresentation;
-import static org.keycloak.testsuite.admin.ApiUtil.getCreatedId;
+import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
+import org.keycloak.testsuite.util.Timer;
+
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.junit.Assert.*;
import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import static org.keycloak.testsuite.auth.page.login.Login.SAML;
-import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.OidcAccessType.BEARER_ONLY;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.OidcAccessType.CONFIDENTIAL;
import static org.keycloak.testsuite.console.page.clients.settings.ClientSettingsForm.SAMLClientSettingsForm.*;
import static org.keycloak.testsuite.util.WaitUtils.pause;
-import org.keycloak.testsuite.util.Timer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java
index c45e40f..cf0969c 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/clients/ClientsTest.java
@@ -22,14 +22,14 @@
package org.keycloak.testsuite.console.clients;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
+
+import static org.junit.Assert.*;
import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
-import org.keycloak.testsuite.console.page.clients.settings.ClientSettings;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
index 5990102..a5a937a 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
@@ -24,6 +24,7 @@ package org.keycloak.testsuite.console.events;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
import org.junit.Test;
+import org.keycloak.admin.client.resource.ClientsResource;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
@@ -38,7 +39,6 @@ import javax.ws.rs.core.Response;
import java.util.List;
import static org.junit.Assert.assertEquals;
-import org.keycloak.admin.client.resource.ClientsResource;
import static org.keycloak.testsuite.auth.page.login.Login.OIDC;
import static org.keycloak.testsuite.console.clients.AbstractClientTest.createClientRep;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java
index f573e8f..7a12f61 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java
@@ -15,7 +15,6 @@ import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
-import org.junit.Ignore;
import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/KerberosUserFederationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/KerberosUserFederationTest.java
index 7eff162..79ea899 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/KerberosUserFederationTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/KerberosUserFederationTest.java
@@ -1,7 +1,5 @@
package org.keycloak.testsuite.console.federation;
-import static org.junit.Assert.assertEquals;
-
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
@@ -9,6 +7,8 @@ import org.keycloak.representations.idm.UserFederationProviderRepresentation;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.federation.CreateKerberosUserProvider;
+import static org.junit.Assert.assertEquals;
+
/**
* @author pdrozd
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
index fa57cdf..2d405ea 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/federation/LdapUserFederationTest.java
@@ -1,21 +1,19 @@
package org.keycloak.testsuite.console.federation;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-import java.util.Properties;
-
import org.apache.commons.configuration.ConfigurationException;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserFederationProviderRepresentation;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.federation.CreateLdapUserProvider;
import org.keycloak.util.ldap.LDAPEmbeddedServer;
-import org.openqa.selenium.WebElement;
+
+import java.util.List;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* @author fkiss, pdrozd
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/idp/IdentityProviderTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/idp/IdentityProviderTest.java
index e4f7f84..72d8991 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/idp/IdentityProviderTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/idp/IdentityProviderTest.java
@@ -18,14 +18,15 @@
package org.keycloak.testsuite.console.idp;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.*;
import org.junit.Ignore;
import org.junit.Test;
-import org.keycloak.testsuite.console.page.idp.IdentityProviderSettings;
import org.keycloak.testsuite.console.AbstractConsoleTest;
+import org.keycloak.testsuite.console.page.idp.IdentityProviderSettings;
import org.keycloak.testsuite.model.Provider;
import org.keycloak.testsuite.model.SocialProvider;
+import static org.junit.Assert.*;
+
/**
*
* @author Petr Mensik
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java
index 97cb308..50bf4f1 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/InternationalizationTest.java
@@ -11,6 +11,7 @@ import org.keycloak.testsuite.console.page.realm.ThemeSettings;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+
import static org.junit.Assert.*;
import static org.keycloak.testsuite.util.URLAssert.*;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/LoginSettingsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/LoginSettingsTest.java
index 75f86a2..9495cde 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/LoginSettingsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/LoginSettingsTest.java
@@ -17,32 +17,32 @@
*/
package org.keycloak.testsuite.console.realm;
-import java.util.HashSet;
-import java.util.Set;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
-import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
-import static org.keycloak.testsuite.admin.ApiUtil.createUserAndResetPasswordWithAdminClient;
-import static org.keycloak.testsuite.admin.Users.setPasswordFor;
-import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
import org.keycloak.testsuite.auth.page.account.Account;
-import org.keycloak.testsuite.console.page.realm.LoginSettings;
import org.keycloak.testsuite.auth.page.login.Registration;
import org.keycloak.testsuite.auth.page.login.ResetCredentials;
import org.keycloak.testsuite.auth.page.login.VerifyEmail;
+import org.keycloak.testsuite.console.page.realm.LoginSettings;
import org.keycloak.testsuite.console.page.realm.LoginSettings.RequireSSLOption;
import org.keycloak.testsuite.util.MailServer;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
-
import org.openqa.selenium.Cookie;
+import java.util.HashSet;
+import java.util.Set;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
+import static org.keycloak.testsuite.admin.ApiUtil.createUserAndResetPasswordWithAdminClient;
+import static org.keycloak.testsuite.admin.Users.setPasswordFor;
+import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
+import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
+
/**
*
* @author tkyjovsk
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/SecurityDefensesTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/SecurityDefensesTest.java
index b5bddde..8e98baa 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/SecurityDefensesTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/SecurityDefensesTest.java
@@ -26,12 +26,13 @@ import org.keycloak.testsuite.console.page.users.UserAttributes;
import org.keycloak.testsuite.console.page.users.Users;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
+
+import static org.junit.Assert.*;
import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD;
import static org.keycloak.testsuite.admin.Users.setPasswordFor;
import static org.keycloak.testsuite.auth.page.AuthRealm.TEST;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
import static org.keycloak.testsuite.util.WaitUtils.*;
-import static org.junit.Assert.*;
/**
* @author Filip Kiss
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/TokensTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/TokensTest.java
index 9121d92..b022d13 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/TokensTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/realm/TokensTest.java
@@ -17,15 +17,15 @@
*/
package org.keycloak.testsuite.console.realm;
-import java.util.concurrent.TimeUnit;
+import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.testsuite.console.page.realm.TokenSettings;
-import org.jboss.arquillian.graphene.page.Page;
-import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWithLoginUrlOf;
+import java.util.concurrent.TimeUnit;
+
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
+import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWithLoginUrlOf;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/AbstractRolesTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/AbstractRolesTest.java
index cb66b8f..701e798 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/AbstractRolesTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/AbstractRolesTest.java
@@ -2,7 +2,6 @@ package org.keycloak.testsuite.console.roles;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Before;
-import org.keycloak.admin.client.resource.RoleMappingResource;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.roles.Roles;
import org.keycloak.testsuite.console.page.users.User;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/DefaultRolesTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/DefaultRolesTest.java
index 202d004..780b233 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/DefaultRolesTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/DefaultRolesTest.java
@@ -1,17 +1,18 @@
package org.keycloak.testsuite.console.roles;
import org.jboss.arquillian.graphene.page.Page;
-import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import org.keycloak.admin.client.resource.RolesResource;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
-import static org.keycloak.testsuite.admin.ApiUtil.createUserWithAdminClient;
import org.keycloak.testsuite.console.page.roles.DefaultRoles;
import org.keycloak.testsuite.console.page.users.UserRoleMappings;
import org.keycloak.testsuite.console.page.users.Users;
+import static org.junit.Assert.assertTrue;
+import static org.keycloak.testsuite.admin.ApiUtil.createUserWithAdminClient;
+
/**
* Created by fkiss.
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/RealmRolesTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/RealmRolesTest.java
index 76a2bf8..953892e 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/RealmRolesTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/roles/RealmRolesTest.java
@@ -1,18 +1,18 @@
package org.keycloak.testsuite.console.roles;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.Test;
-import org.keycloak.testsuite.console.page.roles.RealmRoles;
-
-import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Test;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.testsuite.console.page.roles.CreateRole;
+import org.keycloak.testsuite.console.page.roles.RealmRoles;
import org.keycloak.testsuite.console.page.roles.Role;
+import org.keycloak.testsuite.util.Timer;
+
+import static org.junit.Assert.*;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
import static org.keycloak.testsuite.util.WaitUtils.pause;
-import org.keycloak.testsuite.util.Timer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/sessions/SessionsTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/sessions/SessionsTest.java
index e78ef33..5739726 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/sessions/SessionsTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/sessions/SessionsTest.java
@@ -22,6 +22,7 @@ import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.sessions.RealmSessions;
+
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWithLoginUrlOf;
/**
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/themes/TermsAndConditionsThemeTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/themes/TermsAndConditionsThemeTest.java
index 69e0c8a..df21847 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/themes/TermsAndConditionsThemeTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/themes/TermsAndConditionsThemeTest.java
@@ -16,7 +16,6 @@
*/
package org.keycloak.testsuite.console.themes;
-import java.util.List;
import org.jboss.arquillian.graphene.page.Page;
import org.junit.Assert;
import org.junit.Test;
@@ -26,6 +25,8 @@ import org.keycloak.testsuite.auth.page.login.TermsAndConditions;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.authentication.RequiredActions;
+import java.util.List;
+
/**
*
*/
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/AbstractUserTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/AbstractUserTest.java
index 585080d..81d8c5a 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/AbstractUserTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/AbstractUserTest.java
@@ -8,6 +8,7 @@ import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.console.AbstractConsoleTest;
import org.keycloak.testsuite.console.page.users.CreateUser;
import org.keycloak.testsuite.console.page.users.Users;
+
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlEquals;
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UserAttributesTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UserAttributesTest.java
index a2857b2..03428ae 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UserAttributesTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UserAttributesTest.java
@@ -18,13 +18,13 @@
package org.keycloak.testsuite.console.users;
import org.jboss.arquillian.graphene.page.Page;
+import org.junit.Before;
import org.junit.Test;
+import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.console.page.users.UserAttributes;
import static org.junit.Assert.*;
-import org.junit.Before;
-import org.keycloak.representations.idm.UserRepresentation;
import static org.keycloak.testsuite.admin.Users.setPasswordFor;
-import org.keycloak.testsuite.console.page.users.UserAttributes;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UsersTest.java b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UsersTest.java
index d0e95f5..2f5121b 100644
--- a/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UsersTest.java
+++ b/testsuite/integration-arquillian/tests/other/console/src/test/java/org/keycloak/testsuite/console/users/UsersTest.java
@@ -1,13 +1,15 @@
package org.keycloak.testsuite.console.users;
-import javax.ws.rs.core.Response;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.keycloak.representations.idm.UserRepresentation;
+import org.keycloak.testsuite.util.Timer;
+
+import javax.ws.rs.core.Response;
+
import static org.keycloak.testsuite.admin.ApiUtil.getCreatedId;
import static org.keycloak.testsuite.util.WaitUtils.pause;
-import org.keycloak.testsuite.util.Timer;
/**
*
diff --git a/testsuite/integration-arquillian/tests/other/console_no_users/src/test/java/org/keycloak/testsuite/console/pages/WelcomePageTest.java b/testsuite/integration-arquillian/tests/other/console_no_users/src/test/java/org/keycloak/testsuite/console/pages/WelcomePageTest.java
index 04332e8..6c61094 100644
--- a/testsuite/integration-arquillian/tests/other/console_no_users/src/test/java/org/keycloak/testsuite/console/pages/WelcomePageTest.java
+++ b/testsuite/integration-arquillian/tests/other/console_no_users/src/test/java/org/keycloak/testsuite/console/pages/WelcomePageTest.java
@@ -1,19 +1,19 @@
package org.keycloak.testsuite.console.pages;
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
import org.jboss.arquillian.graphene.page.Page;
-import org.junit.*;
import org.junit.runners.MethodSorters;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.testsuite.AbstractKeycloakTest;
import org.keycloak.testsuite.auth.page.WelcomePage;
import org.keycloak.testsuite.auth.page.login.OIDCLogin;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.URL;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.List;
+
/**
*
*/
diff --git a/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java b/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java
index bbbb9d3..c374731 100644
--- a/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java
+++ b/testsuite/integration-arquillian/tests/other/jpa-performance/src/test/java/org/keycloak/testsuite/user/ManyUsersTest.java
@@ -1,38 +1,36 @@
package org.keycloak.testsuite.user;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.ws.rs.core.Response;
-
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.UsersResource;
-import org.keycloak.authentication.requiredactions.UpdatePassword;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserModel;
import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.representations.idm.FederatedIdentityRepresentation;
import org.keycloak.representations.idm.GroupRepresentation;
+import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RequiredActionProviderRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.testsuite.admin.ApiUtil;
import org.keycloak.testsuite.util.Timer;
-import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.util.JsonSerialization;
-import org.keycloak.admin.client.resource.RealmResource;
-import static org.keycloak.testsuite.util.IOUtil.PROJECT_BUILD_DIRECTORY;
+
+import javax.ws.rs.core.Response;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
import static org.junit.Assert.fail;
+import static org.keycloak.testsuite.util.IOUtil.PROJECT_BUILD_DIRECTORY;
/**
*
diff --git a/testsuite/integration-arquillian/test-utils/src/main/java/org/keycloak/testsuite/util/junit/AggregateResultsReporter.java b/testsuite/integration-arquillian/test-utils/src/main/java/org/keycloak/testsuite/util/junit/AggregateResultsReporter.java
index 2b1bf6c..0b50603 100644
--- a/testsuite/integration-arquillian/test-utils/src/main/java/org/keycloak/testsuite/util/junit/AggregateResultsReporter.java
+++ b/testsuite/integration-arquillian/test-utils/src/main/java/org/keycloak/testsuite/util/junit/AggregateResultsReporter.java
@@ -1,15 +1,12 @@
package org.keycloak.testsuite.util.junit;
import org.apache.commons.configuration.PropertiesConfiguration;
-
import org.jboss.logging.Logger;
-
import org.junit.Ignore;
import org.junit.runner.Description;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import org.junit.runner.notification.RunListener;
-
import org.w3c.dom.Document;
import org.w3c.dom.Element;
diff --git a/themes/src/main/resources/theme/keycloak/admin/resources/img/keyclok-logo.svg b/themes/src/main/resources/theme/keycloak/admin/resources/img/keyclok-logo.svg
index 80bb95a..05fa87b 100644
--- a/themes/src/main/resources/theme/keycloak/admin/resources/img/keyclok-logo.svg
+++ b/themes/src/main/resources/theme/keycloak/admin/resources/img/keyclok-logo.svg
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
viewBox="-145.2 359 325.4 77.2" enable-background="new -145.2 359 325.4 77.2" xml:space="preserve">
<g>
<g>
diff --git a/themes/src/main/resources/theme/keycloak/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg b/themes/src/main/resources/theme/keycloak/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg
index 1ee89d4..51dc16e 100644
--- a/themes/src/main/resources/theme/keycloak/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg
+++ b/themes/src/main/resources/theme/keycloak/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg
@@ -1,6 +1,6 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata></metadata>
<defs>
<font id="fontawesomeregular" horiz-adv-x="1536" >
diff --git a/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/brand.svg b/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/brand.svg
index 81cfe50..1861f93 100644
--- a/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/brand.svg
+++ b/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/brand.svg
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
width="270px" height="10px" viewBox="0 0 270 10" enable-background="new 0 0 270 10" xml:space="preserve">
<g>
<g>
diff --git a/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/logo.svg b/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/logo.svg
index b9ce0ac..6d5a308 100755
--- a/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/logo.svg
+++ b/themes/src/main/resources/theme/keycloak/common/resources/lib/patternfly/img/logo.svg
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
width="73px" height="69px" viewBox="0 0 73 69" enable-background="new 0 0 73 69" xml:space="preserve">
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="36.2046" y1="2.1504" x2="36.2046" y2="68.6623">
diff --git a/themes/src/main/resources/theme/keycloak/common/resources/lib/zocial/zocial-regular-webfont.svg b/themes/src/main/resources/theme/keycloak/common/resources/lib/zocial/zocial-regular-webfont.svg
index a789a2a..33cd59a 100644
--- a/themes/src/main/resources/theme/keycloak/common/resources/lib/zocial/zocial-regular-webfont.svg
+++ b/themes/src/main/resources/theme/keycloak/common/resources/lib/zocial/zocial-regular-webfont.svg
@@ -3,7 +3,7 @@
<!--
2015-4-11: Created with FontForge (http://fontforge.org)
-->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
Created by FontForge 20150401 at Sat Apr 11 22:32:17 2015
By zimbatm
diff --git a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/FileDirectoryServiceFactory.java b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/FileDirectoryServiceFactory.java
index e6f4373..966ac44 100644
--- a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/FileDirectoryServiceFactory.java
+++ b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/FileDirectoryServiceFactory.java
@@ -20,8 +20,7 @@ package org.keycloak.util.ldap;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.schema.LdapComparator;
import org.apache.directory.api.ldap.model.schema.SchemaManager;
-import org.
- apache.directory.api.ldap.model.schema.comparators.NormalizingComparator;
+import org.apache.directory.api.ldap.model.schema.comparators.NormalizingComparator;
import org.apache.directory.api.ldap.model.schema.registries.ComparatorRegistry;
import org.apache.directory.api.ldap.model.schema.registries.SchemaLoader;
import org.apache.directory.api.ldap.schemaextractor.SchemaLdifExtractor;
diff --git a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemoryDirectoryServiceFactory.java b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemoryDirectoryServiceFactory.java
index 3a4714a..bc296cd 100644
--- a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemoryDirectoryServiceFactory.java
+++ b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemoryDirectoryServiceFactory.java
@@ -17,9 +17,6 @@
package org.keycloak.util.ldap;
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.config.CacheConfiguration;
import net.sf.ehcache.config.Configuration;
@@ -46,6 +43,10 @@ import org.apache.directory.server.core.factory.PartitionFactory;
import org.apache.directory.server.i18n.I18n;
import org.jboss.logging.Logger;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
/**
* Factory for a fast (mostly in-memory-only) ApacheDS DirectoryService. Use only for tests!!
*
diff --git a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemorySchemaPartition.java b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemorySchemaPartition.java
index 8d20791..f111d70 100644
--- a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemorySchemaPartition.java
+++ b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/InMemorySchemaPartition.java
@@ -17,12 +17,6 @@
package org.keycloak.util.ldap;
-import java.net.URL;
-import java.util.Map;
-import java.util.TreeSet;
-import java.util.UUID;
-import java.util.regex.Pattern;
-import javax.naming.InvalidNameException;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.entry.DefaultEntry;
import org.apache.directory.api.ldap.model.entry.Entry;
@@ -35,6 +29,13 @@ import org.apache.directory.server.core.api.interceptor.context.AddOperationCont
import org.apache.directory.server.core.partition.ldif.AbstractLdifPartition;
import org.jboss.logging.Logger;
+import javax.naming.InvalidNameException;
+import java.net.URL;
+import java.util.Map;
+import java.util.TreeSet;
+import java.util.UUID;
+import java.util.regex.Pattern;
+
/**
* In-memory schema-only partition which loads the data in the similar way as the
* {@link org.apache.directory.api.ldap.schemaloader.JarLdifSchemaLoader}.
diff --git a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosEmbeddedServer.java b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosEmbeddedServer.java
index d7f868f..6845bc4 100644
--- a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosEmbeddedServer.java
+++ b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosEmbeddedServer.java
@@ -17,18 +17,6 @@
package org.keycloak.util.ldap;
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.security.auth.kerberos.KerberosPrincipal;
-
import org.apache.directory.api.ldap.model.constants.SupportedSaslMechanisms;
import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
import org.apache.directory.server.core.api.DirectoryService;
@@ -48,6 +36,17 @@ import org.apache.directory.shared.kerberos.KerberosUtils;
import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
import org.jboss.logging.Logger;
+import javax.security.auth.kerberos.KerberosPrincipal;
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.Set;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosKeytabCreator.java b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosKeytabCreator.java
index 01fee2c..8dce8bb 100644
--- a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosKeytabCreator.java
+++ b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/KerberosKeytabCreator.java
@@ -17,13 +17,6 @@
package org.keycloak.util.ldap;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
import org.apache.directory.server.kerberos.shared.crypto.encryption.KerberosKeyFactory;
import org.apache.directory.server.kerberos.shared.keytab.Keytab;
import org.apache.directory.server.kerberos.shared.keytab.KeytabEntry;
@@ -31,6 +24,13 @@ import org.apache.directory.shared.kerberos.KerberosTime;
import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
import org.apache.directory.shared.kerberos.components.EncryptionKey;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
/**
* Helper utility for creating Keytab files.
*
diff --git a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/LDAPEmbeddedServer.java b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/LDAPEmbeddedServer.java
index 1754b4c..682fa9a 100644
--- a/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/LDAPEmbeddedServer.java
+++ b/util/embedded-ldap/src/main/java/org/keycloak/util/ldap/LDAPEmbeddedServer.java
@@ -17,12 +17,6 @@
package org.keycloak.util.ldap;
-import java.io.File;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.text.StrSubstitutor;
@@ -42,6 +36,12 @@ import org.jboss.logging.Logger;
import org.keycloak.common.util.FindFile;
import org.keycloak.common.util.StreamUtil;
+import java.io.File;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
*/
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/JsonConfigConverter.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/JsonConfigConverter.java
index aa4d3f5..1869ab9 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/JsonConfigConverter.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/JsonConfigConverter.java
@@ -18,19 +18,19 @@ package org.keycloak.subsystem.server.extension;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.jboss.as.controller.PathAddress;
+import org.jboss.as.controller.operations.common.Util;
+import org.jboss.dmr.ModelNode;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
-import org.jboss.as.controller.PathAddress;
-import org.jboss.as.controller.operations.common.Util;
-import org.jboss.dmr.ModelNode;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.WRITE_ATTRIBUTE_OPERATION;
-
-import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.PROVIDERS;
import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.MASTER_REALM_NAME;
+import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.PROVIDERS;
import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.SCHEDULED_TASK_INTERVAL;
import static org.keycloak.subsystem.server.extension.ThemeResourceDefinition.CACHE_TEMPLATES;
import static org.keycloak.subsystem.server.extension.ThemeResourceDefinition.CACHE_THEMES;
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakAdapterConfigService.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakAdapterConfigService.java
index 0eec2ee..3240625 100755
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakAdapterConfigService.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakAdapterConfigService.java
@@ -19,9 +19,10 @@ package org.keycloak.subsystem.server.extension;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.PathElement;
import org.jboss.dmr.ModelNode;
-import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
import org.jboss.dmr.Property;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
+
/**
* This service keeps track of the entire Keycloak management model so as to provide
* configuration to the Keycloak Server.
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakExtension.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakExtension.java
index bdfe47c..0391126 100755
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakExtension.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakExtension.java
@@ -24,9 +24,9 @@ import org.jboss.as.controller.ResourceDefinition;
import org.jboss.as.controller.SubsystemRegistration;
import org.jboss.as.controller.descriptions.StandardResourceDescriptionResolver;
import org.jboss.as.controller.parsing.ExtensionParsingContext;
+import org.jboss.as.controller.registry.ManagementResourceRegistration;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.SUBSYSTEM;
-import org.jboss.as.controller.registry.ManagementResourceRegistration;
import static org.keycloak.subsystem.server.logging.KeycloakLogger.ROOT_LOGGER;
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakProviderDeploymentProcessor.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakProviderDeploymentProcessor.java
index c573754..97dd52a 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakProviderDeploymentProcessor.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakProviderDeploymentProcessor.java
@@ -22,21 +22,11 @@ import org.jboss.as.server.deployment.DeploymentPhaseContext;
import org.jboss.as.server.deployment.DeploymentUnit;
import org.jboss.as.server.deployment.DeploymentUnitProcessingException;
import org.jboss.as.server.deployment.DeploymentUnitProcessor;
-import org.jboss.as.server.deployment.module.ModuleDependency;
-import org.jboss.as.server.deployment.module.ModuleSpecification;
-import org.jboss.as.server.deployment.module.ResourceRoot;
import org.jboss.logging.Logger;
import org.jboss.modules.Module;
-import org.jboss.modules.ModuleIdentifier;
-import org.jboss.modules.ModuleLoader;
-import org.jboss.vfs.VirtualFile;
-import org.jboss.vfs.util.AbstractVirtualFileFilterWithAttributes;
import org.keycloak.provider.ProviderManager;
import org.keycloak.provider.ProviderManagerRegistry;
-import java.io.IOException;
-import java.util.List;
-
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakServerDeploymentProcessor.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakServerDeploymentProcessor.java
index e48ff55..af140a6 100755
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakServerDeploymentProcessor.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakServerDeploymentProcessor.java
@@ -16,8 +16,6 @@
*/
package org.keycloak.subsystem.server.extension;
-import java.util.ArrayList;
-import java.util.List;
import org.jboss.as.ee.component.EEModuleDescription;
import org.jboss.as.server.deployment.DeploymentPhaseContext;
import org.jboss.as.server.deployment.DeploymentUnit;
@@ -29,6 +27,9 @@ import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.msc.service.ServiceName;
import org.jboss.msc.service.ServiceTarget;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* DUP responsible for setting the web context of a Keycloak auth server and
* passing the Keycloak configuration to the Keycloak server.
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemDefinition.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemDefinition.java
index 3dc4917..ed5a4ee 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemDefinition.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemDefinition.java
@@ -20,17 +20,17 @@ import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.SimpleResourceDefinition;
+import org.jboss.as.controller.StringListAttributeDefinition;
import org.jboss.as.controller.operations.common.GenericSubsystemDescribeHandler;
import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
+import org.keycloak.subsystem.server.attributes.ProvidersListAttributeBuilder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.jboss.as.controller.StringListAttributeDefinition;
-import org.keycloak.subsystem.server.attributes.ProvidersListAttributeBuilder;
/**
* Definition of subsystem=keycloak-server.
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemParser.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemParser.java
index 0f4ea8c..551a6dc 100755
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemParser.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemParser.java
@@ -16,11 +16,17 @@
*/
package org.keycloak.subsystem.server.extension;
+import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.PathAddress;
+import org.jboss.as.controller.PathElement;
+import org.jboss.as.controller.PropertiesAttributeDefinition;
+import org.jboss.as.controller.SimpleAttributeDefinition;
+import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.operations.common.Util;
import org.jboss.as.controller.parsing.ParseUtils;
import org.jboss.as.controller.persistence.SubsystemMarshallingContext;
import org.jboss.dmr.ModelNode;
+import org.jboss.dmr.Property;
import org.jboss.staxmapper.XMLElementReader;
import org.jboss.staxmapper.XMLElementWriter;
import org.jboss.staxmapper.XMLExtendedStreamReader;
@@ -29,26 +35,16 @@ import org.jboss.staxmapper.XMLExtendedStreamWriter;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import java.util.List;
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import org.jboss.as.controller.AttributeDefinition;
-import org.jboss.as.controller.PathElement;
-import org.jboss.as.controller.PropertiesAttributeDefinition;
-import org.jboss.as.controller.SimpleAttributeDefinition;
-import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
-import org.jboss.dmr.Property;
import static org.keycloak.subsystem.server.extension.KeycloakExtension.PATH_SUBSYSTEM;
-import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.WEB_CONTEXT;
-import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.PROVIDERS;
import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.MASTER_REALM_NAME;
+import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.PROVIDERS;
import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.SCHEDULED_TASK_INTERVAL;
-
-import static org.keycloak.subsystem.server.extension.ThemeResourceDefinition.MODULES;
-
-import static org.keycloak.subsystem.server.extension.SpiResourceDefinition.DEFAULT_PROVIDER;
-
+import static org.keycloak.subsystem.server.extension.KeycloakSubsystemDefinition.WEB_CONTEXT;
import static org.keycloak.subsystem.server.extension.ProviderResourceDefinition.ENABLED;
import static org.keycloak.subsystem.server.extension.ProviderResourceDefinition.PROPERTIES;
+import static org.keycloak.subsystem.server.extension.SpiResourceDefinition.DEFAULT_PROVIDER;
+import static org.keycloak.subsystem.server.extension.ThemeResourceDefinition.MODULES;
/**
* The subsystem parser, which uses stax to read and write to and from xml
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemRemoveHandler.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemRemoveHandler.java
index 649cfcb..41a5baf 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemRemoveHandler.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemRemoveHandler.java
@@ -23,11 +23,11 @@ import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.ReloadRequiredRemoveStepHandler;
import org.jboss.as.controller.operations.common.Util;
+import org.jboss.as.controller.registry.ImmutableManagementResourceRegistration;
import org.jboss.dmr.ModelNode;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.DEPLOYMENT;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.REMOVE;
-import org.jboss.as.controller.registry.ImmutableManagementResourceRegistration;
/**
* Remove an auth-server from a realm.
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemWriteAttributeHandler.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemWriteAttributeHandler.java
index 3304616..f0bf06e 100755
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemWriteAttributeHandler.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/KeycloakSubsystemWriteAttributeHandler.java
@@ -17,14 +17,14 @@
package org.keycloak.subsystem.server.extension;
import org.jboss.as.controller.AttributeDefinition;
-
-import java.util.List;
import org.jboss.as.controller.ModelOnlyWriteAttributeHandler;
import org.jboss.as.controller.OperationContext;
import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.registry.Resource;
import org.jboss.dmr.ModelNode;
+import java.util.List;
+
/**
* Update an attribute on an Auth Server.
*
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/MigrateJsonOperation.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/MigrateJsonOperation.java
index 92c229d..dbb7324 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/MigrateJsonOperation.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/MigrateJsonOperation.java
@@ -17,11 +17,6 @@
package org.keycloak.subsystem.server.extension;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.List;
import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.OperationContext;
import org.jboss.as.controller.OperationDefinition;
@@ -33,6 +28,12 @@ import org.jboss.as.controller.SimpleOperationDefinitionBuilder;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ProviderResourceAddHandler.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ProviderResourceAddHandler.java
index 7db883c..746e448 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ProviderResourceAddHandler.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ProviderResourceAddHandler.java
@@ -18,9 +18,10 @@ package org.keycloak.subsystem.server.extension;
import org.jboss.as.controller.AbstractAddStepHandler;
import org.jboss.as.controller.OperationFailedException;
+import org.jboss.dmr.ModelNode;
+
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
-import org.jboss.dmr.ModelNode;
/**
*
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ServerUtil.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ServerUtil.java
index 903f11d..f1ee631 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ServerUtil.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ServerUtil.java
@@ -16,33 +16,33 @@
*/
package org.keycloak.subsystem.server.extension;
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
import org.jboss.as.controller.OperationContext;
import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.OperationStepHandler;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.PathElement;
+import org.jboss.as.controller.operations.common.Util;
+import org.jboss.as.controller.registry.ImmutableManagementResourceRegistration;
+import org.jboss.dmr.ModelNode;
+import org.jboss.modules.Module;
+import org.jboss.modules.ModuleIdentifier;
+import org.jboss.modules.ModuleLoadException;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ARCHIVE;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.CONTENT;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.DEPLOYMENT;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ENABLED;
-import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.PERSISTENT;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.PATH;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.PERSISTENT;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.REDEPLOY;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.RUNTIME_NAME;
-import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.URL;
-import org.jboss.as.controller.operations.common.Util;
-import org.jboss.as.controller.registry.ImmutableManagementResourceRegistration;
-
-import org.jboss.dmr.ModelNode;
-import org.jboss.modules.Module;
-import org.jboss.modules.ModuleIdentifier;
-import org.jboss.modules.ModuleLoadException;
/**
* Utility methods that help assemble and start an auth server.
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/SpiResourceAddHandler.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/SpiResourceAddHandler.java
index 3d41791..c10b6b5 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/SpiResourceAddHandler.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/SpiResourceAddHandler.java
@@ -19,9 +19,10 @@ package org.keycloak.subsystem.server.extension;
import org.jboss.as.controller.AbstractAddStepHandler;
import org.jboss.as.controller.OperationFailedException;
+import org.jboss.dmr.ModelNode;
+
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
-import org.jboss.dmr.ModelNode;
/**
*
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceAddHandler.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceAddHandler.java
index b955101..1407f41 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceAddHandler.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceAddHandler.java
@@ -22,10 +22,11 @@ import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.PathElement;
+import org.jboss.dmr.ModelNode;
+
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
-import org.jboss.dmr.ModelNode;
import static org.keycloak.subsystem.server.extension.ThemeResourceDefinition.ALL_ATTRIBUTES;
/**
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceDefinition.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceDefinition.java
index 94dca67..09008b1 100644
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceDefinition.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/extension/ThemeResourceDefinition.java
@@ -17,10 +17,6 @@
package org.keycloak.subsystem.server.extension;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.ReloadRequiredWriteAttributeHandler;
@@ -33,6 +29,11 @@ import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
import org.keycloak.subsystem.server.attributes.ModulesListAttributeBuilder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
*
* @author Stan Silvert ssilvert@redhat.com (C) 2016 Red Hat Inc.
diff --git a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/logging/KeycloakLogger.java b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/logging/KeycloakLogger.java
index ca1f0eb..58b16e5 100755
--- a/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/logging/KeycloakLogger.java
+++ b/wildfly/server-subsystem/src/main/java/org/keycloak/subsystem/server/logging/KeycloakLogger.java
@@ -18,12 +18,8 @@ package org.keycloak.subsystem.server.logging;
import org.jboss.logging.BasicLogger;
import org.jboss.logging.Logger;
-import org.jboss.logging.annotations.LogMessage;
-import org.jboss.logging.annotations.Message;
import org.jboss.logging.annotations.MessageLogger;
-import static org.jboss.logging.Logger.Level.INFO;
-
/**
* This interface to be fleshed out later when error messages are fully externalized.
*
diff --git a/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/JsonConfigConverterTestCase.java b/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/JsonConfigConverterTestCase.java
index 4c6bf04..9931b4d 100644
--- a/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/JsonConfigConverterTestCase.java
+++ b/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/JsonConfigConverterTestCase.java
@@ -16,15 +16,16 @@
*/
package org.keycloak.subsystem.server.extension;
-import java.util.ArrayList;
-import java.util.List;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.PathElement;
import org.jboss.dmr.ModelNode;
import org.junit.Test;
-import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.List;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADDRESS;
+import static org.junit.Assert.assertEquals;
/**
*
diff --git a/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java b/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java
index 0bc4110..25cfa10 100755
--- a/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java
+++ b/wildfly/server-subsystem/src/test/java/org/keycloak/subsystem/server/extension/SubsystemParsingTestCase.java
@@ -16,11 +16,11 @@
*/
package org.keycloak.subsystem.server.extension;
+import org.jboss.as.subsystem.test.AbstractSubsystemBaseTest;
+
import java.io.IOException;
import java.util.Properties;
-import org.jboss.as.subsystem.test.AbstractSubsystemBaseTest;
-
/**
* Tests all management expects for subsystem, parsing, marshaling, model definition and other
* Here is an example that allows you a fine grained controller over what is tested and how. So it can give you ideas what can be done and tested.