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 7782b72af40871cf08414c90d8df99247c182f8a
Author: juanpablo <[email protected]>
AuthorDate: Tue Jan 28 21:16:15 2020 +0100

    remove WikiEventUtils
    
    as it was barely used and it basically was a synonym for 
WikiEventManager.getInstance().addWikiEventListener( client, listener ). While 
at it, on SearchManager we apply formatting and fixes from intellij
---
 .../java/org/apache/wiki/event/WikiEventUtils.java | 135 ------------------
 .../wiki/references/DefaultReferenceManager.java   |   4 +-
 .../wiki/render/DefaultRenderingManager.java       |   4 +-
 .../java/org/apache/wiki/search/SearchManager.java | 151 ++++++++++-----------
 4 files changed, 74 insertions(+), 220 deletions(-)

diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/event/WikiEventUtils.java 
b/jspwiki-main/src/main/java/org/apache/wiki/event/WikiEventUtils.java
deleted file mode 100644
index 4d54d7c..0000000
--- a/jspwiki-main/src/main/java/org/apache/wiki/event/WikiEventUtils.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.  
- */
-
-package org.apache.wiki.event;
-
-import org.apache.wiki.WikiEngine;
-
-/**
- *  A utility class that adds some JSPWiki-specific functionality to the 
WikiEventManager (which is really a general-purpose event manager).
- *
- * @since 2.4.20
- */
-public class WikiEventUtils {
-
-    /**
-     *  This ungainly convenience method adds a WikiEventListener to the 
appropriate component of the provided client Object, to listen
-     *  for events of the provided type (or related types, see the table 
below).
-     *  <p>
-     *  If the type value is valid but does not match any WikiEvent type known 
to this method, this will just attach the listener to the
-     *  client Object. This may mean that the Object never fires events of the 
desired type; type-to-client matching is left to you to
-     *  guarantee. Silence is golden, but not if you want those events.
-     *  </p>
-     *  <p>
-     *  Most event types expect a WikiEngine as the client, with the rest 
attaching the listener directly to the supplied source object, as
-     *  described below:
-     *  </p>
-     *  <table border="1" cellpadding="4">
-     *    <tr><th>WikiEvent Type(s)                          </th><th>Required 
Source Object    </th><th>Actually Attached To </th></tr>
-     *    <tr><td>any WikiEngineEvent                        
</td><td>WikiEngine                </td><td>WikiEngine           </td></tr>
-     *    <tr><td>WikiPageEvent.PAGE_LOCK,
-     *            WikiPageEvent.PAGE_UNLOCK                  
</td><td>WikiEngine or PageManager </td><td>PageManager          </td></tr>
-     *    <tr><td>WikiPageEvent.PAGE_REQUESTED,
-     *            WikiPageEvent.PAGE_DELIVERED               
</td><td>WikiServletFilter         </td><td>WikiServletFilter    </td></tr>
-     *    <tr><td>WikiPageEvent (<a href="#pbeTypes">phase
-     *                                     boundary 
event</a>)</td><td>WikiEngine               </td><td>FilterManager         
</td></tr>
-     *    <tr><td>WikiPageEvent (<a href="#ipeTypes">in-phase
-     *                                              
event</a>)</td><td>WikiEngine               </td><td>WikiEngine            
</td></tr>
-     *    <tr><td>WikiPageEvent (in-phase event)              </td><td>any     
                 </td><td>source object         </td></tr>
-     *    <tr><td>WikiSecurityEvent                           </td><td>any     
                 </td><td>source object         </td></tr>
-     *    <tr><td>any other valid type                        </td><td>any     
                 </td><td>source object         </td></tr>
-     *    <tr><td>any invalid type                            </td><td>any     
                 </td><td>nothing               </td></tr>
-     *  </table>
-     *
-     * <p id="pbeTypes"><small><b>phase boundary event types:</b>
-     * <tt>WikiPageEvent.PRE_TRANSLATE_BEGIN</tt>, 
<tt>WikiPageEvent.PRE_TRANSLATE_END</tt>, 
<tt>WikiPageEvent.POST_TRANSLATE_BEGIN</tt>,
-     * <tt>WikiPageEvent.POST_TRANSLATE_END</tt>, 
<tt>WikiPageEvent.PRE_SAVE_BEGIN</tt>, <tt>WikiPageEvent.PRE_SAVE_END</tt>,
-     * <tt>WikiPageEvent.POST_SAVE_BEGIN</tt>, and 
<tt>WikiPageEvent.POST_SAVE_END</tt>.
-     * </small></p>
-     * <p id="ipeTypes"><small><b>in-phase event types:</b>
-     * <tt>WikiPageEvent.PRE_TRANSLATE</tt>, 
<tt>WikiPageEvent.POST_TRANSLATE</tt>, <tt>WikiPageEvent.PRE_SAVE</tt>, and
-     * <tt>WikiPageEvent.POST_SAVE</tt>.
-     * </small></p>
-     *
-     * <p>
-     * <b>Note:</b> The <i>Actually Attached To</i> column may also be 
considered as the class(es) that fire events of the type(s)
-     * shown in the <i>WikiEvent Type</i> column.
-     * </p>
-     *
-     * @see org.apache.wiki.event.WikiEvent
-     * @see org.apache.wiki.event.WikiEngineEvent
-     * @see org.apache.wiki.event.WikiPageEvent
-     * @see org.apache.wiki.event.WikiSecurityEvent
-     * @throws ClassCastException if there is a type mismatch between certain 
event types and the client Object
-     */
-    public static synchronized void addWikiEventListener( final Object client, 
final int type, final WikiEventListener listener ) {
-        // Make sure WikiEventManager exists
-        WikiEventManager.getInstance();
-        
-        // first, figure out what kind of event is expected to be generated 
this does
-        // tie us into known types, but WikiEvent.isValidType() will return 
true so
-        // long as the type was set to any non-ERROR or non-UNKNOWN value
-
-        if( WikiEngineEvent.isValidType( type ) ) {
-            // add listener directly to WikiEngine
-            WikiEventManager.addWikiEventListener( client, listener );
-        } else if( WikiPageEvent.isValidType( type ) ) {
-            // add listener to one of several options
-            if(  type == WikiPageEvent.PAGE_LOCK
-              || type == WikiPageEvent.PAGE_UNLOCK ) {
-                // attach to PageManager
-                if( client instanceof WikiEngine ) {
-                    WikiEventManager.addWikiEventListener( 
((WikiEngine)client).getPageManager(), listener );
-                } else {
-                    // client instanceof PageManager
-                    WikiEventManager.addWikiEventListener( client, listener );
-                }
-            } else if(  type == WikiPageEvent.PAGE_REQUESTED
-                     || type == WikiPageEvent.PAGE_DELIVERED ) {
-                // attach directly to WikiServletFilter
-                WikiEventManager.addWikiEventListener( client, listener );
-            }
-            else if(  type == WikiPageEvent.PRE_TRANSLATE_BEGIN
-                   || type == WikiPageEvent.PRE_TRANSLATE_END
-                   || type == WikiPageEvent.POST_TRANSLATE_BEGIN
-                   || type == WikiPageEvent.POST_TRANSLATE_END
-                   || type == WikiPageEvent.PRE_SAVE_BEGIN
-                   || type == WikiPageEvent.PRE_SAVE_END
-                   || type == WikiPageEvent.POST_SAVE_BEGIN
-                   || type == WikiPageEvent.POST_SAVE_END ) {
-                // attach to FilterManager
-                WikiEventManager.addWikiEventListener( 
((WikiEngine)client).getFilterManager(), listener );
-            } else { //if (  type == WikiPageEvent.PRE_TRANSLATE
-                     //   || type == WikiPageEvent.POST_TRANSLATE
-                     //   || type == WikiPageEvent.PRE_SAVE
-                     //   || type == WikiPageEvent.POST_SAVE ) // attach to 
client
-                WikiEventManager.addWikiEventListener( client, listener );
-            }
-        } else if( WikiSecurityEvent.isValidType( type ) ) {
-            // currently just attach it to the client (we are ignorant of 
other options)
-            WikiEventManager.addWikiEventListener( client, listener );
-        } else if( WikiEvent.isValidType( type ) ) {
-            // we don't know what to do
-            WikiEventManager.addWikiEventListener( client, listener );
-        } else {
-            // is error or unknown, why are we being called with this?
-        }
-    }
-
-}
diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
 
