[java-identity-provider] branch main updated: Add detection of unknown module IDs.
Scott Cantor
cantor.2 at osu.edu
Tue Mar 9 20:12:48 UTC 2021
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=3ac52cd6754bad744af19816aa61186cba78d575
The following commit(s) were added to refs/heads/main by this push:
new 3ac52cd67 Add detection of unknown module IDs.
3ac52cd67 is described below
commit 3ac52cd6754bad744af19816aa61186cba78d575
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Mar 9 15:12:44 2021 -0500
Add detection of unknown module IDs.
---
.../idp/module/impl/ModuleManagerArguments.java | 4 +--
.../idp/module/impl/ModuleManagerCLI.java | 31 ++++++++++++++++++++--
2 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerArguments.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerArguments.java
index 85724c3b8..05b94a58f 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerArguments.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerArguments.java
@@ -49,11 +49,11 @@ public class ModuleManagerArguments extends AbstractIdPHomeAwareCommandLineArgum
@Parameter(names= {"-l", "--list"})
@Nullable private boolean list;
- /** Detailed info about an installed module. */
+ /** Detailed info about installed module(s). */
@Parameter(names= {"-i", "--info"})
@Nullable @NonnullElements private List<String> infoModuleIds = new ArrayList<>();
- /** Detailed info about installed module(s). */
+ /** Test status of installed module(s). */
@Parameter(names= {"-t", "--test"})
@Nullable @NonnullElements private List<String> testModuleIds = new ArrayList<>();
diff --git a/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerCLI.java b/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerCLI.java
index 489263708..9ce1e0dbb 100644
--- a/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerCLI.java
+++ b/idp-admin-impl/src/main/java/net/shibboleth/idp/module/impl/ModuleManagerCLI.java
@@ -22,11 +22,13 @@ import java.io.IOException;
import java.io.PrintStream;
import java.nio.charset.Charset;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.ServiceConfigurationError;
import java.util.ServiceLoader;
+import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -126,6 +128,9 @@ public final class ModuleManagerCLI extends AbstractIdPHomeAwareCommandLine<Modu
int ret = RC_OK;
final Iterator<IdPModule> modules = ServiceLoader.load(IdPModule.class).iterator();
+
+ final Set<String> unknownTestModules = new HashSet<>(args.getTestModuleIds());
+ final Set<String> unknownInfoModules = new HashSet<>(args.getInfoModuleIds());
while (modules.hasNext()) {
try {
@@ -135,6 +140,7 @@ public final class ModuleManagerCLI extends AbstractIdPHomeAwareCommandLine<Modu
if (!module.isEnabled(moduleContext)) {
ret = RC_UNKNOWN;
}
+ unknownTestModules.remove(module.getId());
}
if (args.getInfoModuleIds().contains(module.getId())) {
@@ -158,14 +164,16 @@ public final class ModuleManagerCLI extends AbstractIdPHomeAwareCommandLine<Modu
r.getDestination());
});
System.out.println();
+ unknownInfoModules.remove(module.getId());
}
if (args.getInfoModuleIds().isEmpty() && args.getTestModuleIds().isEmpty()) {
+ System.out.print("Module: " + module.getId());
if (module.isEnabled(moduleContext)) {
- System.out.println("Module: " + module.getId() +
+ System.out.println(
TerminalCodes.GREEN.code(args) + " [ENABLED]" + TerminalCodes.RESET.code(args));
} else {
- System.out.println("Module: " + module.getId() +
+ System.out.println(
TerminalCodes.RED.code(args) + " [DISABLED]" + TerminalCodes.RESET.code(args));
}
}
@@ -174,6 +182,15 @@ public final class ModuleManagerCLI extends AbstractIdPHomeAwareCommandLine<Modu
}
}
+ if (!unknownTestModules.isEmpty()) {
+ return RC_UNKNOWN;
+ }
+
+ if (!unknownInfoModules.isEmpty()) {
+ System.out.println("Unknown modules: " + unknownInfoModules);
+ return RC_UNKNOWN;
+ }
+
return ret;
}
// Checkstyle: CyclomaticComplexity ON
@@ -194,14 +211,19 @@ public final class ModuleManagerCLI extends AbstractIdPHomeAwareCommandLine<Modu
int ret = RC_OK;
final Iterator<IdPModule> modules = ServiceLoader.load(IdPModule.class).iterator();
+ final Set<String> unknownModules = new HashSet<>(args.getEnableModuleIds());
+ unknownModules.addAll(args.getDisableModuleIds());
+
while (modules.hasNext()) {
try {
final IdPModule module = modules.next();
final boolean enable;
if (args.getEnableModuleIds().contains(module.getId())) {
enable = true;
+ unknownModules.remove(module.getId());
} else if (args.getDisableModuleIds().contains(module.getId())) {
enable = false;
+ unknownModules.remove(module.getId());
} else {
continue;
}
@@ -234,6 +256,11 @@ public final class ModuleManagerCLI extends AbstractIdPHomeAwareCommandLine<Modu
}
}
+ if (!unknownModules.isEmpty()) {
+ System.out.println("Unknown modules: " + unknownModules);
+ return RC_UNKNOWN;
+ }
+
return ret;
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list