[java-idp-plugin-scripting] 02/02: IDP-1595 Change scripting plugins to property-based update info

Rod Widdowson rdw at steadingsoftware.com
Thu Jul 23 07:09:08 UTC 2020


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository java-idp-plugin-scripting.

View the commit online:
http://git.shibboleth.net/view/?p=java-idp-plugin-scripting.git;a=commit;h=573e8e9dc3dfcedc54fad10faff5218aeb8218d9

commit 573e8e9dc3dfcedc54fad10faff5218aeb8218d9
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Jul 22 16:47:28 2020 +0100

    IDP-1595 Change scripting plugins to property-based update info
    
    https://issues.shibboleth.net/jira/browse/IDP-1595
    
    This includes adding the new git based description to the real
    description as well as adjusted the embdedded update info.
---
 .../idp/plugin/scripting/nashorn/NashornDescription.java    |  6 ++++--
 .../0.1.0/version.details.properties                        |  3 ---
 .../versions.properties                                     |  1 -
 .../src/main/resources/META-INF/plugins/plugin.props        |  8 ++++++++
 .../shibboleth/idp/plugin/scripting/nashorn/PluginTest.java | 12 ++++++++++--
 nashorn-impl/src/test/resources/logback-test.xml            |  2 +-
 .../idp/plugin/scripting/rhino/RhinoDescription.java        | 10 ++++++----
 .../0.1.0/version.details.properties                        |  3 ---
 .../versions.properties                                     |  1 -
 rhino-impl/src/main/resources/META-INF/plugins/plugin.props |  8 ++++++++
 .../shibboleth/idp/plugin/scripting/rhino/PluginTest.java   | 13 +++++++++++--
 .../src/test/resources/logback-test.xml                     |  2 +-
 12 files changed, 49 insertions(+), 20 deletions(-)