b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
index e073b7f..5ebe5cc 100644
--- 
a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
+++ 
b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java
@@ -30,7 +30,7 @@ import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.filters.BasicPageFilter;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.event.WikiEvent;
-import org.apache.wiki.event.WikiEventUtils;
+import org.apache.wiki.event.WikiEventManager;
 import org.apache.wiki.event.WikiPageEvent;
 import org.apache.wiki.providers.WikiPageProvider;
 import org.apache.wiki.util.TextUtil;
@@ -234,7 +234,7 @@ public class DefaultReferenceManager extends 
BasicPageFilter implements Referenc
         sw.stop();
         log.info( "Cross reference scan done in "+sw );
 
-        WikiEventUtils.addWikiEventListener( m_engine.getPageManager(), 
WikiPageEvent.PAGE_DELETED, this );
+        WikiEventManager.getInstance().addWikiEventListener( 
m_engine.getPageManager(), this );
     }
 
     /**
diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java
 
b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java
index cd1117a..c260455 100644
--- 
a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java
+++ 
b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java
@@ -33,7 +33,7 @@ import org.apache.wiki.api.exceptions.WikiException;
 import org.apache.wiki.attachment.Attachment;
 import org.apache.wiki.event.WikiEvent;
 import org.apache.wiki.event.WikiEventListener;
-import org.apache.wiki.event.WikiEventUtils;
+import org.apache.wiki.event.WikiEventManager;
 import org.apache.wiki.event.WikiPageEvent;
 import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.parser.JSPWikiMarkupParser;
@@ -128,7 +128,7 @@ public class DefaultRenderingManager implements 
RenderingManager {
 
         log.info( "Rendering content with " + renderImplName + "." );
 
-        WikiEventUtils.addWikiEventListener(m_engine, 
WikiPageEvent.POST_SAVE_BEGIN, this);
+        WikiEventManager.getInstance().addWikiEventListener( 
m_engine.getFilterManager(),this );
     }
 
     private Constructor< ? > initRenderer( final String renderImplName, final 
Class< ? >[] rendererParams ) throws WikiException {
diff --git 
a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java 
b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
index ac256fe..2d975f4 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
@@ -33,7 +33,7 @@ import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.filters.BasicPageFilter;
 import org.apache.wiki.event.WikiEvent;
 import org.apache.wiki.event.WikiEventListener;
-import org.apache.wiki.event.WikiEventUtils;
+import org.apache.wiki.event.WikiEventManager;
 import org.apache.wiki.event.WikiPageEvent;
 import org.apache.wiki.modules.InternalModule;
 import org.apache.wiki.parser.MarkupParser;
@@ -59,18 +59,16 @@ import java.util.Set;
  */
 public class SearchManager extends BasicPageFilter implements InternalModule, 
