You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by aj...@apache.org on 2009/04/10 15:16:19 UTC

svn commit: r763924 [1/2] - in /incubator/jspwiki/trunk: ./ src/java/org/apache/wiki/ src/java/org/apache/wiki/attachment/ src/java/org/apache/wiki/auth/ src/java/org/apache/wiki/auth/login/ src/java/org/apache/wiki/forms/ src/java/org/apache/wiki/mana...

Author: ajaquith
Date: Fri Apr 10 13:16:16 2009
New Revision: 763924

URL: http://svn.apache.org/viewvc?rev=763924&view=rev
Log:
Lots of generics improvements. [JSPWIKI-473] Fixed bug that was causing role checks using custom Authorizers to fail. AuthenticationManager was not calling Authorizer.isInRole(WikiSession, Principal), as it should have. In addition to fixing the bug, we also now include a special test case to verify that custom Authorizers work properly. Thanks to Steve Dahl for reporting this issue. (This was forward-ported from 2.8.)

Modified:
    incubator/jspwiki/trunk/ChangeLog
    incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/attachment/AttachmentManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/Authorizer.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerCallbackHandler.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerLoginModule.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormClose.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInfo.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInput.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormOpen.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormSelect.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormTextarea.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/management/SimpleMBean.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/modules/ModuleManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/CreoleToJSPWikiTranslator.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/AbstractFilteredPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/BugReportHandler.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Counter.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/CurrentTimePlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Denounce.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Groups.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IfPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Image.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IndexPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/InterWikiLinksPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ListLocksPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Note.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ParserStagePlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginIndexPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RPCSamplePlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RecentChangesPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferredPagesPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferringPagesPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Search.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/SessionsPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/TableOfContents.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UndefinedPagesPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UnusedPagesPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogArchivePlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogEntryPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WikiPlugin.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/search/BasicSearchProvider.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/search/LuceneSearchProvider.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/search/SearchManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/search/SearchProvider.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/AdminBeanIteratorTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/AttachmentsIteratorTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/CookieTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/IteratorTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/PluginTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/SearchResultIteratorTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/SearchResultsSizeTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/tags/SearchResultsTag.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/EditorManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/TemplateManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/WikiRequestWrapper.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/admin/AdminBeanManager.java
    incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/admin/WikiFormAdminBean.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/auth/AuthenticationManagerTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/auth/AuthorizationManagerTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/auth/login/AnonymousLoginModuleTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/auth/login/CookieAssertionLoginModuleTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/auth/login/UserDatabaseLoginModuleTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/auth/login/WebContainerLoginModuleTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/search/SearchManagerTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/ui/migrator/BundleMigratorTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/ui/migrator/JSPWikiJspTransformerTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/ui/migrator/JspParserTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/ui/migrator/StripesJspTransformerTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/util/ClassUtilTest.java
    incubator/jspwiki/trunk/tests/java/org/apache/wiki/util/PriorityListTest.java

Modified: incubator/jspwiki/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/ChangeLog (original)
+++ incubator/jspwiki/trunk/ChangeLog Fri Apr 10 13:16:16 2009
@@ -1,3 +1,16 @@
+2009-04-10  Andrew Jaquith <ajaquith AT apache DOT org>
+
+        * 3.0.0-svn-99
+        
+        * Lots of generics improvements.
+        
+        * [JSPWIKI-473] Fixed bug that was causing role checks using custom
+        Authorizers to fail. AuthenticationManager was not calling
+        Authorizer.isInRole(WikiSession, Principal), as it should have.
+        In addition to fixing the bug, we also now include a special test case
+        to verify that custom Authorizers work properly. Thanks to Steve
+        Dahl for reporting this issue. (This was forward-ported from 2.8.)
+
 2009-04-06  Andrew Jaquith <ajaquith AT apache DOT org>
 
         * 3.0.0-svn-98

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java Fri Apr 10 13:16:16 2009
@@ -77,7 +77,7 @@
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "98";
+    public static final String     BUILD         = "99";
     
     /**
      *  This is the generic version string you should use

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/attachment/AttachmentManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/attachment/AttachmentManager.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/attachment/AttachmentManager.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/attachment/AttachmentManager.java Fri Apr 10 13:16:16 2009
@@ -224,12 +224,11 @@
      *  @throws ProviderException if there was something wrong in the backend
      */
     // FIXME: This API should be changed to return a List.
