[java-identity-provider] branch main updated: Add module pre/post information to plugins, and override equals/etc.
Scott Cantor
cantor.2 at osu.edu
Thu Oct 1 17:17:17 UTC 2020
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=5e6282931a589154d08b5b07797e3d82823d206c
The following commit(s) were added to refs/heads/main by this push:
new 5e6282931 Add module pre/post information to plugins, and override equals/etc.
5e6282931 is described below
commit 5e6282931a589154d08b5b07797e3d82823d206c
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Oct 1 13:17:14 2020 -0400
Add module pre/post information to plugins, and override equals/etc.
---
.../shibboleth/idp/module/AbstractIdPModule.java | 19 ++++++++++++
.../shibboleth/idp/plugin/AbstractIdPPlugin.java | 36 ++++++++++++++++++++++
.../java/net/shibboleth/idp/plugin/IdPPlugin.java | 26 +++++++++++++++-
3 files changed, 80 insertions(+), 1 deletion(-)
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java b/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java
index 0caf9b75e..758848740 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/module/AbstractIdPModule.java
@@ -157,7 +157,26 @@ public abstract class AbstractIdPModule implements IdPModule {
log.debug("Module {} disabled", getId());
return results;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean equals(final Object obj) {
+ return obj instanceof IdPModule && getId().equals(((IdPModule) obj).getId());
+ }
+
+
+ /** {@inheritDoc} */
+ @Override
+ public int hashCode() {
+ return getId().hashCode();
+ }
+ /** {@inheritDoc} */
+ @Override
+ public String toString() {
+ return "IdPModule " + getId();
+ }
+
/**
* Models a specific resource managed by a module.
*/
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java
index c3b5134c1..05356b938 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/AbstractIdPPlugin.java
@@ -22,10 +22,12 @@ import java.net.URL;
import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
+import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.collection.Pair;
@@ -49,4 +51,38 @@ public abstract class AbstractIdPPlugin implements IdPPlugin {
return 0;
}
+ /** {@inheritDoc} */
+ @Nonnull @NonnullElements public Set<String> getRequiredModules() {
+ return Collections.emptySet();
+ }
+
+ /** {@inheritDoc} */
+ @Nonnull @NonnullElements public Set<IdPModule> getEnableOnInstall() {
+ return Collections.emptySet();
+ }
+
+ /** {@inheritDoc} */
+ @Nonnull @NonnullElements public Set<IdPModule> getDisableOnRemoval() {
+ return Collections.emptySet();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public boolean equals(final Object obj) {
+ return obj instanceof IdPModule && getPluginId().equals(((IdPPlugin) obj).getPluginId());
+ }
+
+
+ /** {@inheritDoc} */
+ @Override
+ public int hashCode() {
+ return getPluginId().hashCode();
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String toString() {
+ return "IdPPlugin " + getPluginId();
+ }
+
}
\ No newline at end of file
diff --git a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java
index aa61eddb9..582961d26 100644
--- a/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java
+++ b/idp-admin-api/src/main/java/net/shibboleth/idp/plugin/IdPPlugin.java
@@ -21,10 +21,12 @@ import java.io.IOException;
import java.net.URL;
import java.nio.file.Path;
import java.util.List;
+import java.util.Set;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
+import net.shibboleth.idp.module.IdPModule;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.collection.Pair;
@@ -101,4 +103,26 @@ public interface IdPPlugin {
* @return The patch version.
*/
@Nonnegative int getPatchVersion();
-}
+
+ /**
+ * Get the IDs of any {@link IdPModule}s required for installation of this plugin.
+ *
+ * @return module IDs that are required
+ */
+ @Nonnull @NonnullElements Set<String> getRequiredModules();
+
+ /**
+ * Get the modules to enable after plugin installation or upgrade.
+ *
+ * @return modules to enable
+ */
+ @Nonnull @NonnullElements Set<IdPModule> getEnableOnInstall();
+
+ /**
+ * Get the modules to disable after plugin removal.
+ *
+ * @return modules to disable
+ */
+ @Nonnull @NonnullElements Set<IdPModule> getDisableOnRemoval();
+
+}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list