WikiEventListener {
 
-    private static final Logger log = Logger.getLogger(SearchManager.class);
+    private static final Logger log = Logger.getLogger( SearchManager.class );
 
     private static final String DEFAULT_SEARCHPROVIDER  = 
"org.apache.wiki.search.LuceneSearchProvider";
 
     /** Property name for setting the search provider. Value is 
<tt>{@value}</tt>. */
-    public static final String PROP_SEARCHPROVIDER     = 
"jspwiki.searchProvider";
+    public static final String PROP_SEARCHPROVIDER      = 
"jspwiki.searchProvider";
 
     private SearchProvider    m_searchProvider;
 
-    /**
-     *  The name of the JSON object that manages search.
-     */
+    /** The name of the JSON object that manages search. */
     public static final String JSON_SEARCH = "search";
 
     /**
@@ -80,13 +78,9 @@ public class SearchManager extends BasicPageFilter 
implements InternalModule, Wi
      *  @param properties The list of Properties.
      *  @throws FilterException If it cannot be instantiated.
      */
-    public SearchManager( WikiEngine engine, Properties properties )
-        throws FilterException
-    {
+    public SearchManager( final WikiEngine engine, final Properties properties 
) throws FilterException {
         initialize( engine, properties );
-
-        WikiEventUtils.addWikiEventListener(m_engine.getPageManager(),
-                                            WikiPageEvent.PAGE_DELETE_REQUEST, 
this);
+        WikiEventManager.getInstance().addWikiEventListener( 
m_engine.getPageManager(), this );
 
         //TODO: Replace with custom annotations. See JSPWIKI-566
         WikiAjaxDispatcherServlet.registerServlet( JSON_SEARCH, new 
JSONSearch() );
@@ -95,57 +89,54 @@ public class SearchManager extends BasicPageFilter 
implements InternalModule, Wi
     /**
      *  Provides a JSON RPC API to the JSPWiki Search Engine.
      */
-    public class JSONSearch implements WikiAjaxServlet
-    {
-               public static final String AJAX_ACTION_SUGGESTIONS = 
"suggestions";
-       public static final String AJAX_ACTION_PAGES = "pages";
-       public static final int DEFAULT_MAX_RESULTS = 20;
-       public int maxResults = DEFAULT_MAX_RESULTS;
-
-               @Override
-               public String getServletMapping() {
-                       return JSON_SEARCH;
-               }
-
-       @Override
-       public void service(HttpServletRequest req, HttpServletResponse resp, 
String actionName, List<String> params)
-                       throws ServletException, IOException {
-               String result = "";
-               if (StringUtils.isNotBlank(actionName)) {
-                       if (params.size()<1) {
-                               return;
-                       }
-                       String itemId = params.get(0);
-                       log.debug("itemId="+itemId);
-                       if (params.size()>1) {
-                               String maxResultsParam  = params.get(1);
-                               log.debug("maxResultsParam="+maxResultsParam);
-                               if (StringUtils.isNotBlank(maxResultsParam) && 
StringUtils.isNumeric(maxResultsParam)) {
-                                       maxResults = 
Integer.parseInt(maxResultsParam);
-                               }
-                       }
-
-                       if (actionName.equals(AJAX_ACTION_SUGGESTIONS)) {
-                               List<String> callResults = new ArrayList<>();
-                               log.debug("Calling getSuggestions() START");
-                               callResults = getSuggestions(itemId, 
maxResults);
-                               log.debug("Calling getSuggestions() DONE. 
"+callResults.size());
-                               result = AjaxUtil.toJson(callResults);
-                       } else if (actionName.equals(AJAX_ACTION_PAGES)) {
-                               final List< Map< String, Object > > callResults;
-                               log.debug("Calling findPages() START");
-                               final WikiContext wikiContext = new 
WikiContext( m_engine, req, WikiContext.VIEW );
-                               if( wikiContext == null ) {
-                                       throw new ServletException( "Could not 
create a WikiContext from the request " + req );
-                               }
-                               callResults = findPages(itemId, maxResults, 
wikiContext);
-                               log.debug("Calling findPages() DONE. 
"+callResults.size());
-                               result = AjaxUtil.toJson(callResults);
-                       }
-               }
-               log.debug("result="+result);
-               resp.getWriter().write(result);
-       }
+    public class JSONSearch implements WikiAjaxServlet {
+
+        public static final String AJAX_ACTION_SUGGESTIONS = "suggestions";
+        public static final String AJAX_ACTION_PAGES = "pages";
+        public static final int DEFAULT_MAX_RESULTS = 20;
+        public int maxResults = DEFAULT_MAX_RESULTS;
+
+        @Override
+        public String getServletMapping() {
+            return JSON_SEARCH;
+        }
+
+        @Override
+        public void service( final HttpServletRequest req,
+                             final HttpServletResponse resp,
+                             final String actionName,
+                             final List< String > params ) throws 
ServletException, IOException {
+            String result = "";
+            if( StringUtils.isNotBlank( actionName ) ) {
+                if( params.size() < 1 ) {
+                    return;
+                }
+                final String itemId = params.get( 0 );
+                log.debug( "itemId=" + itemId );
+                if( params.size() > 1 ) {
+                    final String maxResultsParam = params.get( 1 );
+                    log.debug( "maxResultsParam=" + maxResultsParam );
+                    if( StringUtils.isNotBlank( maxResultsParam ) && 
StringUtils.isNumeric( maxResultsParam ) ) {
+                        maxResults = Integer.parseInt( maxResultsParam );
+                    }
+                }
+
+                if( actionName.equals( AJAX_ACTION_SUGGESTIONS ) ) {
+                    log.debug( "Calling getSuggestions() START" );
+                    final List< String > callResults = getSuggestions( itemId, 
maxResults );
+                    log.debug( "Calling getSuggestions() DONE. " + 
callResults.size() );
+                    result = AjaxUtil.toJson( callResults );
+                } else if( actionName.equals( AJAX_ACTION_PAGES ) ) {
+                    log.debug("Calling findPages() START");
+                    final WikiContext wikiContext = new WikiContext( m_engine, 
req, WikiContext.VIEW );
+                    final List< Map< String, Object > > callResults = 
findPages( itemId, maxResults, wikiContext );
+                    log.debug( "Calling findPages() DONE. " + 
callResults.size() );
+                    result = AjaxUtil.toJson( callResults );
+                }
+            }
+            log.debug( "result=" + result );
+            resp.getWriter().write( result );
+        }
 
         /**
          *  Provides a list of suggestions to use for a page name. Currently 
the algorithm just looks into the value parameter,
@@ -155,16 +146,15 @@ public class SearchManager extends BasicPageFilter 
implements InternalModule, Wi
          *  @param maxLength maximum number of suggestions
          *  @return the suggestions
          */
-        public List<String> getSuggestions( String wikiName, final int 
maxLength ) {
+        public List< String > getSuggestions( String wikiName, final int 
maxLength ) {
             final StopWatch sw = new StopWatch();
             sw.start();
             final List< String > list = new ArrayList<>( maxLength );
 
             if( wikiName.length() > 0 ) {
-
                 // split pagename and attachment filename
                 String filename = "";
-                int pos = wikiName.indexOf("/");
+                final int pos = wikiName.indexOf("/");
                 if( pos >= 0 ) {
                     filename = wikiName.substring( pos ).toLowerCase();
                     wikiName = wikiName.substring( 0, pos );
@@ -175,7 +165,7 @@ public class SearchManager extends BasicPageFilter 
implements InternalModule, Wi
                 final Set< String > allPages = 
m_engine.getReferenceManager().findCreated();
 
                 int counter = 0;
-                for( Iterator< String > i = allPages.iterator(); i.hasNext() 
&& counter < maxLength; ) {
+                for( final Iterator< String > i = allPages.iterator(); 
i.hasNext() && counter < maxLength; ) {
                     final String p = i.next();
                     final String pp = p.toLowerCase();
                     if( pp.startsWith( cleanWikiName) || pp.startsWith( 
oldStyleName ) ) {
@@ -199,39 +189,38 @@ public class SearchManager extends BasicPageFilter 
implements InternalModule, Wi
          *  @param maxLength How many hits to return
          *  @return the pages found
          */
-        public List<Map<String,Object>> findPages( String searchString, int 
maxLength, WikiContext wikiContext )
-        {
-            StopWatch sw = new StopWatch();
+        public List< Map< String, Object > > findPages( final String 
searchString, final int maxLength, final WikiContext wikiContext ) {
+            final StopWatch sw = new StopWatch();
             sw.start();
 
-            List<Map<String,Object>> list = new ArrayList<>(maxLength);
-
+            final List< Map< String, Object > > list = new ArrayList<>( 
maxLength );
             if( searchString.length() > 0 ) {
                 try {
-                    Collection< SearchResult > c;
+                    final Collection< SearchResult > c;
 
                     if( m_searchProvider instanceof LuceneSearchProvider ) {
-                        c = 
((LuceneSearchProvider)m_searchProvider).findPages( searchString, 0, 
wikiContext );
+                        c = ( ( LuceneSearchProvider )m_searchProvider 
).findPages( searchString, 0, wikiContext );
                     } else {
                         c = m_searchProvider.findPages( searchString, 
wikiContext );
                     }
 
                     int count = 0;
-                    for( Iterator< SearchResult > i = c.iterator(); 
i.hasNext() && count < maxLength; count++ )
-                    {
-                        SearchResult sr = i.next();
-                        HashMap<String,Object> hm = new HashMap<>();
+                    for( final Iterator< SearchResult > i = c.iterator(); 
i.hasNext() && count < maxLength; count++ ) {
+                        final SearchResult sr = i.next();
+                        final HashMap< String, Object > hm = new HashMap<>();
                         hm.put( "page", sr.getPage().getName() );
                         hm.put( "score", sr.getScore() );
                         list.add( hm );
                     }
-                } catch(Exception e) {
-                    log.info("AJAX search failed; ",e);
+                } catch( final Exception e ) {
+                    log.info( "AJAX search failed; ", e );
                 }
             }
 
             sw.stop();
-            if( log.isDebugEnabled() ) log.debug("AJAX search complete in 
"+sw);
+            if( log.isDebugEnabled() ) {
+                log.debug( "AJAX search complete in " + sw );
+            }
             return list;
         }
     }

Reply via email to