diff --git a/nashorn-impl/src/main/java/net/shibboleth/idp/plugin/scripting/nashorn/NashornDescription.java b/nashorn-impl/src/main/java/net/shibboleth/idp/plugin/scripting/nashorn/NashornDescription.java
index f7af537..2ff405a 100644
--- a/nashorn-impl/src/main/java/net/shibboleth/idp/plugin/scripting/nashorn/NashornDescription.java
+++ b/nashorn-impl/src/main/java/net/shibboleth/idp/plugin/scripting/nashorn/NashornDescription.java
@@ -40,12 +40,14 @@ public class NashornDescription extends AbstractPluginDescription {
 
         @Override
     public String getPluginId() {
-        return "net.shibboleth.idp.plugin.scripting.nashorn";
+        return "net.shibboleth.idp.plugin.nashorn";
     }
 
     @Override
     public List<URL> getUpdateURLs() throws IOException {
-        return List.of(new ClassPathResource("META-INF/plugins/").getURL());
+        return List.of(
+                new URL("https://git.shibboleth.net/view/?p=java-idp-plugin-scripting.git;a=blob_plain;f=src/resources/main/plugins.props;hb=HEAD"),
+                new ClassPathResource("META-INF/plugins/plugin.props").getURL());
     }
 
     /** Create a {@link Pair } as needed.
diff --git a/nashorn-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.nashorn/0.1.0/version.details.properties b/nashorn-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.nashorn/0.1.0/version.details.properties
deleted file mode 100644
index ccce079..0000000
--- a/nashorn-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.nashorn/0.1.0/version.details.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-idp.version.max=5.0.0
-idp.version.min=4.1.0
-support.level = 2
diff --git a/nashorn-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.nashorn/versions.properties b/nashorn-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.nashorn/versions.properties
deleted file mode 100644
index 0f64b4b..0000000
--- a/nashorn-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.nashorn/versions.properties
+++ /dev/null
@@ -1 +0,0 @@
-net.shibboleth.idp.plugin.scripting.nashorn.versions=0.1.0
\ No newline at end of file
diff --git a/nashorn-impl/src/main/resources/META-INF/plugins/plugin.props b/nashorn-impl/src/main/resources/META-INF/plugins/plugin.props
new file mode 100644
index 0000000..fc3872d
--- /dev/null
+++ b/nashorn-impl/src/main/resources/META-INF/plugins/plugin.props
@@ -0,0 +1,8 @@
+net.shibboleth.idp.plugin.nashorn.versions=0.1.0
+#
+# NASHORN
+# 0.0.1
+#
+net.shibboleth.idp.plugin.nashorn.idpVersionMax.0.1.0=5.0.0
+net.shibboleth.idp.plugin.nashorn.idpVersionMin.0.1.0=4.1.0
+net.shibboleth.idp.plugin.nashorn.supportLevel.0.1.0 = Current
diff --git a/nashorn-impl/src/test/java/net/shibboleth/idp/plugin/scripting/nashorn/PluginTest.java b/nashorn-impl/src/test/java/net/shibboleth/idp/plugin/scripting/nashorn/PluginTest.java
index 78e3565..e705118 100644
--- a/nashorn-impl/src/test/java/net/shibboleth/idp/plugin/scripting/nashorn/PluginTest.java
+++ b/nashorn-impl/src/test/java/net/shibboleth/idp/plugin/scripting/nashorn/PluginTest.java
@@ -18,7 +18,9 @@
 package net.shibboleth.idp.plugin.scripting.nashorn;
 
 import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
 
 import java.io.InputStream;
 import java.net.URL;
@@ -29,6 +31,8 @@ import org.testng.annotations.Test;
 
 import net.shibboleth.ext.spring.resource.HTTPResource;
 import net.shibboleth.idp.plugin.PluginDescription;
+import net.shibboleth.idp.plugin.PluginVersion;
+import net.shibboleth.idp.plugin.PluginSupport.SupportLevel;
 import net.shibboleth.idp.plugin.impl.PluginState;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.httpclient.HttpClientBuilder;
@@ -43,7 +47,7 @@ public class PluginTest {
 	public void SetupPlugin() {
 		final ServiceLoader<PluginDescription> loader = ServiceLoader.load(PluginDescription.class);
 		for (final PluginDescription service:loader) {
-			if ("net.shibboleth.idp.plugin.scripting.nashorn".contentEquals(service.getPluginId())) {
+			if ("net.shibboleth.idp.plugin.nashorn".contentEquals(service.getPluginId())) {
 				nashorn = service;
 				break;
 			}
@@ -56,7 +60,11 @@ public class PluginTest {
 		
 		final PluginState state = new PluginState(nashorn); 
 		state.initialize();
-
+		assertTrue(state.getAvailableVersions().contains(
+				new PluginVersion(nashorn.getMajorVersion(),nashorn.getMinorVersion(), nashorn.getPatchVersion())));
+		assertEquals(state.getSupportLevel(), SupportLevel.Current);
+		assertTrue(state.isSupportedWithIdPVersion("4.1.0"));
+		assertFalse(state.isSupportedWithIdPVersion("5.0.0"));
 	}
 	
 	@Test
diff --git a/nashorn-impl/src/test/resources/logback-test.xml b/nashorn-impl/src/test/resources/logback-test.xml
index f72c166..faa5de5 100644
--- a/nashorn-impl/src/test/resources/logback-test.xml
+++ b/nashorn-impl/src/test/resources/logback-test.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 
-    <logger name="org.apache.http.wire" level="INFO"/>
+    <logger name="org.apache.http" level="INFO"/>
     
     <logger name="PROTOCOL_MESSAGE" level="DEBUG"/>
 
diff --git a/rhino-impl/src/main/java/net/shibboleth/idp/plugin/scripting/rhino/RhinoDescription.java b/rhino-impl/src/main/java/net/shibboleth/idp/plugin/scripting/rhino/RhinoDescription.java
index 1e23027..9fc056a 100644
--- a/rhino-impl/src/main/java/net/shibboleth/idp/plugin/scripting/rhino/RhinoDescription.java
+++ b/rhino-impl/src/main/java/net/shibboleth/idp/plugin/scripting/rhino/RhinoDescription.java
@@ -36,12 +36,14 @@ public class RhinoDescription extends AbstractPluginDescription {
 
     @Override
     public String getPluginId() {
-        return "net.shibboleth.idp.plugin.scripting.rhino";
+        return "net.shibboleth.idp.plugin.rhino";
     }
 
     @Override
     public List<URL> getUpdateURLs() throws IOException {
-        return List.of(new ClassPathResource("META-INF/plugins/").getURL());
+        return List.of(
+                new URL("https://git.shibboleth.net/view/?p=java-idp-plugin-scripting.git;a=blob_plain;f=src/resources/main/plugins.props;hb=HEAD"),
+                new ClassPathResource("META-INF/plugins/plugin.props").getURL());
     }
 
     @Override
@@ -56,11 +58,11 @@ public class RhinoDescription extends AbstractPluginDescription {
 
     @Override
     public int getMajorVersion() {
-        return 1;
+        return 0;
     }
 
     @Override
     public int getMinorVersion() {
-        return 0;
+        return 1;
     }
 }
diff --git a/rhino-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.rhino/0.1.0/version.details.properties b/rhino-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.rhino/0.1.0/version.details.properties
deleted file mode 100644
index ccce079..0000000
--- a/rhino-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.rhino/0.1.0/version.details.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-idp.version.max=5.0.0
-idp.version.min=4.1.0
-support.level = 2
diff --git a/rhino-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.rhino/versions.properties b/rhino-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.rhino/versions.properties
deleted file mode 100644
index 23fde95..0000000
--- a/rhino-impl/src/main/resources/META-INF/plugins/net.shibboleth.idp.plugin.scripting.rhino/versions.properties
+++ /dev/null
@@ -1 +0,0 @@
-net.shibboleth.idp.plugin.scripting.rhino.versions=0.1.0
\ No newline at end of file
diff --git a/rhino-impl/src/main/resources/META-INF/plugins/plugin.props b/rhino-impl/src/main/resources/META-INF/plugins/plugin.props
new file mode 100644
index 0000000..566a302
--- /dev/null
+++ b/rhino-impl/src/main/resources/META-INF/plugins/plugin.props
@@ -0,0 +1,8 @@
+net.shibboleth.idp.plugin.rhino.versions=0.1.0
+#
+# RHINO
+# 0.0.1
+#
+net.shibboleth.idp.plugin.rhino.idpVersionMax.0.1.0=5.0.0
+net.shibboleth.idp.plugin.rhino.idpVersionMin.0.1.0=4.1.0
+net.shibboleth.idp.plugin.rhino.supportLevel.0.1.0 = Current
diff --git a/rhino-impl/src/test/java/net/shibboleth/idp/plugin/scripting/rhino/PluginTest.java b/rhino-impl/src/test/java/net/shibboleth/idp/plugin/scripting/rhino/PluginTest.java
index b959826..2fb6b2c 100644
--- a/rhino-impl/src/test/java/net/shibboleth/idp/plugin/scripting/rhino/PluginTest.java
+++ b/rhino-impl/src/test/java/net/shibboleth/idp/plugin/scripting/rhino/PluginTest.java
@@ -17,7 +17,10 @@
 
 package net.shibboleth.idp.plugin.scripting.rhino;
 
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
 
 import java.util.ServiceLoader;
 
@@ -27,6 +30,8 @@ import org.testng.annotations.Test;
 import net.shibboleth.idp.plugin.impl.PluginState;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.idp.plugin.PluginDescription;
+import net.shibboleth.idp.plugin.PluginSupport.SupportLevel;
+import net.shibboleth.idp.plugin.PluginVersion;
 
 /**  basic sanity tests */
 @SuppressWarnings("javadoc")
@@ -38,7 +43,7 @@ public class PluginTest {
 	public void SetupPlugin() {
 		final ServiceLoader<PluginDescription> loader = ServiceLoader.load(PluginDescription.class);
 		for (final PluginDescription service:loader) {
-			if ("net.shibboleth.idp.plugin.scripting.rhino".contentEquals(service.getPluginId())) {
+			if ("net.shibboleth.idp.plugin.rhino".contentEquals(service.getPluginId())) {
 				rhino = service;
 				break;
 			}
@@ -51,7 +56,11 @@ public class PluginTest {
 		
 		final PluginState state = new PluginState(rhino); 
 		state.initialize();
-
+		assertTrue(state.getAvailableVersions().contains(
+				new PluginVersion(rhino.getMajorVersion(),rhino.getMinorVersion(), rhino.getPatchVersion())));
+		assertEquals(state.getSupportLevel(), SupportLevel.Current);
+		assertTrue(state.isSupportedWithIdPVersion("4.1.0"));
+		assertFalse(state.isSupportedWithIdPVersion("5.0.0"));
 	}
 	
 }
diff --git a/nashorn-impl/src/test/resources/logback-test.xml b/rhino-impl/src/test/resources/logback-test.xml
similarity index 90%
copy from nashorn-impl/src/test/resources/logback-test.xml
copy to rhino-impl/src/test/resources/logback-test.xml
index f72c166..faa5de5 100644
--- a/nashorn-impl/src/test/resources/logback-test.xml
+++ b/rhino-impl/src/test/resources/logback-test.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 
-    <logger name="org.apache.http.wire" level="INFO"/>
+    <logger name="org.apache.http" level="INFO"/>
     
     <logger name="PROTOCOL_MESSAGE" level="DEBUG"/>
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list