fixed Problem with limited count of 100 when getting all users.
diff --git a/src/main/java/org/eclipse/openk/portal/auth2/util/JwtHelper.java b/src/main/java/org/eclipse/openk/portal/auth2/util/JwtHelper.java
index 48e4855..6195622 100644
--- a/src/main/java/org/eclipse/openk/portal/auth2/util/JwtHelper.java
+++ b/src/main/java/org/eclipse/openk/portal/auth2/util/JwtHelper.java
@@ -38,8 +38,8 @@
return getJwtTokenFromJson(token);
}
- public static List<KeyCloakUser> getUsers(JwtToken jwtToken) throws PortalInternalServerError {
- String users = sendGet(BackendConfig.getInstance().getAuthServerUrl() + "auth/admin/realms/" + BackendConfig.getInstance().getKeycloakRealm() + "/users",
+ public static List<KeyCloakUser> getUsers(JwtToken jwtToken, int maxUsers) throws PortalInternalServerError {
+ String users = sendGet(BackendConfig.getInstance().getAuthServerUrl() + "auth/admin/realms/" + BackendConfig.getInstance().getKeycloakRealm() + "/users?max="+maxUsers,
MediaType.APPLICATION_JSON, jwtToken.getAccessToken());
return getUserListFromJson(users);
}
diff --git a/src/main/java/org/eclipse/openk/portal/common/BackendConfig.java b/src/main/java/org/eclipse/openk/portal/common/BackendConfig.java
index eec4219..2c96d87 100644
--- a/src/main/java/org/eclipse/openk/portal/common/BackendConfig.java
+++ b/src/main/java/org/eclipse/openk/portal/common/BackendConfig.java
@@ -11,6 +11,7 @@
private String keycloakClient;
private String keycloakAdmin;
private String keycloakPW;
+ private Integer maxLoadUsers;
private static BackendConfig instance;
@@ -54,6 +55,9 @@
return keycloakRealm;
}
+ public Integer getMaxLoadUsers() {
+ return maxLoadUsers;
+ }
public static String getConfigFileName() {
return configFileName;
diff --git a/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java b/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java
index abaf567..f881417 100644
--- a/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java
+++ b/src/main/java/org/eclipse/openk/portal/common/UserCacheTimerTask.java
@@ -34,7 +34,7 @@
}
private List<KeyCloakUser> getKeyCloakUsersFromToken(JwtToken token) throws PortalInternalServerError {
- List<KeyCloakUser> allUsers = JwtHelper.getUsers(token);
+ List<KeyCloakUser> allUsers = JwtHelper.getUsers(token, BackendConfig.getInstance().getMaxLoadUsers());
List<KeyCloakUser> allUsersWithRoles = new ArrayList<>();
for (KeyCloakUser user : allUsers) {
diff --git a/src/main/java/org/eclipse/openk/portal/controller/BackendController.java b/src/main/java/org/eclipse/openk/portal/controller/BackendController.java
index ad3ddfe..1894ab1 100644
--- a/src/main/java/org/eclipse/openk/portal/controller/BackendController.java
+++ b/src/main/java/org/eclipse/openk/portal/controller/BackendController.java
@@ -22,12 +22,6 @@
private static final Logger LOGGER = Logger.getLogger(BackendController.class.getName());
private final InputDataValuator inputDataValuator = new InputDataValuator();
- public List<KeyCloakUser> getUsers() throws PortalInternalServerError {
- JwtToken token = JwtHelper.login(BackendConfig.getInstance().getKeycloakAdmin(),
- BackendConfig.getInstance().getKeycloakPW());
- return JwtHelper.getUsers(token);
- }
-
public List<KeyCloakUser> getUsersForRole(String roleToCheck) {
List<KeyCloakUser> usersWithRole = new ArrayList<>();
List<KeyCloakUser> keyCloakUsers = UserCache.getInstance().getKeyCloakUsers();
diff --git a/src/main/resources/_backendConfigCustom.json b/src/main/resources/_backendConfigCustom.json
index 6197068..df350b7 100644
--- a/src/main/resources/_backendConfigCustom.json
+++ b/src/main/resources/_backendConfigCustom.json
@@ -5,5 +5,6 @@
"keycloakRealm": "elogbook",
"keycloakClient": "elogbook-backend",
"keycloakAdmin": "admin",
- "keycloakPW": "nimda"
+ "keycloakPW": "nimda",
+ "maxLoadUsers": 1000
}
\ No newline at end of file
diff --git a/src/main/resources/backendConfigDevLocal.json b/src/main/resources/backendConfigDevLocal.json
index 6197068..df350b7 100644
--- a/src/main/resources/backendConfigDevLocal.json
+++ b/src/main/resources/backendConfigDevLocal.json
@@ -5,5 +5,6 @@
"keycloakRealm": "elogbook",
"keycloakClient": "elogbook-backend",
"keycloakAdmin": "admin",
- "keycloakPW": "nimda"
+ "keycloakPW": "nimda",
+ "maxLoadUsers": 1000
}
\ No newline at end of file
diff --git a/src/main/resources/backendConfigDevServer.json b/src/main/resources/backendConfigDevServer.json
index 17b73db..04e1609 100644
--- a/src/main/resources/backendConfigDevServer.json
+++ b/src/main/resources/backendConfigDevServer.json
@@ -5,5 +5,6 @@
"keycloakRealm": "Elogbook",
"keycloakClient": "elogbook-backend",
"keycloakAdmin": "admin",
- "keycloakPW": "admin"
+ "keycloakPW": "admin",
+ "maxLoadUsers": 1000
}
\ No newline at end of file
diff --git a/src/main/resources/backendConfigProduction.json b/src/main/resources/backendConfigProduction.json
index 7fed7db..a01fbba 100644
--- a/src/main/resources/backendConfigProduction.json
+++ b/src/main/resources/backendConfigProduction.json
@@ -5,5 +5,6 @@
"keycloakRealm": "MainDonauNetz",
"keycloakClient": "elogbook-backend",
"keycloakAdmin": "admin",
- "keycloakPW": "Gfxt!T123"
+ "keycloakPW": "Gfxt!T123",
+ "maxLoadUsers": 1000
}
\ No newline at end of file
diff --git a/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java b/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java
index 4a9290e..73a6ed4 100644
--- a/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java
+++ b/src/test/java/org/eclipse/openk/portal/common/UserCacheTimerTaskTest.java
@@ -48,7 +48,7 @@
List<KeyCloakRole> keyCloakRolesList = JsonGeneratorBase.getGson().fromJson(jsonKeyCloakRoles, listTypeKeyCloakRole);
expect(JwtHelper.login(BackendConfig.getInstance().getKeycloakAdmin(), BackendConfig.getInstance().getKeycloakPW())).andReturn(jwt);
- expect(JwtHelper.getUsers(jwt)).andReturn(keyCloakUsersList);
+ expect(JwtHelper.getUsers(jwt, BackendConfig.getInstance().getMaxLoadUsers())).andReturn(keyCloakUsersList);
expect(JwtHelper.getRolesForUser(jwt, keyCloakUsersList.get(0).getId())).andReturn(keyCloakRolesList);
PowerMock.replayAll();
diff --git a/src/test/java/org/eclipse/openk/portal/controller/ControllerImplementationsTest.java b/src/test/java/org/eclipse/openk/portal/controller/ControllerImplementationsTest.java
index 0445e84..987ddf4 100644
--- a/src/test/java/org/eclipse/openk/portal/controller/ControllerImplementationsTest.java
+++ b/src/test/java/org/eclipse/openk/portal/controller/ControllerImplementationsTest.java
@@ -31,9 +31,6 @@
controllerImpl.setModUser("EgalUser");
controllerImpl.setUserId(14);
- expect(beMock.getUsers()).andReturn(userList);
- PowerMock.replay(beMock);
-
assertEquals(controllerImpl.invoke().getStatus(), Globals.HTTPSTATUS_OK);
assertEquals(controllerImpl.getModUser(), "EgalUser");
assertEquals(controllerImpl.getUserId(), 14);