You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2019/12/06 22:43:38 UTC

[jspwiki] 10/14: fix javadocs on DummyUserDatabase + add format + fix some warnings reported by IntelliJ

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 d169b5085f36ea0cc848ef8ea5b225395141468f
Author: juanpablo <ju...@apache.org>
AuthorDate: Fri Dec 6 23:26:17 2019 +0100

    fix javadocs on DummyUserDatabase + add format + fix some warnings reported by IntelliJ
---
 .../java/org/apache/wiki/auth/UserManager.java     | 165 ++++++++-------------
 1 file changed, 58 insertions(+), 107 deletions(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java
index 230094d..5d51ec4 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/UserManager.java
@@ -44,6 +44,7 @@ import org.apache.wiki.i18n.InternationalizationManager;
 import org.apache.wiki.preferences.Preferences;
 import org.apache.wiki.ui.InputValidator;
 import org.apache.wiki.util.ClassUtil;
+import org.apache.wiki.util.TextUtil;
 import org.apache.wiki.workflow.Decision;
 import org.apache.wiki.workflow.DecisionRequiredException;
 import org.apache.wiki.workflow.Fact;
@@ -61,6 +62,7 @@ import java.security.Principal;
 import java.text.MessageFormat;
 import java.util.List;
 import java.util.Map;
+import java.util.NoSuchElementException;
 import java.util.Properties;
 import java.util.ResourceBundle;
 import java.util.WeakHashMap;
@@ -102,8 +104,7 @@ public class UserManager {
      * @param engine the current wiki engine
      * @param props the wiki engine initialization properties
      */
-    public void initialize( WikiEngine engine, Properties props )
-    {
+    public void initialize( final WikiEngine engine, final Properties props ) {
         m_engine = engine;
 
         // Attach the PageManager as a listener
@@ -115,57 +116,40 @@ public class UserManager {
     }
 
     /**
-     * Returns the UserDatabase employed by this WikiEngine. The UserDatabase is
-     * lazily initialized by this method, if it does not exist yet. If the
-     * initialization fails, this method will use the inner class
-     * DummyUserDatabase as a default (which is enough to get JSPWiki running).
+     * Returns the UserDatabase employed by this WikiEngine. The UserDatabase is lazily initialized by this method, if it does
+     * not exist yet. If the initialization fails, this method will use the inner class DummyUserDatabase as a default (which
+     * is enough to get JSPWiki running).
+     *
      * @return the dummy user database
      * @since 2.3
      */
-    public UserDatabase getUserDatabase()
-    {
-        // FIXME: Must not throw RuntimeException, but something else.
-        if( m_database != null )
-        {
+    public UserDatabase getUserDatabase() {
+        if( m_database != null ) {
             return m_database;
         }
 
         String dbClassName = UNKNOWN_CLASS;
 
-        try
-        {
-            dbClassName = m_engine.getRequiredProperty( m_engine.getWikiProperties(), PROP_DATABASE );
+        try {
+            dbClassName = TextUtil.getRequiredProperty( m_engine.getWikiProperties(), PROP_DATABASE );
 
-            log.info("Attempting to load user database class "+dbClassName);
+            log.info( "Attempting to load user database class " + dbClassName );
             final Class<?> dbClass = ClassUtil.findClass( USERDATABASE_PACKAGE, dbClassName );
             m_database = (UserDatabase) dbClass.newInstance();
             m_database.initialize( m_engine, m_engine.getWikiProperties() );
             log.info("UserDatabase initialized.");
-        }
-        catch( final NoRequiredPropertyException e )
-        {
+        } catch( final NoSuchElementException | NoRequiredPropertyException e ) {
             log.error( "You have not set the '"+PROP_DATABASE+"'. You need to do this if you want to enable user management by JSPWiki.", e );
-        }
-        catch( final ClassNotFoundException e )
-        {
+        } catch( final ClassNotFoundException e ) {
             log.error( "UserDatabase class " + dbClassName + " cannot be found", e );
-        }
-        catch( final InstantiationException e )
-        {
+        } catch( final InstantiationException e ) {
             log.error( "UserDatabase class " + dbClassName + " cannot be created", e );
-        }
-        catch( final IllegalAccessException e )
-        {
+        } catch( final IllegalAccessException e ) {
             log.error( "You are not allowed to access this user database class", e );
-        }
-        catch( final WikiSecurityException e )
-        {
+        } catch( final WikiSecurityException e ) {
             log.error( "Exception initializing user database: " + e.getMessage(), e );
-        }
-        finally
-        {
-            if( m_database == null )
-            {
+        } finally {
+            if( m_database == null ) {
                 log.info("I could not create a database object you specified (or didn't specify), so I am falling back to a default.");
                 m_database = new DummyUserDatabase();
             }
@@ -197,38 +181,28 @@ public class UserManager {
      * is anonymous or asserted, or if the user cannot be found in the user
      * database
      */
-    public UserProfile getUserProfile( WikiSession session )
-    {
+    public UserProfile getUserProfile( final WikiSession session ) {
         // Look up cached user profile
         UserProfile profile = m_profiles.get( session );
         boolean newProfile = profile == null;
         Principal user = null;
 
         // If user is authenticated, figure out if this is an existing profile
-        if ( session.isAuthenticated() )
-        {
+        if ( session.isAuthenticated() ) {
             user = session.getUserPrincipal();
-            try
-            {
+            try {
                 profile = getUserDatabase().find( user.getName() );
                 newProfile = false;
-            }
-            catch( final NoSuchPrincipalException e )
-            {
-            }
+            } catch( final NoSuchPrincipalException e ) { }
         }
 
-        if ( newProfile )
-        {
+        if ( newProfile ) {
             profile = getUserDatabase().newProfile();
-            if ( user != null )
-            {
+            if ( user != null ) {
                 profile.setLoginName( user.getName() );
             }
-            if ( !profile.isNew() )
-            {
-                throw new IllegalStateException(
-                        "New profile should be marked 'new'. Check your UserProfile implementation." );
+            if ( !profile.isNew() ) {
+                throw new IllegalStateException( "New profile should be marked 'new'. Check your UserProfile implementation." );
             }
         }
 
@@ -287,10 +261,9 @@ public class UserManager {
 
         // Check if another user profile already has the fullname or loginname
         final UserProfile oldProfile = getUserProfile( session );
-        final boolean nameChanged = ( oldProfile == null  || oldProfile.getFullname() == null )
-            ? false
-            : !( oldProfile.getFullname().equals( profile.getFullname() ) &&
-                 oldProfile.getLoginName().equals( profile.getLoginName() ) );
+        final boolean nameChanged = ( oldProfile != null && oldProfile.getFullname() != null ) &&
+                                    !( oldProfile.getFullname().equals( profile.getFullname() ) &&
+                                    oldProfile.getLoginName().equals( profile.getLoginName() ) );
         UserProfile otherProfile;
         try
         {
@@ -585,21 +558,17 @@ public class UserManager {
     }
 
     /**
-     * This is a database that gets used if nothing else is available. It does
-     * nothing of note - it just mostly throws NoSuchPrincipalExceptions if
-     * someone tries to log in.
+     * This is a database that gets used if nothing else is available. It does nothing of note - it just mostly throws
+     * NoSuchPrincipalExceptions if someone tries to log in.
      */
-    public static class DummyUserDatabase extends AbstractUserDatabase
-    {
+    public static class DummyUserDatabase extends AbstractUserDatabase {
 
         /**
          * No-op.
          * @param loginName the login name to delete
-         * @throws WikiSecurityException never...
          */
         @Override
-        public void deleteByLoginName( String loginName ) throws WikiSecurityException
-        {
+        public void deleteByLoginName( String loginName ) {
             // No operation
         }
 
@@ -607,11 +576,10 @@ public class UserManager {
          * No-op; always throws <code>NoSuchPrincipalException</code>.
          * @param index the name to search for
          * @return the user profile
-         * @throws NoSuchPrincipalException never...
+         * @throws NoSuchPrincipalException always...
          */
         @Override
-        public UserProfile findByEmail(String index) throws NoSuchPrincipalException
-        {
+        public UserProfile findByEmail(final String index) throws NoSuchPrincipalException {
             throw new NoSuchPrincipalException("No user profiles available");
         }
 
@@ -619,11 +587,10 @@ public class UserManager {
          * No-op; always throws <code>NoSuchPrincipalException</code>.
          * @param index the name to search for
          * @return the user profile
-         * @throws NoSuchPrincipalException never...
+         * @throws NoSuchPrincipalException always...
          */
         @Override
-        public UserProfile findByFullName(String index) throws NoSuchPrincipalException
-        {
+        public UserProfile findByFullName(final String index) throws NoSuchPrincipalException {
             throw new NoSuchPrincipalException("No user profiles available");
         }
 
@@ -631,11 +598,10 @@ public class UserManager {
          * No-op; always throws <code>NoSuchPrincipalException</code>.
          * @param index the name to search for
          * @return the user profile
-         * @throws NoSuchPrincipalException never...
+         * @throws NoSuchPrincipalException always...
          */
         @Override
-        public UserProfile findByLoginName(String index) throws NoSuchPrincipalException
-        {
+        public UserProfile findByLoginName(final String index) throws NoSuchPrincipalException {
             throw new NoSuchPrincipalException("No user profiles available");
         }
 
@@ -643,33 +609,29 @@ public class UserManager {
          * No-op; always throws <code>NoSuchPrincipalException</code>.
          * @param uid the unique identifier to search for
          * @return the user profile
-         * @throws NoSuchPrincipalException never...
+         * @throws NoSuchPrincipalException always...
          */
         @Override
-        public UserProfile findByUid( String uid ) throws NoSuchPrincipalException
-        {
+        public UserProfile findByUid( final String uid ) throws NoSuchPrincipalException {
             throw new NoSuchPrincipalException("No user profiles available");
         }
         /**
          * No-op; always throws <code>NoSuchPrincipalException</code>.
          * @param index the name to search for
          * @return the user profile
-         * @throws NoSuchPrincipalException never...
+         * @throws NoSuchPrincipalException always...
          */
         @Override
-        public UserProfile findByWikiName(String index) throws NoSuchPrincipalException
-        {
+        public UserProfile findByWikiName(final String index) throws NoSuchPrincipalException {
             throw new NoSuchPrincipalException("No user profiles available");
         }
 
         /**
          * No-op.
          * @return a zero-length array
-         * @throws WikiSecurityException never...
          */
         @Override
-        public Principal[] getWikiNames() throws WikiSecurityException
-        {
+        public Principal[] getWikiNames() {
             return new Principal[0];
         }
 
@@ -678,34 +640,28 @@ public class UserManager {
          *
          * @param engine the wiki engine
          * @param props the properties used to initialize the wiki engine
-         * @throws NoRequiredPropertyException never...
          */
         @Override
-        public void initialize(WikiEngine engine, Properties props) throws NoRequiredPropertyException
-        {
+        public void initialize(final WikiEngine engine, final Properties props) {
         }
 
         /**
          * No-op; always throws <code>NoSuchPrincipalException</code>.
          * @param loginName the login name
          * @param newName the proposed new login name
-         * @throws DuplicateUserException never...
-         * @throws WikiSecurityException never...
+         * @throws NoSuchPrincipalException always...
          */
         @Override
-        public void rename( String loginName, String newName ) throws DuplicateUserException, WikiSecurityException
-        {
+        public void rename( final String loginName, final String newName ) throws NoSuchPrincipalException {
             throw new NoSuchPrincipalException("No user profiles available");
         }
 
         /**
          * No-op.
          * @param profile the user profile
-         * @throws WikiSecurityException never...
          */
         @Override
-        public void save( UserProfile profile ) throws WikiSecurityException
-        {
+        public void save( final UserProfile profile ) {
         }
 
     }
@@ -752,12 +708,11 @@ public class UserManager {
     /**
      *  Implements the JSON API for usermanager.
      *  <p>
-     *  Even though this gets serialized whenever container shuts down/restarts,
-     *  this gets reinstalled to the session when JSPWiki starts.  This means
-     *  that it's not actually necessary to save anything.
+     *  Even though this gets serialized whenever container shuts down/restarts, this gets reinstalled to the session when JSPWiki starts.
+     *  This means that it's not actually necessary to save anything.
      */
-    public static final class JSONUserModule implements WikiAjaxServlet
-    {
+    public static final class JSONUserModule implements WikiAjaxServlet {
+
 		private volatile UserManager m_manager;
 
         /**
@@ -777,11 +732,10 @@ public class UserManager {
         @Override
         public void service(HttpServletRequest req, HttpServletResponse resp, String actionName, List<String> params) throws ServletException, IOException {
         	try {
-        		String uid = null;
-            	if (params.size()<1) {
+            	if( params.size() < 1 ) {
             		return;
             	}
-        		uid = params.get(0);
+        		final String uid = params.get(0);
 	        	log.debug("uid="+uid);
 	        	if (StringUtils.isNotBlank(uid)) {
 		            final UserProfile prof = getUserInfo(uid);
@@ -799,17 +753,14 @@ public class UserManager {
          *  @return A UserProfile object
          *  @throws NoSuchPrincipalException If such a name does not exist.
          */
-        public UserProfile getUserInfo( String uid )
-            throws NoSuchPrincipalException
-        {
-            if( m_manager != null )
-            {
+        public UserProfile getUserInfo( String uid ) throws NoSuchPrincipalException {
+            if( m_manager != null ) {
                 final UserProfile prof = m_manager.getUserDatabase().find( uid );
-
                 return prof;
             }
 
             throw new IllegalStateException("The manager is offline.");
         }
     }
+
 }