Details
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 6a61851..690d2fe 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
@@ -588,20 +588,6 @@ public class RealmAdapter implements RealmModel {
}
@Override
- public Map<String, ClientModel> getClientNameMap() {
- if (updated != null) return updated.getClientNameMap();
- Map<String, ClientModel> map = new HashMap<String, ClientModel>();
- for (String id : cached.getClients().values()) {
- ClientModel model = cacheSession.getClientById(id, this);
- if (model == null) {
- throw new IllegalStateException("Cached application not found: " + id);
- }
- map.put(model.getClientId(), model);
- }
- return Collections.unmodifiableMap(map);
- }
-
- @Override
public List<ClientModel> getClients() {
if (updated != null) return updated.getClients();
List<ClientModel> apps = new LinkedList<>();
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java
index d99dedc..65d3b1b 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java
@@ -722,17 +722,6 @@ public class RealmAdapter implements RealmModel {
}
@Override
- public Map<String, ClientModel> getClientNameMap() {
- List<ClientModel> clients = getClients();
- if (clients.isEmpty()) return Collections.EMPTY_MAP;
- Map<String, ClientModel> map = new HashMap<String, ClientModel>();
- for (ClientModel app : clients) {
- map.put(app.getClientId(), app);
- }
- return Collections.unmodifiableMap(map);
- }
-
- @Override
public List<ClientModel> getClients() {
TypedQuery<ClientEntity> query = em.createNamedQuery("getClientsByRealm", ClientEntity.class);
query.setParameter("realm", realm);
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 9ceec41..48978ff 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
@@ -814,17 +814,6 @@ public class RealmAdapter extends AbstractMongoAdapter<MongoRealmEntity> impleme
}
@Override
- public Map<String, ClientModel> getClientNameMap() {
- List<ClientModel> clients = getClients();
- if (clients.isEmpty()) return Collections.EMPTY_MAP;
- Map<String, ClientModel> resourceMap = new HashMap<String, ClientModel>();
- for (ClientModel resource : clients) {
- resourceMap.put(resource.getClientId(), resource);
- }
- return Collections.unmodifiableMap(resourceMap);
- }
-
- @Override
public List<ClientModel> getClients() {
DBObject query = new QueryBuilder()
.and("realmId").is(getId())
diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationTo1_2_0_CR1.java b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationTo1_2_0_CR1.java
index be0a9f3..f2a86ce 100755
--- a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationTo1_2_0_CR1.java
+++ b/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationTo1_2_0_CR1.java
@@ -36,7 +36,7 @@ public class MigrationTo1_2_0_CR1 {
public static final ModelVersion VERSION = new ModelVersion("1.2.0.CR1");
public void setupBrokerService(RealmModel realm) {
- ClientModel client = realm.getClientNameMap().get(Constants.BROKER_SERVICE_CLIENT_ID);
+ ClientModel client = realm.getClientByClientId(Constants.BROKER_SERVICE_CLIENT_ID);
if (client == null) {
client = KeycloakModelUtils.createClient(realm, Constants.BROKER_SERVICE_CLIENT_ID);
client.setEnabled(true);
@@ -52,16 +52,13 @@ public class MigrationTo1_2_0_CR1 {
}
private void setupClientNames(RealmModel realm) {
- Map<String, ClientModel> clients = realm.getClientNameMap();
-
- setupClientName(clients, Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
- setupClientName(clients, Constants.ADMIN_CONSOLE_CLIENT_ID);
- setupClientName(clients, Constants.REALM_MANAGEMENT_CLIENT_ID);
+ setupClientName(realm.getClientByClientId(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID));
+ setupClientName(realm.getClientByClientId(Constants.ADMIN_CONSOLE_CLIENT_ID));
+ setupClientName(realm.getClientByClientId(Constants.REALM_MANAGEMENT_CLIENT_ID));
}
- private void setupClientName(Map<String, ClientModel> clients, String clientId) {
- ClientModel client = clients.get(clientId);
- if (client != null && client.getName() == null) client.setName("${client_" + clientId + "}");
+ private void setupClientName(ClientModel client) {
+ if (client != null && client.getName() == null) client.setName("${client_" + client.getClientId() + "}");
}
public void migrate(KeycloakSession session) {
diff --git a/server-spi/src/main/java/org/keycloak/models/RealmModel.java b/server-spi/src/main/java/org/keycloak/models/RealmModel.java
index 87a9299..bc7dec5 100755
--- a/server-spi/src/main/java/org/keycloak/models/RealmModel.java
+++ b/server-spi/src/main/java/org/keycloak/models/RealmModel.java
@@ -193,9 +193,6 @@ public interface RealmModel extends RoleContainerModel {
void removeDefaultGroup(GroupModel group);
- // Key is clientId
- Map<String, ClientModel> getClientNameMap();
-
List<ClientModel> getClients();
ClientModel addClient(String name);
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 c9d89b4..d349f4e 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
@@ -234,12 +234,12 @@ public class RepresentationToModel {
// Now that all possible roles and clients are created, create scope mappings
- Map<String, ClientModel> appMap = newRealm.getClientNameMap();
+ //Map<String, ClientModel> appMap = newRealm.getClientNameMap();
if (rep.getClientScopeMappings() != null) {
for (Map.Entry<String, List<ScopeMappingRepresentation>> entry : rep.getClientScopeMappings().entrySet()) {
- ClientModel app = appMap.get(entry.getKey());
+ ClientModel app = newRealm.getClientByClientId(entry.getKey());
if (app == null) {
throw new RuntimeException("Unable to find client role mappings for client: " + entry.getKey());
}
@@ -320,7 +320,7 @@ public class RepresentationToModel {
if (rep.getUsers() != null) {
for (UserRepresentation userRep : rep.getUsers()) {
- UserModel user = createUser(session, newRealm, userRep, appMap);
+ UserModel user = createUser(session, newRealm, userRep);
}
}
@@ -383,14 +383,13 @@ public class RepresentationToModel {
List<GroupRepresentation> groups = rep.getGroups();
if (groups == null) return;
- Map<String, ClientModel> clientMap = realm.getClientNameMap();
GroupModel parent = null;
for (GroupRepresentation group : groups) {
- importGroup(realm, clientMap, parent, group);
+ importGroup(realm, parent, group);
}
}
- public static void importGroup(RealmModel realm, Map<String, ClientModel> clientMap, GroupModel parent, GroupRepresentation group) {
+ public static void importGroup(RealmModel realm, GroupModel parent, GroupRepresentation group) {
GroupModel newGroup = realm.createGroup(group.getId(), group.getName());
if (group.getAttributes() != null) {
for (Map.Entry<String, List<String>> attr : group.getAttributes().entrySet()) {
@@ -410,7 +409,7 @@ public class RepresentationToModel {
}
if (group.getClientRoles() != null) {
for (Map.Entry<String, List<String>> entry : group.getClientRoles().entrySet()) {
- ClientModel client = clientMap.get(entry.getKey());
+ ClientModel client = realm.getClientByClientId(entry.getKey());
if (client == null) {
throw new RuntimeException("Unable to find client role mappings for client: " + entry.getKey());
}
@@ -427,7 +426,7 @@ public class RepresentationToModel {
}
if (group.getSubGroups() != null) {
for (GroupRepresentation subGroup : group.getSubGroups()) {
- importGroup(realm, clientMap, newGroup, subGroup);
+ importGroup(realm, newGroup, subGroup);
}
}
}
@@ -1180,7 +1179,7 @@ public class RepresentationToModel {
// Users
- public static UserModel createUser(KeycloakSession session, RealmModel newRealm, UserRepresentation userRep, Map<String, ClientModel> clientMap) {
+ public static UserModel createUser(KeycloakSession session, RealmModel newRealm, UserRepresentation userRep) {
convertDeprecatedSocialProviders(userRep);
// Import users just to user storage. Don't federate
@@ -1228,7 +1227,7 @@ public class RepresentationToModel {
}
if (userRep.getServiceAccountClientId() != null) {
String clientId = userRep.getServiceAccountClientId();
- ClientModel client = clientMap.get(clientId);
+ ClientModel client = newRealm.getClientByClientId(clientId);
if (client == null) {
throw new RuntimeException("Unable to find client specified for service account link. Client: " + clientId);
}
@@ -1316,9 +1315,8 @@ public class RepresentationToModel {
}
}
if (userRep.getClientRoles() != null) {
- Map<String, ClientModel> clientMap = realm.getClientNameMap();
for (Map.Entry<String, List<String>> entry : userRep.getClientRoles().entrySet()) {
- ClientModel client = clientMap.get(entry.getKey());
+ ClientModel client = realm.getClientByClientId(entry.getKey());
if (client == null) {
throw new RuntimeException("Unable to find client role mappings for client: " + entry.getKey());
}
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 0e21f7a..06f6e54 100755
--- a/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java
+++ b/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java
@@ -199,9 +199,8 @@ public class ImportUtils {
private static void importUsers(KeycloakSession session, RealmProvider model, String realmName, List<UserRepresentation> userReps) {
RealmModel realm = model.getRealmByName(realmName);
- Map<String, ClientModel> apps = realm.getClientNameMap();
for (UserRepresentation user : userReps) {
- RepresentationToModel.createUser(session, realm, user, apps);
+ RepresentationToModel.createUser(session, realm, user);
}
}
diff --git a/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java b/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java
old mode 100644
new mode 100755
index dbfc840..2dc4136
--- a/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java
+++ b/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java
@@ -107,9 +107,8 @@ public class UsersPartialImport extends AbstractPartialImport<UserRepresentation
@Override
public void create(RealmModel realm, KeycloakSession session, UserRepresentation user) {
- Map<String, ClientModel> apps = realm.getClientNameMap();
user.setId(KeycloakModelUtils.generateId());
- UserModel userModel = RepresentationToModel.createUser(session, realm, user, apps);
+ UserModel userModel = RepresentationToModel.createUser(session, realm, user);
if (userModel == null) throw new RuntimeException("Unable to create user " + getName(user));
createdIds.put(getName(user), userModel.getId());
}
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 8b6a732..fd3a009 100755
--- a/services/src/main/java/org/keycloak/services/managers/RealmManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/RealmManager.java
@@ -327,7 +327,7 @@ public class RealmManager implements RealmImporter {
private void setupAccountManagement(RealmModel realm) {
- ClientModel client = realm.getClientNameMap().get(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
+ ClientModel client = realm.getClientByClientId(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
if (client == null) {
client = KeycloakModelUtils.createClient(realm, Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
client.setName("${client_" + Constants.ACCOUNT_MANAGEMENT_CLIENT_ID + "}");
@@ -352,7 +352,7 @@ public class RealmManager implements RealmImporter {
}
public void setupBrokerService(RealmModel realm) {
- ClientModel client = realm.getClientNameMap().get(Constants.BROKER_SERVICE_CLIENT_ID);
+ ClientModel client = realm.getClientByClientId(Constants.BROKER_SERVICE_CLIENT_ID);
if (client == null) {
client = KeycloakModelUtils.createClient(realm, Constants.BROKER_SERVICE_CLIENT_ID);
client.setEnabled(true);
diff --git a/services/src/main/java/org/keycloak/services/resources/RealmsResource.java b/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
index 1d39612..1ad6b7b 100755
--- a/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/RealmsResource.java
@@ -139,7 +139,7 @@ public class RealmsResource {
public AccountService getAccountService(final @PathParam("realm") String name) {
RealmModel realm = init(name);
- ClientModel client = realm.getClientNameMap().get(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
+ ClientModel client = realm.getClientByClientId(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
if (client == null || !client.isEnabled()) {
logger.debug("account management not enabled");
throw new NotFoundException("account management not enabled");
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
index 8d9e85d..7c5152b 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
@@ -73,7 +73,7 @@ public class AccountTest {
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
UserModel user = manager.getSession().users().getUserByUsername("test-user@localhost", appRealm);
- ClientModel accountApp = appRealm.getClientNameMap().get(org.keycloak.models.Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
+ ClientModel accountApp = appRealm.getClientByClientId(org.keycloak.models.Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
UserModel user2 = manager.getSession().users().addUser(appRealm, "test-user-no-access@localhost");
user2.setEnabled(true);
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 e66aa60..24161a2 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
@@ -75,7 +75,7 @@ public class ClientModelTest extends AbstractModelTest {
public void persist() {
RealmModel persisted = realmManager.getRealm(realm.getId());
- ClientModel actual = persisted.getClientNameMap().get("app-name");
+ ClientModel actual = persisted.getClientByClientId("app-name");
assertEquals(client, actual);
}
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
index a60877e..0f02666 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
@@ -118,12 +118,12 @@ public class ImportTest extends AbstractModelTest {
Assert.assertNotNull(application);
Assert.assertNotNull(otherApp);
Assert.assertNull(nonExisting);
- Map<String, ClientModel> clients = realm.getClientNameMap();
+ List<ClientModel> clients = realm.getClients();
Assert.assertEquals(8, clients.size());
- Assert.assertTrue(clients.values().contains(application));
- Assert.assertTrue(clients.values().contains(otherApp));
- Assert.assertTrue(clients.values().contains(accountApp));
- realm.getClients().containsAll(clients.values());
+ Assert.assertTrue(clients.contains(application));
+ Assert.assertTrue(clients.contains(otherApp));
+ Assert.assertTrue(clients.contains(accountApp));
+ realm.getClients().containsAll(clients);
Assert.assertEquals("Applicationn", application.getName());
Assert.assertEquals(50, application.getNodeReRegistrationTimeout());
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java
index 2ceca15..9a71c64 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java
@@ -91,7 +91,7 @@ public class AuthorizationCodeTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").addRedirectUri(Constants.INSTALLED_APP_URN);
+ appRealm.getClientByClientId("test-app").addRedirectUri(Constants.INSTALLED_APP_URN);
}
});
oauth.redirectUri(Constants.INSTALLED_APP_URN);
@@ -110,7 +110,7 @@ public class AuthorizationCodeTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").removeRedirectUri(Constants.INSTALLED_APP_URN);
+ appRealm.getClientByClientId("test-app").removeRedirectUri(Constants.INSTALLED_APP_URN);
}
});
}
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java
index 5b12748..a08ca37 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java
@@ -113,7 +113,7 @@ public class OAuthRedirectUriTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").addRedirectUri("http://localhost:8081/app2");
+ appRealm.getClientByClientId("test-app").addRedirectUri("http://localhost:8081/app2");
}
});
@@ -127,7 +127,7 @@ public class OAuthRedirectUriTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").removeRedirectUri("http://localhost:8081/app2");
+ appRealm.getClientByClientId("test-app").removeRedirectUri("http://localhost:8081/app2");
}
});
}
@@ -138,7 +138,7 @@ public class OAuthRedirectUriTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").removeRedirectUri("http://localhost:8081/app/*");
+ appRealm.getClientByClientId("test-app").removeRedirectUri("http://localhost:8081/app/*");
}
});
@@ -152,7 +152,7 @@ public class OAuthRedirectUriTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").addRedirectUri("http://localhost:8081/app/*");
+ appRealm.getClientByClientId("test-app").addRedirectUri("http://localhost:8081/app/*");
}
});
}
@@ -163,7 +163,7 @@ public class OAuthRedirectUriTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").removeRedirectUri("http://localhost:8081/app/*");
+ appRealm.getClientByClientId("test-app").removeRedirectUri("http://localhost:8081/app/*");
}
});
@@ -177,7 +177,7 @@ public class OAuthRedirectUriTest {
keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
- appRealm.getClientNameMap().get("test-app").addRedirectUri("http://localhost:8081/app/*");
+ appRealm.getClientByClientId("test-app").addRedirectUri("http://localhost:8081/app/*");
}
});
}