-    @SuppressWarnings("unchecked")
-    public Collection listAttachments( WikiPage wikipage )
+    public Collection<WikiPage> listAttachments( WikiPage wikipage )
         throws ProviderException
     {
         List<WikiPage> children = wikipage.getChildren();
-        ArrayList<Attachment> atts = new ArrayList<Attachment>(); 
+        ArrayList<WikiPage> atts = new ArrayList<WikiPage>(); 
         
         for( WikiPage p : children )
         {

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthenticationManager.java Fri Apr 10 13:16:16 2009
@@ -37,6 +37,7 @@
 import org.apache.wiki.WikiSession;
 import org.apache.wiki.api.WikiException;
 import org.apache.wiki.auth.authorize.Role;
+import org.apache.wiki.auth.authorize.WebAuthorizer;
 import org.apache.wiki.auth.authorize.WebContainerAuthorizer;
 import org.apache.wiki.auth.login.*;
 import org.apache.wiki.event.WikiEventListener;
@@ -48,7 +49,6 @@
 import org.apache.wiki.util.TimedCounterList;
 
 
-
 /**
  * Manages authentication activities for a WikiEngine: user login, logout, and
  * credential refreshes. This class uses JAAS to determine how users log in.
@@ -196,7 +196,7 @@
         catch (ClassNotFoundException e)
         {
             e.printStackTrace();
-            throw new WikiException( e.getMessage(), e );
+            throw new WikiException( "Could not instantiate LoginModule class.", e );
         }
         
         // Initialize the LoginModule options
@@ -277,41 +277,24 @@
 
         // If user not authenticated, check if container logged them in, or if
         // there's an authentication cookie
-        Set<Principal> principals = null;
         if ( !session.isAuthenticated() )
         {
             // Create a callback handler
-            try
-            {
-                handler = new WebContainerCallbackHandler( m_engine, request, authorizationMgr.getAuthorizer() );
-            }
-            catch ( WikiSecurityException e )
-            {
-                e.printStackTrace();
-                throw new WikiSecurityException( e.getMessage(), e );
-            }
+            handler = new WebContainerCallbackHandler( m_engine, request );
             
-            // Execute the container login module
+            // Execute the container login module, then (if that fails) the cookie auth module
+            Set<Principal> principals = null;
             try
             {
                 principals = authenticationMgr.doJAASLogin( WebContainerLoginModule.class, handler, options );
-            }
-            catch ( LoginException e )
-            {
-                // Container credentials not supplied in request. Ok, try the auth cookie!
-            }
-            
-            // Execute the cookie authentication module (if allowed)
-            if ( ( principals == null || principals.size() == 0 ) && authenticationMgr.allowsCookieAuthentication() )
-            {
-                try
+                if ( principals.size() == 0 && authenticationMgr.allowsCookieAuthentication() )
                 {
                     principals = authenticationMgr.doJAASLogin( CookieAuthenticationLoginModule.class, handler, options );
                 }
-                catch( LoginException e )
-                {
-                    // Authentication cookie not supplied in request. Ok, try the assertion cookie!
-                }
+            }
+            catch( LoginException e )
+            {
+                // Failed to log in with container credentials
             }
             
             // If the container logged the user in successfully, tell the WikiSession (and add all of the Principals)
@@ -322,6 +305,9 @@
                 {
                     fireEvent( WikiSecurityEvent.PRINCIPAL_ADD, principal, session );
                 }
+                
+                // Add all appropriate Authorizer roles
+                injectAuthorizerRoles( session, authorizationMgr.getAuthorizer(), request );
             }
         }
 
@@ -329,6 +315,7 @@
         if ( !session.isAuthenticated() && authenticationMgr.allowsCookieAssertions() )
         {
             // Execute the cookie assertion login module
+            Set<Principal> principals = null;
             try
             {
                 principals = authenticationMgr.doJAASLogin( CookieAssertionLoginModule.class, handler, options );
@@ -339,27 +326,27 @@
             }
             catch( LoginException e )
             {
-                // Assertion cookie not supplied in request. Ok, use the IP address!
+                // User failed to log in with the assertion cookie
             }
         }
 
         // If user still anonymous, use the remote address
-        if ( session.isAnonymous() )
+        if (session.isAnonymous() )
         {
+            Set<Principal> principals = null;
             try
             {
                 principals = authenticationMgr.doJAASLogin( AnonymousLoginModule.class, handler, options );
+                if ( principals != null && principals.size() > 0 )
+                {
+                    fireEvent( WikiSecurityEvent.LOGIN_ANONYMOUS, getLoginPrincipal( principals ), session );
+                    return true;
+                }
             }
             catch( LoginException e )
             {
-                // If the anonymous login didn't succeed, we have a genuine configuration problem!
-                e.printStackTrace();
-                throw new WikiSecurityException( e.getMessage() );
-            }
-            if ( principals != null && principals.size() > 0 )
-            {
-                fireEvent( WikiSecurityEvent.LOGIN_ANONYMOUS, getLoginPrincipal( principals ), session );
-                return true;
+                // Anonymous login failed... this just should not happen
+                log.error( "Anonymous login failed! Something must be wrong with the configuration..." );
             }
         }
         
@@ -446,6 +433,10 @@
             {
                 fireEvent( WikiSecurityEvent.PRINCIPAL_ADD, principal, session );
             }
+            
+            // Add all appropriate Authorizer roles
+            injectAuthorizerRoles( session, m_engine.getAuthorizationManager().getAuthorizer(), null );
+            
             return true;
         }
         return false;
@@ -615,9 +606,10 @@
         loginModule.initialize( subject, handler, EMPTY_MAP, options );
 
         // Try to log in:
+        boolean loginSucceeded = false;
         boolean commitSucceeded = false;
-        boolean loginSucceeded = loginModule.login();
-        if ( loginSucceeded )
+        loginSucceeded = loginModule.login();
+        if (loginSucceeded)
         {
             commitSucceeded = loginModule.commit();
         }
@@ -775,5 +767,48 @@
             }
         }
     }
+    
+    /**
+     * After successful login, this method is called to inject authorized role Principals into the WikiSession.
+     * To determine which roles should be injected, the configured Authorizer
+     * is queried for the roles it knows about by calling  {@link com.ecyrd.jspwiki.auth.Authorizer#getRoles()}.
+     * Then, each role returned by the authorizer is tested by calling {@link com.ecyrd.jspwiki.auth.Authorizer#isUserInRole(WikiSession, Principal)}.
+     * If this check fails, and the Authorizer is of type WebAuthorizer, the role is checked again by calling
+     * {@link com.ecyrd.jspwiki.auth.authorize.WebAuthorizer#isUserInRole(javax.servlet.http.HttpServletRequest, Principal)}).
+     * Any roles that pass the test are injected into the Subject by firing appropriate authentication events.
+     * @param session the user's current WikiSession
+     * @param authorizer the WikiEngine's configured Authorizer
+     * @param request the user's HTTP session, which may be <code>null</code>
+     */
+    private final void injectAuthorizerRoles( WikiSession session, Authorizer authorizer, HttpServletRequest request )
+    {
+        // Test each role the authorizer knows about
+        for ( Principal role : authorizer.getRoles() )
+        {
+            // Test the Authorizer
+            if ( authorizer.isUserInRole( session, role ) )
+            {
+                fireEvent( WikiSecurityEvent.PRINCIPAL_ADD, role, session );
+                if ( log.isDebugEnabled() )
+                {
+                    log.debug("Added authorizer role " + role.getName() + "." );
+                }
+            }
+            
+            // If web authorizer, test the request.isInRole() method also
+            else if ( request != null && authorizer instanceof WebAuthorizer )
+            {
+                WebAuthorizer wa = (WebAuthorizer)authorizer;
+                if ( wa.isUserInRole( request, role ) )
+                {
+                    fireEvent( WikiSecurityEvent.PRINCIPAL_ADD, role, session );
+                    if ( log.isDebugEnabled() )
+                    {
+                        log.debug("Added container role " + role.getName() + "." );
+                    }
+                }
+            }
+        }
+    }
 
 }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/AuthorizationManager.java Fri Apr 10 13:16:16 2009
@@ -461,7 +461,7 @@
         catch ( PolicyException e )
         {
             log.error("Could not initialize local security policy: " + e.getMessage() );
-            throw new WikiException( e.getMessage(), e );
+            throw new WikiException( "Could not initialize local security policy: " + e.getMessage(), e );
         }
     }
 

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/Authorizer.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/Authorizer.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/Authorizer.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/Authorizer.java Fri Apr 10 13:16:16 2009
@@ -28,7 +28,22 @@
 
 
 /**
- * Interface for service providers of authorization information.
+ * Interface for service providers of authorization information. After a user
+ * successfully logs in, the
+ * {@link com.ecyrd.jspwiki.auth.AuthenticationManager} consults the configured
+ * Authorizer to determine which additional
+ * {@link com.ecyrd.jspwiki.auth.authorize.Role} principals should be added to
+ * the user's WikiSession. To determine which roles should be injected, the
+ * Authorizer is queried for the roles it knows about by calling
+ * {@link com.ecyrd.jspwiki.auth.Authorizer#getRoles()}. Then, each role
+ * returned by the Authorizer is tested by calling
+ * {@link com.ecyrd.jspwiki.auth.Authorizer#isUserInRole(WikiSession, Principal)}.
+ * If this check fails, and the Authorizer is of type WebAuthorizer,
+ * AuthenticationManager checks the role again by calling
+ * {@link com.ecyrd.jspwiki.auth.authorize.WebAuthorizer#isUserInRole(javax.servlet.http.HttpServletRequest, Principal)}).
+ * Any roles that pass the test are injected into the Subject by firing
+ * appropriate authentication events.
+ * 
  * @author Andrew Jaquith
  * @since 2.3
  */
