[java-opensaml] 03/03: Refactor for cyclomatic complexity.
Brent Putman
putmanb at georgetown.edu
Thu Dec 2 03:56:12 UTC 2021
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=a3913fbb9592da850f2d5948df3c38f77cc1580a
commit a3913fbb9592da850f2d5948df3c38f77cc1580a
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Wed Dec 1 22:50:50 2021 -0500
Refactor for cyclomatic complexity.
---
.../binding/impl/SAMLMetadataLookupHandler.java | 60 ++++++++++++++--------
1 file changed, 38 insertions(+), 22 deletions(-)
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
index 1ae13e076..696bac936 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
@@ -152,34 +152,15 @@ public class SAMLMetadataLookupHandler extends AbstractMessageHandler {
return;
}
- final EntityIdCriterion entityIdCriterion = new EntityIdCriterion(entityCtx.getEntityId());
- final EntityRoleCriterion roleCriterion = new EntityRoleCriterion(entityCtx.getRole());
-
- ProtocolCriterion protocolCriterion = null;
- final SAMLProtocolContext protocolCtx = messageContext.getSubcontext(SAMLProtocolContext.class);
- if (protocolCtx != null && protocolCtx.getProtocol() != null) {
- protocolCriterion = new ProtocolCriterion(protocolCtx.getProtocol());
- }
-
- final SAMLMetadataLookupParametersContext lookupParamsContext =
- messageContext.getSubcontext(SAMLMetadataLookupParametersContext.class);
-
- DetectDuplicateEntityIDsCriterion detectDuplicatesCriterion = null;
- if (lookupParamsContext != null && lookupParamsContext.getDetectDuplicateEntityIDs() != null) {
- detectDuplicatesCriterion =
- new DetectDuplicateEntityIDsCriterion(lookupParamsContext.getDetectDuplicateEntityIDs());
- }
-
- final CriteriaSet criteria = new CriteriaSet(entityIdCriterion, protocolCriterion, roleCriterion,
- detectDuplicatesCriterion);
+ final CriteriaSet criteria = buildLookupCriteria(messageContext);
try {
final RoleDescriptor roleMetadata = metadataResolver.resolveSingle(criteria);
if (roleMetadata == null) {
- if (protocolCriterion != null) {
+ if (criteria.contains(ProtocolCriterion.class)) {
log.info("{} No metadata returned for {} in role {} with protocol {}",
getLogPrefix(), entityCtx.getEntityId(), entityCtx.getRole(),
- protocolCriterion.getProtocol());
+ criteria.get(ProtocolCriterion.class).getProtocol());
} else {
log.info("{} No metadata returned for {} in role {}",
getLogPrefix(), entityCtx.getEntityId(), entityCtx.getRole());
@@ -200,6 +181,41 @@ public class SAMLMetadataLookupHandler extends AbstractMessageHandler {
}
}
+ /**
+ * Build the lookup criteria from the message context data.
+ *
+ * @param messageContext the current message context
+ *
+ * @return the new lookup criteria
+ */
+ protected CriteriaSet buildLookupCriteria(final MessageContext messageContext) {
+
+ // This must be present in the message context, but is already checked in the calling method
+ final AbstractSAMLEntityContext entityCtx = messageContext.getSubcontext(entityContextClass);
+
+ final EntityIdCriterion entityIdCriterion = new EntityIdCriterion(entityCtx.getEntityId());
+ final EntityRoleCriterion roleCriterion = new EntityRoleCriterion(entityCtx.getRole());
+
+ ProtocolCriterion protocolCriterion = null;
+ final SAMLProtocolContext protocolCtx = messageContext.getSubcontext(SAMLProtocolContext.class);
+ if (protocolCtx != null && protocolCtx.getProtocol() != null) {
+ protocolCriterion = new ProtocolCriterion(protocolCtx.getProtocol());
+ }
+
+ final SAMLMetadataLookupParametersContext lookupParamsContext =
+ messageContext.getSubcontext(SAMLMetadataLookupParametersContext.class);
+
+ DetectDuplicateEntityIDsCriterion detectDuplicatesCriterion = null;
+ if (lookupParamsContext != null && lookupParamsContext.getDetectDuplicateEntityIDs() != null) {
+ detectDuplicatesCriterion =
+ new DetectDuplicateEntityIDsCriterion(lookupParamsContext.getDetectDuplicateEntityIDs());
+ }
+
+ final CriteriaSet criteria = new CriteriaSet(entityIdCriterion, protocolCriterion, roleCriterion,
+ detectDuplicatesCriterion);
+ return criteria;
+ }
+
/**
* Attempt to resolve an existing {@link SAMLMetadataContext} from which to copy.
*
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list