[java-opensaml] branch main updated: IDP-2083 - Treat NonnullElements as the default for collections
Scott Cantor
cantor.2 at osu.edu
Mon Jun 5 14:27:46 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor 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=a93dfdbcc915e31619ab85f95493310c9a56ab28
The following commit(s) were added to refs/heads/main by this push:
new a93dfdbcc IDP-2083 - Treat NonnullElements as the default for collections
a93dfdbcc is described below
commit a93dfdbcc915e31619ab85f95493310c9a56ab28
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Jun 5 10:27:43 2023 -0400
IDP-2083 - Treat NonnullElements as the default for collections
https://shibboleth.atlassian.net/browse/IDP-2083
Review opensaml-profile-api/impl.
---
.../action/AbstractConditionalProfileAction.java | 2 +-
.../java/org/opensaml/profile/action/ProfileAction.java | 2 +-
.../java/org/opensaml/profile/action/package-info.java | 5 ++++-
.../java/org/opensaml/profile/context/EventContext.java | 2 +-
.../org/opensaml/profile/context/MetricContext.java | 11 +++++------
.../profile/context/ProxiedRequesterContext.java | 5 ++---
.../opensaml/profile/context/navigate/package-info.java | 4 +++-
.../java/org/opensaml/profile/context/package-info.java | 5 ++++-
.../org/opensaml/profile/criterion/package-info.java | 4 +++-
.../org/opensaml/profile/logic/IPRangePredicate.java | 7 +++----
.../opensaml/profile/logic/PredicateAccessControl.java | 1 +
.../java/org/opensaml/profile/logic/package-info.java | 5 ++++-
.../action/impl/AbstractMessageChannelSecurity.java | 17 ++++++++++++++++-
.../java/org/opensaml/profile/action/impl/LogEvent.java | 5 ++---
.../impl/PopulateClientTLSValidationParameters.java | 2 --
.../action/impl/PopulateDecryptionParameters.java | 2 --
.../org/opensaml/profile/action/impl/package-info.java | 5 ++++-
17 files changed, 54 insertions(+), 30 deletions(-)
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java
index 23b9f266c..dde0f35b3 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/AbstractConditionalProfileAction.java
@@ -22,10 +22,10 @@ import java.util.function.Predicate;
import javax.annotation.Nonnull;
import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.LoggerFactory;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.logic.PredicateSupport;
+import net.shibboleth.shared.primitive.LoggerFactory;
/**
* Base class for conditional profile actions.
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ProfileAction.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ProfileAction.java
index 305155076..64f9045c9 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ProfileAction.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/ProfileAction.java
@@ -40,5 +40,5 @@ public interface ProfileAction extends InitializableComponent {
*
* @param profileRequestContext the current IdP profile request context
*/
- public void execute(@Nonnull final ProfileRequestContext profileRequestContext);
+ void execute(@Nonnull final ProfileRequestContext profileRequestContext);
}
\ No newline at end of file
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/package-info.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/package-info.java
index db835d25f..4b9f5ea6f 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/action/package-info.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/action/package-info.java
@@ -19,4 +19,7 @@
* Interfaces and classes for profile actions, discrete units of behavior that
* make up a profile.
*/
-package org.opensaml.profile.action;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.profile.action;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/EventContext.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/EventContext.java
index 3e5cbc70f..8828a5ae3 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/EventContext.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/EventContext.java
@@ -34,7 +34,7 @@ import org.opensaml.messaging.context.BaseContext;
public class EventContext extends BaseContext {
/** The event represented. */
- private Object event;
+ @Nullable private Object event;
/**
* Get the event represented by the context.
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java
index d37d9714e..579ee5dde 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/MetricContext.java
@@ -33,7 +33,6 @@ import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
import net.shibboleth.shared.annotation.constraint.Live;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.logic.Constraint;
@@ -50,13 +49,13 @@ public final class MetricContext extends BaseContext {
*
* <p>The first member is the timer name, the second the object to associate with the timer.</p>
*/
- @Nonnull @NonnullElements private final Multimap<String,Pair<String,String>> timerMap;
+ @Nonnull private final Multimap<String,Pair<String,String>> timerMap;
/** Map of objects to contexts to perform a stop signal. */
- @Nonnull @NonnullElements private final Multimap<String,Timer.Context> timerContextMap;
+ @Nonnull private final Multimap<String,Timer.Context> timerContextMap;
/** Map of objects to counter names. */
- @Nonnull @NonnullElements private final Map<String,String> counterMap;
+ @Nonnull private final Map<String,String> counterMap;
/** Constructor. */
@SuppressWarnings("null")
@@ -97,7 +96,7 @@ public final class MetricContext extends BaseContext {
*
* @return the collection of associated mappings
*/
- @Nonnull @NonnullElements @Live public Collection<Pair<String,String>> getTimerMappings(
+ @Nonnull @Live public Collection<Pair<String,String>> getTimerMappings(
@Nonnull @NotEmpty final String objectId) {
return timerMap.get(objectId);
}
@@ -126,7 +125,7 @@ public final class MetricContext extends BaseContext {
*
* @return map of counters
*/
- @Nonnull @NonnullElements @Live public Map<String,String> getCounterMappings() {
+ @Nonnull @Live public Map<String,String> getCounterMappings() {
return counterMap;
}
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/ProxiedRequesterContext.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/ProxiedRequesterContext.java
index fc254f046..8aed2e1d6 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/ProxiedRequesterContext.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/ProxiedRequesterContext.java
@@ -25,7 +25,6 @@ import javax.annotation.Nonnull;
import org.opensaml.messaging.context.BaseContext;
import net.shibboleth.shared.annotation.constraint.Live;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
/**
@@ -38,7 +37,7 @@ import net.shibboleth.shared.annotation.constraint.NonnullElements;
public final class ProxiedRequesterContext extends BaseContext {
/** The resource. */
- @Nonnull @NonnullElements private Collection<String> requesters;
+ @Nonnull private Collection<String> requesters;
/** Constructor. */
public ProxiedRequesterContext() {
@@ -50,7 +49,7 @@ public final class ProxiedRequesterContext extends BaseContext {
*
* @return the proxied requesters
*/
- @Nonnull @NonnullElements @Live public Collection<String> getRequesters() {
+ @Nonnull @Live public Collection<String> getRequesters() {
return requesters;
}
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/navigate/package-info.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/navigate/package-info.java
index 9690adc13..bf503ee79 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/navigate/package-info.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/navigate/package-info.java
@@ -18,5 +18,7 @@
/**
* Functions for navigating profile context information.
*/
+ at NonnullElements
+package org.opensaml.profile.context.navigate;
-package org.opensaml.profile.context.navigate;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/package-info.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/package-info.java
index c606c6054..30525e8a0 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/context/package-info.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/context/package-info.java
@@ -18,4 +18,7 @@
/**
* Context classes in support of profile behavior.
*/
-package org.opensaml.profile.context;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.profile.context;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/package-info.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/package-info.java
index b2b847c38..df223cd23 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/package-info.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/criterion/package-info.java
@@ -18,5 +18,7 @@
/**
* Profile {@link net.shibboleth.shared.resolver.Criterion} implementations.
*/
+ at NonnullElements
+package org.opensaml.profile.criterion;
-package org.opensaml.profile.criterion;
\ No newline at end of file
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
index bb8d2d0a6..57fd462d7 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/IPRangePredicate.java
@@ -29,7 +29,6 @@ import org.opensaml.messaging.context.BaseContext;
import com.google.common.net.InetAddresses;
import jakarta.servlet.http.HttpServletRequest;
-import net.shibboleth.shared.annotation.constraint.NonnullElements;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.net.IPRange;
@@ -44,7 +43,7 @@ public class IPRangePredicate implements Predicate<BaseContext> {
@Nullable private Supplier<HttpServletRequest> httpRequestSupplier;
/** IP ranges to match against. */
- @Nonnull @NonnullElements private Collection<IPRange> addressRanges;
+ @Nonnull private Collection<IPRange> addressRanges;
/** Constructor. */
IPRangePredicate() {
@@ -58,7 +57,7 @@ public class IPRangePredicate implements Predicate<BaseContext> {
*
* @since 3.3.0
*/
- public void setRanges(@Nonnull @NonnullElements final Collection<IPRange> ranges) {
+ public void setRanges(@Nonnull final Collection<IPRange> ranges) {
Constraint.isNotNull(ranges, "Address range collection cannot be null");
addressRanges = CollectionSupport.copyToList(ranges);
@@ -90,4 +89,4 @@ public class IPRangePredicate implements Predicate<BaseContext> {
return false;
}
-}
+}
\ No newline at end of file
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java
index 0fa12951f..563f2b15f 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/PredicateAccessControl.java
@@ -65,6 +65,7 @@ public class PredicateAccessControl extends AbstractIdentifiableInitializableCom
@Override
public boolean checkAccess(@Nonnull final ServletRequest request, @Nullable final String operation,
@Nullable final String resource) {
+ checkComponentActive();
Constraint.isNotNull(request, "ServletRequest cannot be null");
diff --git a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/package-info.java b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/package-info.java
index 0bfdc2935..afe0168f1 100644
--- a/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/package-info.java
+++ b/opensaml-profile-api/src/main/java/org/opensaml/profile/logic/package-info.java
@@ -18,4 +18,7 @@
/**
* First order logic predicates and functions used for working with profile request data.
*/
-package org.opensaml.profile.logic;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.profile.logic;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
index e223aeba4..b835d91ea 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/AbstractMessageChannelSecurity.java
@@ -23,6 +23,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.messaging.context.BaseContext;
+import org.opensaml.messaging.context.MessageChannelSecurityContext;
import org.opensaml.profile.action.AbstractProfileAction;
import org.opensaml.profile.context.ProfileRequestContext;
@@ -77,7 +78,7 @@ public abstract class AbstractMessageChannelSecurity extends AbstractProfileActi
}
/**
- * Get the parent context on which the {@link org.opensaml.messaging.context.MessageChannelSecurityContext}
+ * Get the parent context on which the {@link MessageChannelSecurityContext}
* will be populated.
*
* @return the parent context
@@ -86,4 +87,18 @@ public abstract class AbstractMessageChannelSecurity extends AbstractProfileActi
return parentContext;
}
+ /**
+ * Get the parent context on which the {@link MessageChannelSecurityContext}
+ * will be populated, raising an {@link IllegalStateException} if absent.
+ *
+ * @return the parent context
+ */
+ @Nonnull protected BaseContext ensureParentContext() {
+ if (parentContext != null) {
+ return parentContext;
+ }
+
+ throw new IllegalStateException("Parent context was null");
+ }
+
}
\ No newline at end of file
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
index ad8b693b4..2116a10e9 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/LogEvent.java
@@ -31,7 +31,6 @@ import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.profile.context.navigate.CurrentOrPreviousEventLookup;
import org.slf4j.Logger;
-import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.logic.Constraint;
import net.shibboleth.shared.primitive.LoggerFactory;
@@ -52,7 +51,7 @@ public class LogEvent extends AbstractProfileAction {
@Nonnull private Function<ProfileRequestContext,EventContext> eventContextLookupStrategy;
/** Set of events to ignore for logging purposes. */
- @Nonnull @NotEmpty private Set<String> suppressedEvents;
+ @Nonnull private Set<String> suppressedEvents;
/** Constructor. */
public LogEvent() {
@@ -76,7 +75,7 @@ public class LogEvent extends AbstractProfileAction {
*
* @param events events to ignore
*/
- public void setSuppressedEvents(@Nullable @NotEmpty final Collection<String> events) {
+ public void setSuppressedEvents(@Nullable final Collection<String> events) {
checkSetterPreconditions();
if (events != null) {
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
index 5d8c8e907..79e60d441 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateClientTLSValidationParameters.java
@@ -134,7 +134,6 @@ public class PopulateClientTLSValidationParameters extends AbstractProfileAction
}
}
-// Checkstyle: ReturnCount OFF
/** {@inheritDoc} */
@Override
protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
@@ -167,6 +166,5 @@ public class PopulateClientTLSValidationParameters extends AbstractProfileAction
ActionSupport.buildEvent(profileRequestContext, EventIds.INVALID_SEC_CFG);
}
}
-// Checkstyle: ReturnCount ON
}
\ No newline at end of file
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
index 8593e5df3..02f9ddd0c 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/PopulateDecryptionParameters.java
@@ -130,7 +130,6 @@ public class PopulateDecryptionParameters extends AbstractConditionalProfileActi
}
}
-// Checkstyle: ReturnCount OFF
/** {@inheritDoc} */
@Override
protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
@@ -164,6 +163,5 @@ public class PopulateDecryptionParameters extends AbstractConditionalProfileActi
ActionSupport.buildEvent(profileRequestContext, EventIds.INVALID_SEC_CFG);
}
}
-// Checkstyle: ReturnCount ON
}
\ No newline at end of file
diff --git a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/package-info.java b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/package-info.java
index 862d2ff26..3d271b81d 100644
--- a/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/package-info.java
+++ b/opensaml-profile-impl/src/main/java/org/opensaml/profile/action/impl/package-info.java
@@ -18,4 +18,7 @@
/**
* Implementations of general profile actions.
*/
-package org.opensaml.profile.action.impl;
\ No newline at end of file
+ at NonnullElements
+package org.opensaml.profile.action.impl;
+
+import net.shibboleth.shared.annotation.constraint.NonnullElements;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list