@@ -36,19 +51,21 @@
 {
 
     /**
-     * Returns an array of role Principals this Authorizer knows about.
-     * This method will always return an array; an implementing class may
-     * choose to return an zero-length array if it has no ability to identify
-     * the roles under its control.
+     * Returns an array of role Principals this Authorizer knows about. This
+     * method will always return an array; an implementing class may choose to
+     * return an zero-length array if it has no ability to identify the roles
+     * under its control.
+     * 
      * @return an array of Principals representing the roles
      */
     public Principal[] getRoles();
 
     /**
-     * Looks up and returns a role Principal matching a given String.
-     * If a matching role cannot be found, this method returns <code>null</code>.
-     * Note that it may not always be feasible for an Authorizer
-     * implementation to return a role Principal.
+     * Looks up and returns a role Principal matching a given String. If a
+     * matching role cannot be found, this method returns <code>null</code>.
+     * Note that it may not always be feasible for an Authorizer implementation
+     * to return a role Principal.
+     * 
      * @param role the name of the role to retrieve
      * @return the role Principal
      */
@@ -56,6 +73,7 @@
 
     /**
      * Initializes the authorizer.
+     * 
      * @param engine the current wiki engine
      * @param props the wiki engine initialization properties
      * @throws WikiSecurityException if the Authorizer could not be initialized
@@ -68,10 +86,11 @@
      * containing the subject and the desired role ( which may be a Role or a
      * Group). If either parameter is <code>null</code>, this method must
      * return <code>false</code>.
+     * 
      * @param session the current WikiSession
      * @param role the role to check
      * @return <code>true</code> if the user is considered to be in the role,
-     * <code>false</code> otherwise
+     *         <code>false</code> otherwise
      */
     public boolean isUserInRole( WikiSession session, Principal role );
 

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerCallbackHandler.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerCallbackHandler.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerCallbackHandler.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerCallbackHandler.java Fri Apr 10 13:16:16 2009
@@ -29,7 +29,7 @@
 
 import org.apache.wiki.WikiEngine;
 import org.apache.wiki.auth.Authorizer;
-
+import org.apache.wiki.auth.WikiSecurityException;
 
 /**
  * Handles logins made from within JSPWiki.
@@ -41,22 +41,22 @@
 {
     private final HttpServletRequest m_request;
 
-    private final Authorizer         m_authorizer;
-
     private final WikiEngine         m_engine;
 
+    private final Authorizer m_authorizer;
+    
     /**
      *  Create a new handler.
      *  
      *  @param engine The WikiEngine
      *  @param request The request to look into
-     *  @param authorizer The authorizer which does all these things.
+     * @throws WikiSecurityException 
      */
-    public WebContainerCallbackHandler( WikiEngine engine, HttpServletRequest request, Authorizer authorizer )
+    public WebContainerCallbackHandler( WikiEngine engine, HttpServletRequest request ) throws WikiSecurityException
     {
         m_engine  = engine;
         m_request = request;
-        m_authorizer = authorizer;
+        m_authorizer = m_engine.getAuthorizationManager().getAuthorizer();
     }
 
     /**

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerLoginModule.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerLoginModule.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerLoginModule.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/login/WebContainerLoginModule.java Fri Apr 10 13:16:16 2009
@@ -40,7 +40,6 @@
 import org.apache.wiki.log.LoggerFactory;
 
 
-
 /**
  * <p>
  * Logs in a user by extracting authentication data from an Http servlet
@@ -84,9 +83,7 @@
     public boolean login() throws LoginException
     {
         HttpRequestCallback rcb = new HttpRequestCallback();
-        AuthorizerCallback acb = new AuthorizerCallback();
-        Callback[] callbacks = new Callback[]
-        { rcb, acb };
+        Callback[] callbacks = new Callback[] { rcb };
         String userId = null;
 
         try
@@ -126,9 +123,6 @@
             }
             m_principals.add( principal );
 
-            // Add any container roles
-            injectWebAuthorizerRoles( acb.getAuthorizer(), request );
-
             return true;
         }
         catch( IOException e )
@@ -142,39 +136,4 @@
             return false;
         }
     }
-
-    /**
-     * If the current Authorizer is a
-     * {@link org.apache.wiki.auth.authorize.WebAuthorizer},
-     * this method iterates through each role returned by the
-     * authorizer (via
-     * {@link org.apache.wiki.auth.authorize.WebAuthorizer#isUserInRole( HttpServletRequest, Role)})
-     * and injects the appropriate ones into the Subject.
-     * @param acb the authorizer callback
-     * @param rcb the HTTP request
-     */
-    private final void injectWebAuthorizerRoles( Authorizer authorizer, HttpServletRequest request )
-    {
-        Principal[] roles = authorizer.getRoles();
-        Set<Principal> foundRoles = new HashSet<Principal>();
-        if ( authorizer instanceof WebAuthorizer )
-        {
-            WebAuthorizer wa = (WebAuthorizer)authorizer;
-            for ( int i = 0; i < roles.length; i++ )
-            {
-                if ( wa.isUserInRole( request, roles[i] ) )
-                {
-                    foundRoles.add( roles[i] );
-                    if ( log.isDebugEnabled() )
-                    {
-                        log.debug("Added container role " + roles[i].getName() + "." );
-                    }
-                }
-            }
-        }
-
-        // Add these container roles if login succeeds
-        m_principals.addAll( foundRoles );
-    }
-
 }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormClose.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormClose.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormClose.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormClose.java Fri Apr 10 13:16:16 2009
@@ -42,7 +42,7 @@
      * 
      * {@inheritDoc}
      */
