From f784ed3ce4fa8b36ec2b32826d61cd7b28759d42 Mon Sep 17 00:00:00 2001 From: Arnab Dutta Date: Wed, 7 Feb 2024 22:28:11 +0530 Subject: [PATCH 1/2] fix: fix array java.lang.IndexOutOfBoundsException Signed-off-by: Arnab Dutta --- .../jans/configapi/plugin/mgt/service/UserMgmtService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java b/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java index 2f0121db0be..34d6c188224 100644 --- a/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java +++ b/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java @@ -423,7 +423,7 @@ public List removeInActiveCustomAttribute(List attList = findAttributeByName(attributeName); logger.debug("attributeName:{} data is attList: {}", attributeName, attList); - if (attList!=null && !GluuStatus.ACTIVE.getValue().equalsIgnoreCase(attList.get(0).getStatus().getValue())) { + if (!isEmptyOrNullCollection(attList) && !GluuStatus.ACTIVE.getValue().equalsIgnoreCase(attList.get(0).getStatus().getValue())) { logger.info("Removing attribute as it is not active attributeName: {} , status:{}", attributeName, attList.get(0).getStatus().getValue()); it.remove(); } @@ -443,4 +443,8 @@ private String getDnForAttribute(String inum) { } return String.format("inum=%s,%s", inum, attributesDn); } + + private static boolean isEmptyOrNullCollection(Collection collection) { + return (collection == null || collection.isEmpty()); + } } From dcfdf062d8b656b7c65b3c55632d7aeaaaef78d3 Mon Sep 17 00:00:00 2001 From: Arnab Dutta Date: Wed, 7 Feb 2024 22:52:25 +0530 Subject: [PATCH 2/2] fix: fix array java.lang.IndexOutOfBoundsException Signed-off-by: Arnab Dutta --- .../jans/configapi/plugin/mgt/service/UserMgmtService.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java b/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java index 34d6c188224..0717afc7007 100644 --- a/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java +++ b/jans-config-api/plugins/user-mgt-plugin/src/main/java/io/jans/configapi/plugin/mgt/service/UserMgmtService.java @@ -26,6 +26,7 @@ import jakarta.inject.Named; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtilsBean; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -423,7 +424,7 @@ public List removeInActiveCustomAttribute(List attList = findAttributeByName(attributeName); logger.debug("attributeName:{} data is attList: {}", attributeName, attList); - if (!isEmptyOrNullCollection(attList) && !GluuStatus.ACTIVE.getValue().equalsIgnoreCase(attList.get(0).getStatus().getValue())) { + if (CollectionUtils.isNotEmpty(attList) && !GluuStatus.ACTIVE.getValue().equalsIgnoreCase(attList.get(0).getStatus().getValue())) { logger.info("Removing attribute as it is not active attributeName: {} , status:{}", attributeName, attList.get(0).getStatus().getValue()); it.remove(); } @@ -443,8 +444,4 @@ private String getDnForAttribute(String inum) { } return String.format("inum=%s,%s", inum, attributesDn); } - - private static boolean isEmptyOrNullCollection(Collection collection) { - return (collection == null || collection.isEmpty()); - } }