This is an automated email from the ASF dual-hosted git repository.

juanpablo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit 1059775140675a4ae287d612b303f641c383b1e9
Author: juanpablo <juanpa...@apache.org>
AuthorDate: Sat Mar 21 17:48:38 2020 +0100

    push default methods on GroupManager to implementation on 
DefaultGroupManager
---
 .../wiki/auth/authorize/DefaultGroupManager.java   | 34 ++++++++++++++++++++++
 .../apache/wiki/auth/authorize/GroupManager.java   | 33 ++-------------------
 2 files changed, 36 insertions(+), 31 deletions(-)

diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/DefaultGroupManager.java
 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/DefaultGroupManager.java
index b4f8d29..8ac7143 100644
--- 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/DefaultGroupManager.java
+++ 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/DefaultGroupManager.java
@@ -20,6 +20,7 @@ package org.apache.wiki.auth.authorize;
 
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.log4j.Logger;
+import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Engine;
 import org.apache.wiki.api.core.Session;
 import org.apache.wiki.api.exceptions.NoRequiredPropertyException;
@@ -321,6 +322,39 @@ public class DefaultGroupManager implements GroupManager, 
Authorizer, WikiEventL
         }
     }
 
+    /** {@inheritDoc} */
+    @Override
+    public void validateGroup( final Context context, final Group group ) {
+        final InputValidator validator = new InputValidator( MESSAGES_KEY, 
context );
+
+        // Name cannot be null or one of the restricted names
+        try {
+            checkGroupName( context, group.getName() );
+        } catch( final WikiSecurityException e ) {
+        }
+
+        // Member names must be "safe" strings
+        final Principal[] members = group.members();
+        for( final Principal member : members ) {
+            validator.validateNotNull( member.getName(), "Full name", 
InputValidator.ID );
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    public void checkGroupName( final Context context, final String name ) 
throws WikiSecurityException {
+        // TODO: groups cannot have the same name as a user
+
+        // Name cannot be null
+        final InputValidator validator = new InputValidator( MESSAGES_KEY, 
context );
+        validator.validateNotNull( name, "Group name" );
+
+        // Name cannot be one of the restricted names either
+        if( ArrayUtils.contains( Group.RESTRICTED_GROUPNAMES, name ) ) {
+            throw new WikiSecurityException( "The group name '" + name + "' is 
illegal. Choose another." );
+        }
+    }
+
     /**
      * Extracts carriage-return separated members into a Set of String objects.
      *
diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java
index f6986b3..3deea3a 100644
--- 
a/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java
+++ 
b/jspwiki-main/src/main/java/org/apache/wiki/auth/authorize/GroupManager.java
@@ -18,7 +18,6 @@
  */
 package org.apache.wiki.auth.authorize;
 
-import org.apache.commons.lang3.ArrayUtils;
 import org.apache.wiki.api.core.Context;
 import org.apache.wiki.api.core.Session;
 import org.apache.wiki.auth.Authorizer;
@@ -27,10 +26,8 @@ import org.apache.wiki.auth.WikiSecurityException;
 import org.apache.wiki.event.WikiEventListener;
 import org.apache.wiki.event.WikiEventManager;
 import org.apache.wiki.event.WikiSecurityEvent;
-import org.apache.wiki.ui.InputValidator;
 
 import javax.servlet.http.HttpServletRequest;
-import java.security.Principal;
 
 
 /**
@@ -185,22 +182,7 @@ public interface GroupManager extends Authorizer, 
WikiEventListener {
      * @param context the current wiki context
      * @param group the supplied Group
      */
-    default void validateGroup( final Context context, final Group group ) {
-        final InputValidator validator = new InputValidator( MESSAGES_KEY, 
context );
-
-        // Name cannot be null or one of the restricted names
-        try {
-            checkGroupName( context, group.getName() );
-        } catch( final WikiSecurityException e ) {
-        }
-
-        // Member names must be "safe" strings
-        final Principal[] members = group.members();
-        for( final Principal member : members ) {
-            validator.validateNotNull( member.getName(), "Full name", 
InputValidator.ID );
-        }
-    }
-
+    void validateGroup( final Context context, final Group group );
 
     /**
      * Checks if a String is blank or a restricted Group name, and if it is, 
appends an error to the Session's message list.
@@ -210,18 +192,7 @@ public interface GroupManager extends Authorizer, 
WikiEventListener {
      * @throws WikiSecurityException if <code>session</code> is 
<code>null</code> or the Group name is illegal
      * @see Group#RESTRICTED_GROUPNAMES
      */
-    default void checkGroupName( final Context context, final String name ) 
throws WikiSecurityException {
-        // TODO: groups cannot have the same name as a user
-
-        // Name cannot be null
-        final InputValidator validator = new InputValidator( MESSAGES_KEY, 
context );
-        validator.validateNotNull( name, "Group name" );
-
-        // Name cannot be one of the restricted names either
-        if( ArrayUtils.contains( Group.RESTRICTED_GROUPNAMES, name ) ) {
-            throw new WikiSecurityException( "The group name '" + name + "' is 
illegal. Choose another." );
-        }
-    }
+    void checkGroupName( final Context context, final String name ) throws 
WikiSecurityException;
 
     // events processing 
.......................................................
 

Reply via email to