-    public String execute( WikiContext ctx, Map params )
+    public String execute( WikiContext ctx, Map<String,Object> params )
         throws PluginException
     {
         StringBuilder tags = new StringBuilder();

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInfo.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInfo.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInfo.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInfo.java Fri Apr 10 13:16:16 2009
@@ -51,7 +51,7 @@
     private String m_handler;
     private String m_result;
     private String m_error;
-    private Map<?, ?> m_submission;
+    private Map<String,Object> m_submission;
 
     /**
      *  Creates a new FormInfo with status == OK.
@@ -206,10 +206,9 @@
      * Copies the given values into the handler parameter map using Map.putAll().
      * @param val parameter name-value pairs for a Form handler WikiPlugin
      */
-    @SuppressWarnings("unchecked")
-    public void setSubmission( Map val )
+    public void setSubmission( Map<String,Object> val )
     {
-        m_submission = new HashMap();
+        m_submission = new HashMap<String,Object>();
         m_submission.putAll( val );
     }
 
@@ -217,11 +216,10 @@
      * Adds the given values into the handler parameter map.
      * @param val parameter name-value pairs for a Form handler WikiPlugin
      */
-    @SuppressWarnings("unchecked")
-    public void addSubmission( Map val )
+    public void addSubmission( Map<String,Object> val )
     {
         if( m_submission == null )
-            m_submission = new HashMap();
+            m_submission = new HashMap<String,Object>();
         m_submission.putAll( val );
     }
 
@@ -233,7 +231,7 @@
      *
      * @return Handler parameter name-value pairs.
      */
-    public Map getSubmission()
+    public Map<String,Object> getSubmission()
     {
         return m_submission;
     }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInput.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInput.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInput.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormInput.java Fri Apr 10 13:16:16 2009
@@ -48,7 +48,7 @@
      * 
      * {@inheritDoc}
      */
-    public String execute( WikiContext ctx, Map params )
+    public String execute( WikiContext ctx, Map<String,Object> params )
         throws PluginException
     {
         String inputName  = (String)params.get( PARAM_INPUTNAME );
@@ -64,7 +64,7 @@
 
         // Don't render if no error and error-only-rendering is on.
         FormInfo info = getFormInfo( ctx );
-        Map previousValues = null;
+        Map<String,Object> previousValues = null;
         if( info != null )
         {
             if( info.hide() )
@@ -76,7 +76,7 @@
 
         if( previousValues == null )
         {
-            previousValues = new HashMap();
+            previousValues = new HashMap<String,Object>();
         }
 
         // In order to isolate posted form elements into their own

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormOpen.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormOpen.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormOpen.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormOpen.java Fri Apr 10 13:16:16 2009
@@ -78,7 +78,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext ctx, Map params )
+    public String execute( WikiContext ctx, Map<String,Object> params )
         throws PluginException
     {
         ResourceBundle rb = ctx.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormSelect.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormSelect.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormSelect.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormSelect.java Fri Apr 10 13:16:16 2009
@@ -43,14 +43,14 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext ctx, Map params )
+    public String execute( WikiContext ctx, Map<String,Object> params )
         throws PluginException
     {
         // Don't render if no error and error-only-rendering is on.
         FormInfo info = getFormInfo( ctx );
 
         ResourceBundle rb = ctx.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
-        Map previousValues = null;
+        Map<String,Object> previousValues = null;
         
         if( info != null )
         {
@@ -63,7 +63,7 @@
 
         if( previousValues == null )
         {
-            previousValues = new HashMap();
+            previousValues = new HashMap<String,Object>();
         }
 
         ConcreteElement field = null;
@@ -81,7 +81,7 @@
     /**
      * Builds a Select element.
      */
-    private select buildSelect( Map pluginParams, Map ctxValues, ResourceBundle rb )
+    private select buildSelect( Map<String,Object> pluginParams, Map<String,Object> ctxValues, ResourceBundle rb )
         throws PluginException
     {
         String inputName = (String)pluginParams.get( PARAM_INPUTNAME );

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormTextarea.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormTextarea.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormTextarea.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/forms/FormTextarea.java Fri Apr 10 13:16:16 2009
@@ -50,12 +50,12 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext ctx, Map params )
+    public String execute( WikiContext ctx, Map<String,Object> params )
         throws PluginException
     {
         // Don't render if no error and error-only-rendering is on.
         FormInfo info = getFormInfo( ctx );
-        Map previousValues = null;
+        Map<String,Object> previousValues = null;
         ResourceBundle rb = ctx.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
 
         if( info != null )
@@ -69,7 +69,7 @@
 
         if( previousValues == null )
         {
-            previousValues = new HashMap();
+            previousValues = new HashMap<String,Object>();
         }
 
         ConcreteElement field = null;
@@ -83,7 +83,7 @@
         return "";
     }
 
-    private textarea buildTextArea( Map params, Map previousValues, ResourceBundle rb )
+    private textarea buildTextArea( Map<String,Object> params, Map<String,Object> previousValues, ResourceBundle rb )
         throws PluginException
     {
         String inputName = (String)params.get( PARAM_INPUTNAME );

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/management/SimpleMBean.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/management/SimpleMBean.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/management/SimpleMBean.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/management/SimpleMBean.java Fri Apr 10 13:16:16 2009
@@ -350,7 +350,7 @@
     public AttributeList setAttributes(AttributeList arg0)
     {
         AttributeList result = new AttributeList();
-        for( Iterator i = arg0.iterator(); i.hasNext(); )
+        for( Iterator<?> i = arg0.iterator(); i.hasNext(); )
         {
             Attribute attr = (Attribute)i.next();
 

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/modules/ModuleManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/modules/ModuleManager.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/modules/ModuleManager.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/modules/ModuleManager.java Fri Apr 10 13:16:16 2009
@@ -93,7 +93,7 @@
      * 
      * @return A Collection of WikiModuleInfo instances.
      */
-    public abstract Collection modules();
+    public abstract Collection<? extends WikiModuleInfo> modules();
 
     /**
      *  Builds a search path from three components:
@@ -128,19 +128,19 @@
     
         try
         {
-            Enumeration resources = getClass().getClassLoader().getResources( MODULE_RESOURCE_LOCATION );
+            Enumeration<URL> resources = getClass().getClassLoader().getResources( MODULE_RESOURCE_LOCATION );
     
             while( resources.hasMoreElements() )
             {
-                URL resource = (URL) resources.nextElement();
+                URL resource = resources.nextElement();
     
                 try
                 {
                     Document doc = builder.build( resource );
     
-                    List packages = XPath.selectNodes( doc, "/modules/@package");
+                    List<?> packages = XPath.selectNodes( doc, "/modules/@package");
     
-                    for( Iterator i = packages.iterator(); i.hasNext(); )
+                    for( Iterator<?> i = packages.iterator(); i.hasNext(); )
                     {
                         Attribute a = (Attribute) i.next();
     

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/CreoleToJSPWikiTranslator.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/CreoleToJSPWikiTranslator.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/CreoleToJSPWikiTranslator.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/CreoleToJSPWikiTranslator.java Fri Apr 10 13:16:16 2009
@@ -398,9 +398,9 @@
         return content;
     }
 
-    private ArrayList readPlaceholderProperties(Properties wikiProps)
+    private ArrayList<String[]> readPlaceholderProperties(Properties wikiProps)
     {
-        Set keySet = wikiProps.keySet();
+        Set<Object> keySet = wikiProps.keySet();
         Object[] keys = keySet.toArray();
         ArrayList<String[]> result = new ArrayList<String[]>();
 
@@ -425,7 +425,7 @@
         Matcher matcher = Pattern.compile(markupRegex, Pattern.MULTILINE | Pattern.DOTALL).matcher(content);
         String contentCopy = content;
 
-        ArrayList plProperties = readPlaceholderProperties(wikiProps);
+        ArrayList<String[]> plProperties = readPlaceholderProperties(wikiProps);
 
         while (matcher.find())
         {
@@ -444,7 +444,7 @@
                     // Replace placeholder params
                     for (int j = 0; j < plProperties.size(); j++)
                     {
-                        String[] pair = (String[]) plProperties.get(j);
+                        String[] pair = plProperties.get(j);
                         String key = pair[0];
                         String value = pair[1];
                         String code = param.replaceAll("(?i)([0-9]+)" + key, value + "<check>" + "$1" + "</check>");

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/JSPWikiMarkupParser.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/JSPWikiMarkupParser.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/JSPWikiMarkupParser.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/parser/JSPWikiMarkupParser.java Fri Apr 10 13:16:16 2009
@@ -409,7 +409,7 @@
         Properties props    = engine.getWikiProperties();
         ArrayList<String>  ptrnlist = new ArrayList<String>();
 
-        for( Enumeration e = props.propertyNames(); e.hasMoreElements(); )
+        for( Enumeration<?> e = props.propertyNames(); e.hasMoreElements(); )
         {
             String name = (String) e.nextElement();
 
@@ -457,17 +457,15 @@
      *  @return The result of the mutation.
      */
 
-    protected String callMutatorChain( Collection list, String text )
+    protected String callMutatorChain( Collection<StringTransmutator> list, String text )
     {
         if( list == null || list.size() == 0 )
         {
             return text;
         }
 
-        for( Iterator i = list.iterator(); i.hasNext(); )
+        for( StringTransmutator m : list )
         {
-            StringTransmutator m = (StringTransmutator) i.next();
-
             text = m.mutate( m_context, text );
         }
 
@@ -481,12 +479,9 @@
      */
     protected void callHeadingListenerChain( Heading param )
     {
-        List list = m_headingListenerChain;
-
-        for( Iterator i = list.iterator(); i.hasNext(); )
+        List<HeadingListener> list = m_headingListenerChain;
+        for( HeadingListener h : list )
         {
-            HeadingListener h = (HeadingListener) i.next();
-
             h.headingAdded( m_context, param );
         }
     }
@@ -513,7 +508,7 @@
         return el;
     }
 
-    private Element makeLink( int type, String link, String text, String section, Iterator attributes )
+    private Element makeLink( int type, String link, String text, String section, Iterator<Attribute> attributes )
     {
         Element el = null;
 
@@ -639,7 +634,7 @@
         {
             while( attributes.hasNext() )
             {
-                Attribute attr = (Attribute)attributes.next();
+                Attribute attr = attributes.next();
                 if( attr != null )
                 {
                     el.setAttribute(attr);
@@ -699,9 +694,9 @@
         {
             link = link.toLowerCase();
 
-            for( Iterator i = m_inlineImagePatterns.iterator(); i.hasNext(); )
+            for( Pattern pattern : m_inlineImagePatterns )
             {
-                Matcher matcher = ((Pattern) i.next()).matcher( link );
+                Matcher matcher = pattern.matcher( link );
                 if( matcher.matches() )
                     return true;
             }
@@ -2945,7 +2940,7 @@
         //
         //  Add the paragraph tag to the first paragraph
         //
-        List kids = rootElement.getContent();
+        List<?> kids = rootElement.getContent();
 
         if( rootElement.getChild("p") != null )
         {
@@ -2953,7 +2948,7 @@
             int idxOfFirstContent = 0;
             int count = 0;
 
-            for( Iterator i = kids.iterator(); i.hasNext(); count++ )
+            for( Iterator<?> i = kids.iterator(); i.hasNext(); count++ )
             {
                 Content c = (Content) i.next();
                 if( c instanceof Element )
@@ -2977,10 +2972,8 @@
             {
                 Element newel = new Element("p");
 
-                for( Iterator i = ls.iterator(); i.hasNext(); )
+                for( Content c : ls )
                 {
-                    Content c = (Content) i.next();
-
                     c.detach();
                     newel.addContent(c);
                 }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/AbstractFilteredPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/AbstractFilteredPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/AbstractFilteredPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/AbstractFilteredPlugin.java Fri Apr 10 13:16:16 2009
@@ -34,6 +34,7 @@
 import org.apache.wiki.api.PluginException;
 import org.apache.wiki.api.WikiPage;
 import org.apache.wiki.content.PageNotFoundException;
+import org.apache.wiki.content.WikiName;
 import org.apache.wiki.log.Logger;
 import org.apache.wiki.log.LoggerFactory;
 import org.apache.wiki.parser.MarkupParser;
@@ -127,7 +128,7 @@
      * @throws PluginException if any of the plugin parameters are malformed
      */
     // FIXME: The compiled pattern strings should really be cached somehow.
-    public void initialize( WikiContext context, Map<String,String> params )
+    public void initialize( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         m_dateFormat = Preferences.getDateFormat( context, TimeFormat.DATETIME );
@@ -253,19 +254,22 @@
      *  @param c The collection to filter.
      *  @return A filtered collection.
      */
-    protected Collection filterCollection( Collection c )
+    protected <T extends Object>Collection<T> filterCollection( Collection<T> c )
     {
-        ArrayList<Object> result = new ArrayList<Object>();
+        ArrayList<T> result = new ArrayList<T>();
 
-        for( Iterator i = c.iterator(); i.hasNext(); )
+        for( T objectje : c )
         {
             String pageName = null;
-            Object objectje = i.next();
             if( objectje instanceof WikiPage )
             {
                 pageName = ((WikiPage) objectje).getName();
             }
-            else
+            else if ( objectje instanceof WikiName )
+            {
+                pageName = ((WikiName) objectje).toString();
+            }
+            else if ( objectje instanceof String )
             {
                 pageName = (String) objectje;
             }
@@ -278,7 +282,7 @@
             //
             boolean includeThis = m_include == null;
 
-            if( m_include != null )
+            if( m_include != null && pageName != null )
             {
                 for( int j = 0; j < m_include.length; j++ )
                 {
@@ -291,7 +295,7 @@
                 }
             }
 
-            if( m_exclude != null )
+            if( m_exclude != null && pageName != null )
             {
                 for( int j = 0; j < m_exclude.length; j++ )
                 {
@@ -311,14 +315,10 @@
                 boolean isAttachment = pageName.contains( "/" );
                 if( !isAttachment || (isAttachment && m_showAttachments) )
                 {
-                    if( objectje instanceof WikiPage )
+                    if( objectje instanceof WikiPage || objectje instanceof WikiName || objectje instanceof String )
                     {
                         result.add( objectje );
                     }
-                    else
-                    {
-                        result.add( pageName );
-                    }
                 }
                 
                 //

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/BugReportHandler.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/BugReportHandler.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/BugReportHandler.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/BugReportHandler.java Fri Apr 10 13:16:16 2009
@@ -75,7 +75,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         String    title;
@@ -85,9 +85,9 @@
         SimpleDateFormat format = new SimpleDateFormat( DEFAULT_DATEFORMAT );
         ResourceBundle rb = context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
 
-        title       = (String) params.get( PARAM_TITLE );
-        description = (String) params.get( PARAM_DESCRIPTION );
-        version     = (String) params.get( PARAM_VERSION );
+        title       = (String)params.get( PARAM_TITLE );
+        description = (String)params.get( PARAM_DESCRIPTION );
+        version     = (String)params.get( PARAM_VERSION );
 
         Principal wup = context.getCurrentUser();
 
@@ -102,7 +102,7 @@
         if( description == null ) description = "";
         if( version == null ) version = "unknown";
 
-        Properties mappings = parseMappings( (String) params.get( PARAM_MAPPINGS ) );
+        Properties mappings = parseMappings( (String)params.get( PARAM_MAPPINGS ) );
 
         //
         //  Start things
@@ -130,10 +130,8 @@
             //
             //  Outputting the other parameters added to this.
             //
-            for( Iterator i = params.entrySet().iterator(); i.hasNext(); )
+            for( Map.Entry<String,Object>entry : params.entrySet() )
             {
-                Map.Entry entry = (Map.Entry) i.next();
-
                 if( entry.getKey().equals( PARAM_TITLE ) ||
                     entry.getKey().equals( PARAM_DESCRIPTION ) ||
                     entry.getKey().equals( PARAM_VERSION ) ||
@@ -149,12 +147,10 @@
                     //  If no mapping has been defined, just ignore
                     //  it.
                     //
-                    String head = mappings.getProperty( (String)entry.getKey(),
-                                                        (String)entry.getKey() );
+                    String head = mappings.getProperty( entry.getKey(), entry.getKey() );
                     if( head.length() > 0 )
                     {
-                        out.println("|"+head+
-                                    "|"+entry.getValue());
+                        out.println("|"+head+"|"+entry.getValue());
                     }
                 }
             }
@@ -167,8 +163,7 @@
             //
             //  Now create a new page for this bug report
             //
-            String pageName = findNextPage( context, title,
-                                            (String)params.get( PARAM_PAGE ) );
+            String pageName = findNextPage( context, title, (String)params.get( PARAM_PAGE ) );
 
             WikiPage newPage;
             try

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Counter.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Counter.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Counter.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Counter.java Fri Apr 10 13:16:16 2009
@@ -61,7 +61,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         //

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/CurrentTimePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/CurrentTimePlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/CurrentTimePlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/CurrentTimePlugin.java Fri Apr 10 13:16:16 2009
@@ -48,7 +48,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         String formatString = (String)params.get("format");

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Denounce.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Denounce.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Denounce.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Denounce.java Fri Apr 10 13:16:16 2009
@@ -88,7 +88,7 @@
             Properties props = new Properties();
             props.load( in );
 
-            for( Enumeration e = props.propertyNames(); e.hasMoreElements(); )
+            for( Enumeration<?> e = props.propertyNames(); e.hasMoreElements(); )
             {
                 String name = (String) e.nextElement();
 
@@ -128,7 +128,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map<String,String> params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         c_denounceText = context.getBundle( WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE ).getString( "plugin.denounce.denouncetext" );

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Groups.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Groups.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Groups.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Groups.java Fri Apr 10 13:16:16 2009
@@ -51,7 +51,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         // Retrieve groups, and sort by name

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IfPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IfPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IfPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IfPlugin.java Fri Apr 10 13:16:16 2009
@@ -165,7 +165,7 @@
     /**
      * {@inheritDoc}
      */
-    public String execute( WikiContext context, Map<String, String> params ) throws PluginException
+    public String execute( WikiContext context, Map<String, Object> params ) throws PluginException
     {
         return ifInclude( context, params ) ? context.getEngine().textToHTML( context,
                                                                               (String) params.get( PluginManager.PARAM_BODY ) )
@@ -182,7 +182,7 @@
      * @throws PluginException If something goes wrong
      * @return True, if the condition holds.
      */
-    public static boolean ifInclude( WikiContext context, Map<String, String> params ) throws PluginException
+    public static boolean ifInclude( WikiContext context, Map<String, Object> params ) throws PluginException
     {
         boolean include = false;
 

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Image.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Image.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Image.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Image.java Fri Apr 10 13:16:16 2009
@@ -90,7 +90,7 @@
      *  This method is used to clean away things like quotation marks which
      *  a malicious user could use to stop processing and insert javascript.
      */
-    private static final String getCleanParameter( Map params, String paramId )
+    private static final String getCleanParameter( Map<String,Object> params, String paramId )
     {
         return TextUtil.replaceEntities( (String) params.get( paramId ) );
     }
@@ -98,7 +98,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         ResourceBundle rb =  context.getBundle( WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE );

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IndexPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IndexPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IndexPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/IndexPlugin.java Fri Apr 10 13:16:16 2009
@@ -45,7 +45,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params ) throws PluginException
+    public String execute( WikiContext context, Map<String,Object> params ) throws PluginException
     {
         super.initialize( context, params );
         
@@ -126,16 +126,14 @@
      */
     private List<String> listPages( WikiContext context ) throws ProviderException
     {
-
         ArrayList<String> result = new ArrayList<String>();
-
-        Collection pages = context.getEngine().getReferenceManager().findCreated();
+        Collection<String> pages = context.getEngine().getReferenceManager().findCreated();
 
         pages = super.filterCollection( pages );
 
-        for( Iterator i = pages.iterator(); i.hasNext(); )
+        for( String page : pages )
         {
-            result.add( (String) i.next() );
+            result.add( page );
         }
         return result;
     }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/InterWikiLinksPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/InterWikiLinksPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/InterWikiLinksPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/InterWikiLinksPlugin.java Fri Apr 10 13:16:16 2009
@@ -79,7 +79,7 @@
     /**
      * {@inheritDoc}
      */
-    public String execute( WikiContext context, Map<String, String> params ) throws PluginException
+    public String execute( WikiContext context, Map<String, Object> params ) throws PluginException
     {
         ResourceBundle rb = context.getBundle( WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE );
         try

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ListLocksPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ListLocksPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ListLocksPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ListLocksPlugin.java Fri Apr 10 13:16:16 2009
@@ -45,7 +45,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         StringBuilder result = new StringBuilder();

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Note.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Note.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Note.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Note.java Fri Apr 10 13:16:16 2009
@@ -64,7 +64,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute(WikiContext context, Map params) throws PluginException
+    public String execute(WikiContext context, Map<String,Object> params) throws PluginException
     {
         String commandline = (String) params.get(PluginManager.PARAM_CMDLINE);
         if (commandline == null || commandline.length() == 0)

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ParserStagePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ParserStagePlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ParserStagePlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ParserStagePlugin.java Fri Apr 10 13:16:16 2009
@@ -41,5 +41,5 @@
      *  @param context WikiContext, as usual.
      *  @param params  Parsed parameters for the plugin.
      */
-    public void executeParser( PluginContent element, WikiContext context, Map params );
+    public void executeParser( PluginContent element, WikiContext context, Map<String,Object> params );
 }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginIndexPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginIndexPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginIndexPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginIndexPlugin.java Fri Apr 10 13:16:16 2009
@@ -26,6 +26,7 @@
 import org.apache.wiki.WikiContext;
 import org.apache.wiki.api.ModuleData;
 import org.apache.wiki.api.PluginException;
+import org.apache.wiki.modules.WikiModuleInfo;
 import org.apache.wiki.plugin.PluginManager.WikiPluginInfo;
 
 
@@ -56,11 +57,11 @@
     /**
      * {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params ) throws PluginException
+    public String execute( WikiContext context, Map<String,Object> params ) throws PluginException
     {
         super.initialize( context, params );
 
-        String details = (String) params.get( PARAM_DETAILS );
+        String details = (String)params.get( PARAM_DETAILS );
 
         String summaryHeader = "\n||name";
         String detailHeader = "\n||Name||Class Name||alias's||author||minVersion||maxVersion||adminBean Class";
@@ -106,9 +107,9 @@
         else
         {
             wikitext.append( summaryHeader );
-            for( WikiPluginInfo pluginInfo : plugins )
+            for( WikiModuleInfo module : plugins )
             {
-                String name = pluginInfo.getName();
+                String name = module.getName();
                 wikitext.append( "\n|" + name );
             }
         }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginManager.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginManager.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/PluginManager.java Fri Apr 10 13:16:16 2009
@@ -283,7 +283,7 @@
     /**
      *  Outputs a HTML-formatted version of a stack trace.
      */
-    private String stackTrace( Map params, Throwable t )
+    private String stackTrace( Map<String,Object> params, Throwable t )
     {
         div d = new div();
         d.setClass("debug");
@@ -294,11 +294,9 @@
         d.addElement( new b( "Parameters to the plugin" ) );
 
         ul list = new ul();
-        for( Iterator i = params.entrySet().iterator(); i.hasNext(); )
+        for( Map.Entry<String, Object>e : params.entrySet() )
         {
-            Map.Entry e = (Map.Entry) i.next();
-            String key = (String)e.getKey();
-
+            String key = e.getKey();
             list.addElement(new li( key+"'='"+e.getValue() ) );
         }
 
@@ -327,7 +325,7 @@
      */
     public String execute( WikiContext context,
                            String classname,
-                           Map params )
+                           Map<String,Object> params )
         throws PluginException
     {
         if( !m_pluginsEnabled )
@@ -436,7 +434,7 @@
      *
      * @throws IOException If the parsing fails.
      */
-    public Map parseArgs( String argstring )
+    public Map<String, Object> parseArgs( String argstring )
         throws IOException
     {
         HashMap<String, Object> arglist = new HashMap<String, Object>();
@@ -573,7 +571,7 @@
                 String plugin = res.group( 2 );
                 String args = commandline.substring( res.end(), commandline.length()
                                                                 - (commandline.charAt( commandline.length() - 1 ) == '}' ? 1 : 0) );
-                Map arglist = parseArgs( args );
+                Map<String,Object> arglist = parseArgs( args );
 
                 return execute( context, plugin, arglist );
             }
@@ -940,13 +938,10 @@
     {
         TreeSet<WikiPluginInfo> ls = new TreeSet<WikiPluginInfo>();
         
-        for( Iterator i = m_pluginClassMap.values().iterator(); i.hasNext(); )
+        for( WikiPluginInfo wmi : m_pluginClassMap.values() )
         {
-            WikiPluginInfo wmi = (WikiPluginInfo) i.next();
-            
             if( !ls.contains(wmi) ) ls.add(wmi);
         }
-        
         return ls;
     }
 
@@ -967,7 +962,7 @@
 
         ResourceBundle rb = context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);
         Object[] args = { content.getPluginName() };
-        Map params = content.getParameters();
+        Map<String,Object> params = content.getParameters();
         try
         {
             WikiPlugin plugin;

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RPCSamplePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RPCSamplePlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RPCSamplePlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RPCSamplePlugin.java Fri Apr 10 13:16:16 2009
@@ -57,7 +57,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute(WikiContext context, Map params) throws PluginException
+    public String execute(WikiContext context, Map<String,Object> params) throws PluginException
     {
         JSONRPCManager.registerJSONObject( context, this );
         

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RecentChangesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RecentChangesPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RecentChangesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/RecentChangesPlugin.java Fri Apr 10 13:16:16 2009
@@ -78,7 +78,7 @@
     /**
      * {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         int since = TextUtil.parseIntParameter( (String) params.get( "since" ), DEFAULT_DAYS );
@@ -107,7 +107,7 @@
 
         // FIXME: Should really have a since date on the getRecentChanges
         // method.
-        Collection   changes = engine.getRecentChanges(context.getPage().getWiki());
+        Collection<WikiPage>   changes = engine.getRecentChanges(context.getPage().getWiki());
         super.initialize( context, params );
         changes = super.filterCollection( changes );
 
@@ -121,10 +121,8 @@
             table rt = new table();
             rt.setCellPadding(spacing).setClass("recentchanges");
 
-            for( Iterator i = changes.iterator(); i.hasNext(); )
+            for( WikiPage pageref : changes )
             {
-                WikiPage pageref = (WikiPage) i.next();
-
                 Date lastmod = pageref.getLastModified();
 
                 if( lastmod.before( sincedate.getTime() ) )
@@ -241,7 +239,7 @@
     // locale, but that is at odds with the 1st version of this plugin. We seek to preserve the
     // behaviour of that first version, so to get the default format, the user must explicitly do
     // something like: dateFormat='' timeformat='' which is a odd, but probably okay.
-    private DateFormat getTimeFormat( WikiContext context, Map params )
+    private DateFormat getTimeFormat( WikiContext context, Map<String,Object> params )
     {
         String formatString = get(params, DEFAULT_TIME_FORMAT, PARAM_TIME_FORMAT);
 
@@ -253,7 +251,7 @@
 
 
 
-    private DateFormat getDateFormat( WikiContext context, Map params )
+    private DateFormat getDateFormat( WikiContext context, Map<String,Object> params )
     {
         String formatString = get(params, DEFAULT_DATE_FORMAT, PARAM_DATE_FORMAT);
 
@@ -266,7 +264,7 @@
 
 
 
-    private String get(Map params, String defaultValue, String paramName)
+    private String get(Map<String,Object> params, String defaultValue, String paramName)
     {
         String value = (String) params.get(paramName);
         return null == value ? defaultValue : value;

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferredPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferredPagesPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferredPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferredPagesPlugin.java Fri Apr 10 13:16:16 2009
@@ -75,7 +75,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         m_engine = context.getEngine();
@@ -182,10 +182,8 @@
 
         if( m_formatSort ) Collections.sort(allLinks);
 
-        for( Iterator i = allLinks.iterator(); i.hasNext(); )
+        for( String link : allLinks )
         {
-            String link = (String) i.next() ;
-
             if( localLinkSet.contains( link ) ) continue; // skip multiple
                                                           // links to the same
                                                           // page

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferringPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferringPagesPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferringPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/ReferringPagesPlugin.java Fri Apr 10 13:16:16 2009
@@ -76,7 +76,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         ReferenceManager refmgr = context.getEngine().getReferenceManager();
@@ -95,7 +95,7 @@
             WikiPage page = context.getEngine().getPage( pageName );
         
             Collection<WikiName> links = refmgr.findReferrers( page.getQualifiedName() );
-            String       wikitext = "";
+            String wikitext = "";
 
             super.initialize( context, params );
 
@@ -113,11 +113,11 @@
             if( links != null && links.size() > 0 )
             {
                 // FIXME: Having to copy all of these is kinda stupid.
-                ArrayList<String> tmpList = new ArrayList<String>();
+                Collection<String> tmpList = new ArrayList<String>();
                 
                 for( WikiName wn : links ) tmpList.add( wn.toString() );
                 
-                links = filterCollection( tmpList );
+                tmpList= filterCollection( tmpList );
                 wikitext = wikitizeCollection( tmpList, m_separator, items );
 
                 result.append( makeHTML( context, wikitext ) );

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Search.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Search.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Search.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/Search.java Fri Apr 10 13:16:16 2009
@@ -70,10 +70,11 @@
     /**
      * {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params ) throws PluginException
+    @SuppressWarnings("unchecked")
+    public String execute( WikiContext context, Map<String,Object> params ) throws PluginException
     {
         int maxItems = Integer.MAX_VALUE;
-        Collection results = null;
+        Collection<SearchResult> results = null;
         
         String queryString = (String)params.get( PARAM_QUERY );
         String set         = (String)params.get( PARAM_SET );
@@ -84,7 +85,7 @@
         
         if( queryString == null )
         {
-            results = (Collection)context.getVariable( set );
+            results = (Collection<SearchResult>)context.getVariable( set );
         }
         else
         {
@@ -109,17 +110,17 @@
         return res;
     }
     
-    private Collection doBasicQuery( WikiContext context, String query )
+    private Collection<SearchResult> doBasicQuery( WikiContext context, String query )
         throws ProviderException, IOException
     {
         log.debug("Searching for string "+query);
 
-        Collection list = context.getEngine().findPages( query );
+        Collection<SearchResult> list = context.getEngine().findPages( query );
 
         return list;
     }
     
-    private String renderResults( Collection results, WikiContext context, int maxItems )
+    private String renderResults( Collection<SearchResult> results, WikiContext context, int maxItems )
     {
         WikiEngine engine = context.getEngine();
         table t = new table();
@@ -133,9 +134,9 @@
         row.addElement( new th().setAlign("left").addElement("Score"));
 
         int idx = 0;
-        for( Iterator i = results.iterator(); i.hasNext() && idx++ <= maxItems; )
+        for( Iterator<SearchResult> i = results.iterator(); i.hasNext() && idx++ <= maxItems; )
         {
-            SearchResult sr = (SearchResult) i.next();
+            SearchResult sr = i.next();
             row = new tr();
             
             td name = new td().setWidth("30%");

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/SessionsPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/SessionsPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/SessionsPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/SessionsPlugin.java Fri Apr 10 13:16:16 2009
@@ -22,7 +22,6 @@
 
 import java.security.Principal;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.wiki.WikiContext;
@@ -58,7 +57,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         WikiEngine engine = context.getEngine();
@@ -106,11 +105,9 @@
             //
             //
             StringBuilder s = new StringBuilder();
-            Iterator entries = distinctPrincipals.entrySet().iterator();
-            while (entries.hasNext())
+            for (Map.Entry<String,Integer> entry : distinctPrincipals.entrySet() )
             {
-                Map.Entry entry = (Map.Entry)entries.next();
-                s.append( entry.getKey().toString() + "(" + entry.getValue().toString() + "), " );
+                s.append( entry.getKey() + "(" + entry.getValue().toString() + "), " );
             }
             // remove the last comma and blank :
             return s.substring(0, s.length() - 2);

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/TableOfContents.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/TableOfContents.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/TableOfContents.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/TableOfContents.java Fri Apr 10 13:16:16 2009
@@ -149,7 +149,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         WikiEngine engine = context.getEngine();

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UndefinedPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UndefinedPagesPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UndefinedPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UndefinedPagesPlugin.java Fri Apr 10 13:16:16 2009
@@ -44,11 +44,11 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map<String,String> params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         ReferenceManager refmgr = context.getEngine().getReferenceManager();
-        Collection links = refmgr.findUncreated();
+        Collection<String> links = refmgr.findUncreated();
 
         super.initialize( context, params );
 

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UnusedPagesPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UnusedPagesPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UnusedPagesPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/UnusedPagesPlugin.java Fri Apr 10 13:16:16 2009
@@ -53,8 +53,7 @@
     /**
      *  {@inheritDoc}
      */
-    @SuppressWarnings("unchecked")
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         ReferenceManager refmgr = context.getEngine().getReferenceManager();
@@ -67,10 +66,10 @@
         {
             //  remove links to attachments (recognizable by a slash in it)
             //  FIXME: In 3.0, this assumption is going to fail. FIXME3.0
-            Iterator iterator = links.iterator();
+            Iterator<String> iterator = links.iterator();
             while( iterator.hasNext() ) 
             {
-                String link = (String) iterator.next();
+                String link = iterator.next();
                 if (link.indexOf("/")!=-1) 
                 {
                     iterator.remove();

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogArchivePlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogArchivePlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogArchivePlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogArchivePlugin.java Fri Apr 10 13:16:16 2009
@@ -55,7 +55,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         WikiEngine engine = context.getEngine();
@@ -83,7 +83,7 @@
 
         try
         {
-            Collection months = collectMonths( engine, weblogName );
+            Collection<Calendar> months = collectMonths( engine, weblogName );
             int year = 0;
 
             //
@@ -94,15 +94,13 @@
 
             if( months.size() > 0 )
             {
-                year = ((Calendar)months.iterator().next()).get( Calendar.YEAR );
+                year = months.iterator().next().get( Calendar.YEAR );
 
                 sb.append( "<li class=\"archiveyear\">"+year+"</li>\n" );
             }
 
-            for( Iterator i = months.iterator(); i.hasNext(); )
+            for( Calendar cal : months )
             {
-                Calendar cal = (Calendar) i.next();
-
                 if( cal.get( Calendar.YEAR ) != year )
                 {
                     year = cal.get( Calendar.YEAR );
@@ -129,22 +127,19 @@
         return sb.toString();
     }
 
-    @SuppressWarnings("unchecked")
-    private SortedSet collectMonths( WikiEngine engine, String page )
+    private SortedSet<Calendar> collectMonths( WikiEngine engine, String page )
         throws ProviderException
     {
-        Comparator comp = new ArchiveComparator();
+        Comparator<Calendar> comp = new ArchiveComparator();
         TreeSet<Calendar> res = new TreeSet<Calendar>( comp );
 
         WeblogPlugin pl = new WeblogPlugin();
 
-        List blogEntries = pl.findBlogEntries( engine.getContentManager(),
+        List<WikiPage> blogEntries = pl.findBlogEntries( engine.getContentManager(),
                                                page, new Date(0L), new Date() );
         
-        for( Iterator i = blogEntries.iterator(); i.hasNext(); )
+        for( WikiPage p : blogEntries )
         {
-            WikiPage p = (WikiPage) i.next();
-
             // FIXME: Not correct, should parse page creation time.
 
             Date d = p.getLastModified();
@@ -189,26 +184,23 @@
      * Two dates in the same month are considered equal.
      */
     private static class ArchiveComparator
-        implements Comparator
+        implements Comparator<Calendar>
     {
 
-        public int compare( Object a, Object b ) 
+        public int compare( Calendar a, Calendar b ) 
         {
-            if( a == null || b == null || 
-                !(a instanceof Calendar) || !(b instanceof Calendar) )
+            if( a == null || b == null )
             {
                 throw new ClassCastException( "Invalid calendar supplied for comparison." );
             }
                     
-            Calendar ca = (Calendar) a;
-            Calendar cb = (Calendar) b;
-            if( ca.get( Calendar.YEAR ) == cb.get( Calendar.YEAR ) &&
-                ca.get( Calendar.MONTH ) == cb.get( Calendar.MONTH ) )
+            if( a.get( Calendar.YEAR ) == b.get( Calendar.YEAR ) &&
+                a.get( Calendar.MONTH ) == b.get( Calendar.MONTH ) )
             {
                 return 0;
             }
 
-            return cb.getTime().before( ca.getTime() ) ? 1 : -1;
+            return b.getTime().before( a.getTime() ) ? 1 : -1;
         }
     }
 }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogEntryPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogEntryPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogEntryPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogEntryPlugin.java Fri Apr 10 13:16:16 2009
@@ -94,7 +94,7 @@
     /**
      *  {@inheritDoc}
      */
-    public String execute( WikiContext context, Map params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException
     {
         ResourceBundle rb = context.getBundle(WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE);

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WeblogPlugin.java Fri Apr 10 13:16:16 2009
@@ -36,7 +36,6 @@
 import org.apache.wiki.auth.permissions.PagePermission;
 import org.apache.wiki.content.ContentManager;
 import org.apache.wiki.content.PageNotFoundException;
-import org.apache.wiki.content.WikiName;
 import org.apache.wiki.log.Logger;
 import org.apache.wiki.log.LoggerFactory;
 import org.apache.wiki.parser.PluginContent;
@@ -511,7 +510,7 @@
      *  Mark us as being a real weblog. 
      *  {@inheritDoc}
      */
-    public void executeParser(PluginContent element, WikiContext context, Map params)
+    public void executeParser(PluginContent element, WikiContext context, Map<String,Object> params)
     {
         context.getPage().setAttribute( ATTR_ISWEBLOG, "true" );
     }

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WikiPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WikiPlugin.java?rev=763924&r1=763923&r2=763924&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WikiPlugin.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/plugin/WikiPlugin.java Fri Apr 10 13:16:16 2009
@@ -61,6 +61,6 @@
      *  @throws PluginException In case anything goes wrong.
      */
 
-    public String execute( WikiContext context, Map<String,String> params )
+    public String execute( WikiContext context, Map<String,Object> params )
         throws PluginException;
 }