[java-identity-provider] 01/06: IDP-1595 Tidy up some extraneous methods in PluginState
Rod Widdowson
rdw at steadingsoftware.com
Tue Aug 4 13:06:41 UTC 2020
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=ef08e70d03290caa93c4610f431b5ef434b6f230
commit ef08e70d03290caa93c4610f431b5ef434b6f230
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Aug 2 14:34:26 2020 +0100
IDP-1595 Tidy up some extraneous methods in PluginState
https://issues.shibboleth.net/jira/browse/IDP-1595
---
.../shibboleth/idp/plugin/impl/PluginState.java | 66 +++++++---------------
.../net/shibboleth/idp/plugin/PluginStateTest.java | 50 ++++++++--------
2 files changed, 48 insertions(+), 68 deletions(-)
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/PluginState.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/PluginState.java
index a9448ac50..42dfdb5af 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/PluginState.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/plugin/impl/PluginState.java
@@ -20,8 +20,8 @@ package net.shibboleth.idp.plugin.impl;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Collection;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Pattern;
@@ -242,13 +242,19 @@ public class PluginState extends AbstractInitializableComponent {
}
/** {@inheritDoc} */
+ // CheckStyle: CyclomaticComplexity OFF
protected void doInitialize() throws ComponentInitializationException {
try {
if (httpClient == null) {
httpClient = new HttpClientBuilder().buildClient();
}
- for (final URL url: plugin.getUpdateURLs()) {
+ final List<URL> urls = plugin.getUpdateURLs();
+ if (urls == null) {
+ log.error("Plugin {} was malformed", plugin.getPluginId());
+ throw new ComponentInitializationException("Could not locate information plugin");
+ }
+ for (final URL url: urls) {
final Resource propertyResource;
if ("file".equals(url.getProtocol())) {
// Kludge to allow classpath backed files
@@ -290,37 +296,7 @@ public class PluginState extends AbstractInitializableComponent {
super.doInitialize();
}
}
-
- /** Get the current support level for this version.
- * @return the level
- */
- public SupportLevel getSupportLevel() {
- ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
- return myVersionInfo.getSupportLevel();
- }
-
- /** Is this plugin supported with the current IdP?
- * @return whether it is supported.
- */
- public boolean isSupportedWithIdPVersion() {
- return isSupportedWithIdPVersion(PluginSupport.getIdPVersion());
- }
-
- /** Is this plugin supported with this IdP version.
- * @param idPVersion the version as a {@link String}
- * @return whether it is supported.
- */
- public boolean isSupportedWithIdPVersion(final String idPVersion) {
- return isSupportedWithIdPVersion(new PluginVersion(idPVersion));
- }
-
- /** Is this plugin supported with this IdP version.
- * @param idPVersion the version as a {@link PluginVersion}
- * @return whether it is supported.
- */
- public boolean isSupportedWithIdPVersion(final PluginVersion idPVersion) {
- return isSupportedWithIdPVersion(myVersionInfo, idPVersion);
- }
+ // CheckStyle: CyclomaticComplexity ON
/** Is the specified plugin supported with this IdP version.
* @param pluginVersion the version if the plugin as a {@link PluginVersion}
@@ -339,22 +315,13 @@ public class PluginState extends AbstractInitializableComponent {
return isSupportedWithIdPVersion(info, idPVersion);
}
- /** Is the specified plugin supported with this IdP version.
- * @param pluginVersion the version if the plugin as a {@link PluginVersion}
- * @param idPVersion the version if the IDP as a {@link String}
- * @return whether it is supported.
- */
- public boolean isSupportedWithIdPVersion(final PluginVersion pluginVersion, final String idPVersion) {
- return isSupportedWithIdPVersion(pluginVersion, new PluginVersion(idPVersion));
- }
-
/** Is the specified plugin supported with this IdP version.
* Worker method for all 'isSupportedWith' classes.
* @param pluginVersionInfo the version info to consider
* @param idPVersion the version as a {@link PluginVersion}
* @return whether it is supported.
*/
- protected static boolean isSupportedWithIdPVersion(final VersionInfo pluginVersionInfo,
+ public static boolean isSupportedWithIdPVersion(final VersionInfo pluginVersionInfo,
final PluginVersion idPVersion) {
final int maxCompare = idPVersion.compareTo(pluginVersionInfo.getMaxSupported());
@@ -372,16 +339,23 @@ public class PluginState extends AbstractInitializableComponent {
return false;
}
+ /** Return the current state (from provided plugin).
+ * @return Returns the Current Info.
+ */
+ public VersionInfo getCurrentInfo() {
+ return myVersionInfo;
+ }
+
/** Return all announced versions.
* @return the versions.
*/
- @Nonnull @NotEmpty public Collection<PluginVersion> getAvailableVersions() {
+ @Nonnull @NotEmpty public Map<PluginVersion, VersionInfo> getAvailableVersions() {
ComponentSupport.ifNotInitializedThrowUninitializedComponentException(this);
- return versionInfo.keySet();
+ return versionInfo;
}
/** Encapsulation of the information about a given IdP version. */
- protected static class VersionInfo {
+ public static class VersionInfo {
/** Maximum version - this version is NOT SUPPORTED. */
private final PluginVersion maxSupported;
diff --git a/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/PluginStateTest.java b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/PluginStateTest.java
index 4e3c6086d..8e1fc3aa1 100644
--- a/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/PluginStateTest.java
+++ b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/PluginStateTest.java
@@ -29,7 +29,6 @@ import java.util.List;
import org.testng.annotations.Test;
-import net.shibboleth.idp.plugin.PluginSupport.SupportLevel;
import net.shibboleth.idp.plugin.impl.PluginState;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -38,6 +37,11 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
*/
@SuppressWarnings("javadoc")
public class PluginStateTest {
+
+ private boolean testSupportState(final PluginVersion pluginVersion, final PluginState state, final String IdpVersion) {
+ final PluginVersion idPVersion = new PluginVersion(IdpVersion);
+ return state.isSupportedWithIdPVersion(pluginVersion, idPVersion);
+ }
@Test
public void testSimple() throws ComponentInitializationException {
@@ -47,33 +51,36 @@ public class PluginStateTest {
final PluginState state = new PluginState(simple);
state.initialize();
+
+ final PluginVersion pluginVersion = new PluginVersion(simple.getMajorVersion(), simple.getMinorVersion(), simple.getPatchVersion());
+ assertEquals(pluginVersion, new PluginVersion("1.2.3"));
assertEquals(state.getAvailableVersions().size(), 3);
- assertTrue(state.getAvailableVersions().contains(new PluginVersion(1, 2, 3)));
- assertTrue(state.getAvailableVersions().contains(new PluginVersion(1, 2, 4)));
- assertTrue(state.getAvailableVersions().contains(new PluginVersion(2,0,0)));
- assertFalse(state.getAvailableVersions().contains(new PluginVersion(3, 2, 3)));
+ assertTrue(state.getAvailableVersions().containsKey(new PluginVersion(1, 2, 3)));
+ assertTrue(state.getAvailableVersions().containsKey(new PluginVersion(1, 2, 4)));
+ assertTrue(state.getAvailableVersions().containsKey(new PluginVersion(2,0,0)));
+ assertFalse(state.getAvailableVersions().containsKey(new PluginVersion(3, 2, 3)));
- assertTrue(state.isSupportedWithIdPVersion("4.2.0"));
- assertTrue(state.isSupportedWithIdPVersion("4.99.9"));
- assertFalse(state.isSupportedWithIdPVersion("5.0.0"));
- assertFalse(state.isSupportedWithIdPVersion("4.1.0"));
+ assertTrue(testSupportState(pluginVersion, state, "4.1.0"));
+ assertTrue(testSupportState(pluginVersion, state, "4.2.0"));
+ assertTrue(testSupportState(pluginVersion, state, "4.99.9"));
+ assertFalse(testSupportState(pluginVersion, state, "5.0.0"));
final PluginVersion v124 = new PluginVersion(1,2,3);
- assertTrue(state.isSupportedWithIdPVersion(v124, "4.1.0"));
- assertTrue(state.isSupportedWithIdPVersion(v124, "4.99.9"));
- assertFalse(state.isSupportedWithIdPVersion(v124, "5.0.0"));
- assertFalse(state.isSupportedWithIdPVersion(v124, "4.0.0"));
+ assertTrue(testSupportState(v124, state,"4.1.0"));
+ assertTrue(testSupportState(v124, state, "4.99.9"));
+ assertFalse(testSupportState(v124, state, "5.0.0"));
+ assertFalse(testSupportState(v124, state, "4.0.0"));
final PluginVersion v2 = new PluginVersion(2,0,0);
- assertTrue(state.isSupportedWithIdPVersion(v2, "4.99.1"));
- assertTrue(state.isSupportedWithIdPVersion(v2, "4.99.999"));
- assertFalse(state.isSupportedWithIdPVersion(v2, "4.99.0"));
- assertFalse(state.isSupportedWithIdPVersion(v2, "4.98.999"));
- assertTrue(state.isSupportedWithIdPVersion(v2, "5.0.0"));
- assertTrue(state.isSupportedWithIdPVersion(v2, "6.0.0"));
- assertTrue(state.isSupportedWithIdPVersion(v2, "7.0.0"));
- assertFalse(state.isSupportedWithIdPVersion(v2, "8"));
+ assertTrue(testSupportState(v2, state, "4.99.1"));
+ assertTrue(testSupportState(v2, state, "4.99.999"));
+ assertFalse(testSupportState(v2, state, "4.99.0"));
+ assertFalse(testSupportState(v2, state, "4.98.999"));
+ assertTrue(testSupportState(v2, state, "5.0.0"));
+ assertTrue(testSupportState(v2, state, "6.0.0"));
+ assertTrue(testSupportState(v2, state, "7.0.0"));
+ assertFalse(testSupportState(v2, state, "8"));
}
@@ -96,6 +103,5 @@ public class PluginStateTest {
state.initialize();
assertEquals(state.getAvailableVersions().size(), 3);
- assertEquals(state.getSupportLevel(), SupportLevel.OutOfDate);
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list