From 8fd14ef58ba9b45e5fc5a6efd3360b18bb691e47 Mon Sep 17 00:00:00 2001 From: YuriyZ Date: Tue, 10 Jan 2023 12:57:02 +0200 Subject: [PATCH] chore(jans-auth-server): move enabledFeatureFlags out of AppConfiguration to avoid patch issues on jans-config-api side #3577 (#3581) --- .../main/java/io/jans/as/model/common/FeatureFlagType.java | 5 +++++ .../io/jans/as/model/configuration/AppConfiguration.java | 6 +----- .../java/io/jans/as/model/error/ErrorResponseFactory.java | 2 +- .../main/java/io/jans/as/server/service/AppInitializer.java | 2 +- .../java/io/jans/as/server/service/stat/StatService.java | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/jans-auth-server/model/src/main/java/io/jans/as/model/common/FeatureFlagType.java b/jans-auth-server/model/src/main/java/io/jans/as/model/common/FeatureFlagType.java index 6398193b5d8..dd0b11276dd 100644 --- a/jans-auth-server/model/src/main/java/io/jans/as/model/common/FeatureFlagType.java +++ b/jans-auth-server/model/src/main/java/io/jans/as/model/common/FeatureFlagType.java @@ -1,5 +1,6 @@ package io.jans.as.model.common; +import io.jans.as.model.configuration.AppConfiguration; import io.jans.doc.annotation.DocFeatureFlag; import org.apache.commons.lang3.StringUtils; @@ -78,6 +79,10 @@ public static FeatureFlagType fromValue(String v) { return UNKNOWN; } + public static Set from(AppConfiguration appConfiguration) { + return fromValues(appConfiguration.getFeatureFlags()); + } + public static Set fromValues(List values) { Set result = new HashSet<>(); if (values == null || values.isEmpty()) { diff --git a/jans-auth-server/model/src/main/java/io/jans/as/model/configuration/AppConfiguration.java b/jans-auth-server/model/src/main/java/io/jans/as/model/configuration/AppConfiguration.java index 3e975a63399..cdaea347375 100644 --- a/jans-auth-server/model/src/main/java/io/jans/as/model/configuration/AppConfiguration.java +++ b/jans-auth-server/model/src/main/java/io/jans/as/model/configuration/AppConfiguration.java @@ -904,12 +904,8 @@ public void setCheckUserPresenceOnRefreshToken(Boolean checkUserPresenceOnRefres this.checkUserPresenceOnRefreshToken = checkUserPresenceOnRefreshToken; } - public Set getEnabledFeatureFlags() { - return FeatureFlagType.fromValues(getFeatureFlags()); - } - public boolean isFeatureEnabled(FeatureFlagType flagType) { - final Set flags = getEnabledFeatureFlags(); + final Set flags = FeatureFlagType.from(this); if (flags.isEmpty()) return true; diff --git a/jans-auth-server/model/src/main/java/io/jans/as/model/error/ErrorResponseFactory.java b/jans-auth-server/model/src/main/java/io/jans/as/model/error/ErrorResponseFactory.java index 1df096d599d..d1f03268146 100644 --- a/jans-auth-server/model/src/main/java/io/jans/as/model/error/ErrorResponseFactory.java +++ b/jans-auth-server/model/src/main/java/io/jans/as/model/error/ErrorResponseFactory.java @@ -104,7 +104,7 @@ public String errorAsJson(IErrorType type, String reason) { } public void validateFeatureEnabled(FeatureFlagType flagType) { - final Set enabledFlags = appConfiguration.getEnabledFeatureFlags(); + final Set enabledFlags = FeatureFlagType.from(appConfiguration); if (enabledFlags.isEmpty()) { // no restrictions return; } diff --git a/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java b/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java index e8245612b6b..450515dcf8f 100644 --- a/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java +++ b/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java @@ -702,7 +702,7 @@ public void setLastFinishedTime(long lastFinishedTime) { * should be more than 0 seconds of interval */ private void initCibaRequestsProcessor() { - final Set featureFlags = appConfiguration.getEnabledFeatureFlags(); + final Set featureFlags = FeatureFlagType.from(appConfiguration); if ((featureFlags.isEmpty() || featureFlags.contains(FeatureFlagType.CIBA)) && appConfiguration.getBackchannelRequestsProcessorJobIntervalSec() > 0) { if (cibaRequestsProcessorJob != null) { cibaRequestsProcessorJob.initTimer(); diff --git a/jans-auth-server/server/src/main/java/io/jans/as/server/service/stat/StatService.java b/jans-auth-server/server/src/main/java/io/jans/as/server/service/stat/StatService.java index fec57f08a76..43a558cd6a3 100644 --- a/jans-auth-server/server/src/main/java/io/jans/as/server/service/stat/StatService.java +++ b/jans-auth-server/server/src/main/java/io/jans/as/server/service/stat/StatService.java @@ -73,7 +73,7 @@ public void create() { public boolean init() { try { - final Set featureFlags = appConfiguration.getEnabledFeatureFlags(); + final Set featureFlags = FeatureFlagType.from(appConfiguration); if (!featureFlags.isEmpty() && !featureFlags.contains(FeatureFlagType.STAT)) { log.trace("Stat service is not enabled."); return false;