This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch spring6 in repository https://gitbox.apache.org/repos/asf/isis.git
commit 832d2c830691af6bfb84badeabf5336dcb501261 Author: Andi Huber <[email protected]> AuthorDate: Mon Nov 14 10:09:43 2022 +0100 ISIS-3275: migrate shiro 1.10.x to 2.x snapshot --- bom/pom.xml | 23 ++++++++++++++++++---- .../realm/impl/CausewayLdapRealm.java | 4 ++-- .../testdomain/shiro/AbstractShiroTest.java | 4 ++-- security/shiro/pom.xml | 1 - ...AuthenticatorOrAuthorizorTest_authenticate.java | 6 +++--- ...ticatorOrAuthorizorTest_isVisibleInAnyRole.java | 8 ++++---- 6 files changed, 30 insertions(+), 16 deletions(-) diff --git a/bom/pom.xml b/bom/pom.xml index c77d4ffe15..35c46bf685 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -411,12 +411,16 @@ It is therefore a copy of org.apache:apache, with customisations clearly identif <select2.version>4.0.13</select2.version> - <shiro.version>1.10.0</shiro.version> + <shiro.version>2.0.0-SNAPSHOT</shiro.version> <!-- latest release was 1.10.0, however we need jakarta namespace support --> <simpleslackapi.version>1.4.0</simpleslackapi.version> <slf4j-api.version>2.0.3</slf4j-api.version> <!-- also provided by spring-boot-starter-logging, needed to solve convergence issues --> <spring-boot.version>3.0.0-RC2</spring-boot.version> <summernote.version>0.8.11</summernote.version> - <surefire-plugin.argLine>-Xmx512m --add-modules com.sun.tools.xjc --add-reads org.eclipse.persistence.moxy=com.sun.tools.xjc</surefire-plugin.argLine> + <surefire-plugin.argLine> + -Xmx512m + --add-modules com.sun.tools.xjc + --add-reads org.eclipse.persistence.moxy=com.sun.tools.xjc + </surefire-plugin.argLine> <swagger-core.version>1.6.8</swagger-core.version> <togglz.version>3.2.1</togglz.version> @@ -444,13 +448,20 @@ It is therefore a copy of org.apache:apache, with customisations clearly identif </dependencyManagement> <repositories> <!-- APACHE CAUSEWAY customisation 7/21: start --> - <!-- temporary till Nov 24, 2022 --> <repository> + <!-- temporary till Nov 24, 2022 --> <id>spring.snapshots</id> <name>Spring Milestones Repository</name> <url>https://repo.spring.io/milestone/</url> <snapshots><enabled>false</enabled></snapshots> </repository> + <repository> + <!-- temporary till release of shiro 2.0.0 --> + <id>shiro.snapshots</id> + <name>Shiro Snapshot Repository</name> + <url>https://repository.apache.org/content/groups/snapshots/</url> + <snapshots><enabled>true</enabled></snapshots> + </repository> <!-- breaks dependabot run: timeout due to repo not accessible <repository> <id>apache.snapshots</id> @@ -1362,7 +1373,11 @@ It is therefore a copy of org.apache:apache, with customisations clearly identif </property> </activation> <properties> - <surefire-plugin.argLine>@{argLine} -Xmx512m</surefire-plugin.argLine> + <surefire-plugin.argLine> + @{argLine} + --add-modules com.sun.tools.xjc + --add-reads org.eclipse.persistence.moxy=com.sun.tools.xjc + </surefire-plugin.argLine> </properties> <build> <plugins> diff --git a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/causeway/extensions/shirorealmldap/realm/impl/CausewayLdapRealm.java b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/causeway/extensions/shirorealmldap/realm/impl/CausewayLdapRealm.java index 1bfe0f5f54..8e72451344 100644 --- a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/causeway/extensions/shirorealmldap/realm/impl/CausewayLdapRealm.java +++ b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/causeway/extensions/shirorealmldap/realm/impl/CausewayLdapRealm.java @@ -39,8 +39,8 @@ import org.apache.shiro.realm.ldap.DefaultLdapRealm; import org.apache.shiro.realm.ldap.LdapContextFactory; import org.apache.shiro.realm.ldap.LdapUtils; import org.apache.shiro.subject.PrincipalCollection; -import org.apache.shiro.util.StringUtils; +import org.apache.causeway.commons.internal.base._Strings; import org.apache.causeway.commons.internal.collections._Maps; import org.apache.causeway.commons.internal.collections._Sets; import org.apache.causeway.security.shiro.permrolemapper.PermissionToRoleMapper; @@ -371,7 +371,7 @@ public class CausewayLdapRealm extends DefaultLdapRealm { } public void setUniqueMemberAttributeValueTemplate(final String template) { - if (!StringUtils.hasText(template)) { + if (_Strings.isNullOrEmpty(template)) { String msg = "User DN template cannot be null or empty."; throw new IllegalArgumentException(msg); } diff --git a/regressiontests/incubating/src/test/java/org/apache/causeway/testdomain/shiro/AbstractShiroTest.java b/regressiontests/incubating/src/test/java/org/apache/causeway/testdomain/shiro/AbstractShiroTest.java index b9fd03f1c9..fd67931ca3 100644 --- a/regressiontests/incubating/src/test/java/org/apache/causeway/testdomain/shiro/AbstractShiroTest.java +++ b/regressiontests/incubating/src/test/java/org/apache/causeway/testdomain/shiro/AbstractShiroTest.java @@ -21,11 +21,11 @@ package org.apache.causeway.testdomain.shiro; import org.apache.shiro.SecurityUtils; import org.apache.shiro.UnavailableSecurityManagerException; import org.apache.shiro.config.Ini; -import org.apache.shiro.config.IniSecurityManagerFactory; +import org.apache.shiro.ini.IniSecurityManagerFactory; +import org.apache.shiro.lang.util.LifecycleUtils; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.support.SubjectThreadState; -import org.apache.shiro.util.LifecycleUtils; import org.apache.shiro.util.ThreadContext; import org.apache.shiro.util.ThreadState; diff --git a/security/shiro/pom.xml b/security/shiro/pom.xml index 4e62e6be69..23e68a7a9e 100644 --- a/security/shiro/pom.xml +++ b/security/shiro/pom.xml @@ -96,7 +96,6 @@ </exclusion> </exclusions> </dependency> - <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> diff --git a/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java b/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java index 0ad28d9c82..2f0938103a 100644 --- a/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java +++ b/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_authenticate.java @@ -19,10 +19,10 @@ package org.apache.causeway.security.shiro; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.config.IniSecurityManagerFactory; +import org.apache.shiro.ini.IniFactorySupport; +import org.apache.shiro.ini.IniSecurityManagerFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject; -import org.apache.shiro.util.Factory; import org.apache.shiro.util.ThreadContext; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -78,7 +78,7 @@ class ShiroAuthenticatorOrAuthorizorTest_authenticate { @Test public void happyCase() throws Exception { - Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); + IniFactorySupport<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); diff --git a/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java b/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java index 52bd0dc76d..213b67928a 100644 --- a/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java +++ b/security/shiro/src/test/java/org/apache/causeway/security/shiro/ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole.java @@ -19,10 +19,10 @@ package org.apache.causeway.security.shiro; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.config.IniSecurityManagerFactory; +import org.apache.shiro.ini.IniFactorySupport; +import org.apache.shiro.ini.IniSecurityManagerFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject; -import org.apache.shiro.util.Factory; import org.apache.shiro.util.ThreadContext; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -70,7 +70,7 @@ class ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole { @Test public void vetoing() throws Exception { // given - Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); + IniFactorySupport<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); @@ -87,7 +87,7 @@ class ShiroAuthenticatorOrAuthorizorTest_isVisibleInAnyRole { @Test public void vetoingOverridden() throws Exception { // given - Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); + IniFactorySupport<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager);
