diff options
author | Thomas <> | 2023-05-31 09:05:19 +0200 |
---|---|---|
committer | Thomas <> | 2023-05-31 09:05:19 +0200 |
commit | b8807c30b2ef988226573c6b5bf2f6b3de6aac4d (patch) | |
tree | d3fb30b45db741aa19657f39cedabe7e353ada0b /eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder | |
parent | dc9595c7aea48583d4bd075b398b4ce68b626965 (diff) | |
download | EAAF-Components-b8807c30b2ef988226573c6b5bf2f6b3de6aac4d.tar.gz EAAF-Components-b8807c30b2ef988226573c6b5bf2f6b3de6aac4d.tar.bz2 EAAF-Components-b8807c30b2ef988226573c6b5bf2f6b3de6aac4d.zip |
refact(core): change some more internal representation to make it JSON serializable
Diffstat (limited to 'eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder')
-rw-r--r-- | eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java index 9d24eb8c..2c125cc0 100644 --- a/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java +++ b/eaaf_core/src/main/java/at/gv/egiz/eaaf/core/impl/idp/auth/builder/AbstractAuthenticationDataBuilder.java @@ -22,7 +22,9 @@ package at.gv.egiz.eaaf.core.impl.idp.auth.builder; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.io.Serializable; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -60,6 +62,9 @@ import at.gv.egiz.eaaf.core.impl.idp.AuthenticationData; import at.gv.egiz.eaaf.core.impl.idp.auth.data.AuthProcessDataWrapper; import at.gv.egiz.eaaf.core.impl.idp.auth.data.SimpleIdentityLinkAssertionParser; import at.gv.egiz.eaaf.core.impl.utils.XPathUtils; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; public abstract class AbstractAuthenticationDataBuilder implements IAuthenticationDataBuilder { private static final Logger log = @@ -174,7 +179,7 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati // includedToGenericAuthData = // authProcessData.getGenericSessionDataStorage().keySet(); // else - initializeThreadLocalVariable(authProcessData, new HashSet<>()); + initializeThreadLocalVariable(authProcessData, new HashSet<String>()); // #################################################### // set general authData info's @@ -224,23 +229,23 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati } /** - * Initialize Thread-Local holder for generic attributes set in authenticated session. + * Initialize Thread-Local holder for generic attributes set in authenticated + * session. * * @param authProcessData Current authentication data holder - * @param data {@link Collection} of generic attribute-names - * @throws EaafAuthenticationException In case of an error + * @param set Initial set of attributes of this holder + * @throws EaafAuthenticationException In case of an error */ - protected void initializeThreadLocalVariable(@NonNull final IAuthProcessDataContainer authProcessData, - Set<String> data) + protected void initializeThreadLocalVariable( + @NonNull final IAuthProcessDataContainer authProcessData, Set<String> set) throws EaafAuthenticationException { try { - authProcessData.setGenericDataToSession(GENERIC_ATTR_CONTAINER, data); + authProcessData.setGenericDataToSession(GENERIC_ATTR_CONTAINER, new AttributeListHolder(set)); } catch (EaafStorageException e) { throw new EaafAuthenticationException("builder.11", new Object[] { e.getMessage() }, e); } - } /** @@ -248,9 +253,10 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati * * @param set {@link Collection} of generic attribute-names */ - @SuppressWarnings("unchecked") protected Set<String> getThreadLocalVariable(@NonNull final IAuthProcessDataContainer authProcessData) { - return authProcessData.getGenericDataFromSession(GENERIC_ATTR_CONTAINER, Set.class); + AttributeListHolder holder = authProcessData.getGenericDataFromSession(GENERIC_ATTR_CONTAINER, + AttributeListHolder.class); + return holder != null ? holder.getProcessedAttributes() : Collections.emptySet(); } @@ -370,7 +376,7 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati initializeThreadLocalVariable(authProcessData, authProcessData.getGenericSessionDataStorage().keySet()); } else { - initializeThreadLocalVariable(authProcessData, new HashSet<>()); + initializeThreadLocalVariable(authProcessData, new HashSet<String>()); } // #################################################### @@ -804,4 +810,14 @@ public abstract class AbstractAuthenticationDataBuilder implements IAuthenticati } + @Data + @NoArgsConstructor + @AllArgsConstructor + private static class AttributeListHolder implements Serializable { + private static final long serialVersionUID = -7767295315249087217L; + + private Set<String> processedAttributes; + + } + } |