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 74e04345f5dcb5c1e8b61828848d53f11c47af7a Author: juanpablo <[email protected]> AuthorDate: Wed Jan 22 23:22:32 2020 +0100 JSPWIKI-1127: propagate changes on java code --- .../apache/wiki/attachment/AttachmentServlet.java | 4 +- .../org/apache/wiki/auth/AuthorizationManager.java | 2 +- .../apache/wiki/filters/PingWeblogsComFilter.java | 82 +++--- .../main/java/org/apache/wiki/plugin/Groups.java | 40 ++- .../main/java/org/apache/wiki/rss/AtomFeed.java | 5 +- .../main/java/org/apache/wiki/rss/RSS10Feed.java | 10 +- .../main/java/org/apache/wiki/rss/RSS20Feed.java | 2 +- .../java/org/apache/wiki/rss/RSSGenerator.java | 16 +- .../org/apache/wiki/tags/FeedDiscoveryTag.java | 37 +-- .../main/java/org/apache/wiki/tags/LinkTag.java | 310 ++++++++------------- .../wiki/tasks/auth/SaveUserProfileTask.java | 2 +- .../java/org/apache/wiki/ui/CommandResolver.java | 3 +- .../org/apache/wiki/xmlrpc/MetaWeblogHandler.java | 4 +- .../org/apache/wiki/search/SearchManagerTest.java | 2 +- 14 files changed, 201 insertions(+), 318 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java index 2bb0053..53c6b7f 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java @@ -275,7 +275,7 @@ public class AttachmentServlet extends HttpServlet { res.sendRedirect( validateNextPage( TextUtil.urlEncodeUTF8(nextPage), - m_engine.getURL( WikiContext.ERROR, "", null, false ) + m_engine.getURL( WikiContext.ERROR, "", null ) ) ); } @@ -420,7 +420,7 @@ public class AttachmentServlet extends HttpServlet { protected String upload( final HttpServletRequest req ) throws RedirectException, IOException { String msg = ""; final String attName = "(unknown)"; - final String errorPage = m_engine.getURL( WikiContext.ERROR, "", null, false ); // If something bad happened, Upload should be able to take care of most stuff + final String errorPage = m_engine.getURL( WikiContext.ERROR, "", null ); // If something bad happened, Upload should be able to take care of most stuff String nextPage = errorPage; final String progressId = req.getParameter( "progressid" ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java b/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java index 040046d..f7fb9c4 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/auth/AuthorizationManager.java @@ -432,7 +432,7 @@ public class AuthorizationManager { log.info("User "+currentUser.getName()+" has no access - redirecting (permission=" + context.requiredPermission() + ")"); context.getWikiSession().addMessage( MessageFormat.format( rb.getString("security.error.noaccess"), context.getName() ) ); } - response.sendRedirect( m_engine.getURL(WikiContext.LOGIN, pageurl, null, false ) ); + response.sendRedirect( m_engine.getURL(WikiContext.LOGIN, pageurl, null ) ); } return allowed; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/filters/PingWeblogsComFilter.java b/jspwiki-main/src/main/java/org/apache/wiki/filters/PingWeblogsComFilter.java index 8cbe7bf..f2a139a 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/filters/PingWeblogsComFilter.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/filters/PingWeblogsComFilter.java @@ -18,12 +18,6 @@ */ package org.apache.wiki.filters; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.Hashtable; -import java.util.Properties; -import java.util.Vector; - import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; @@ -31,17 +25,21 @@ import org.apache.wiki.api.filters.BasicPageFilter; import org.apache.xmlrpc.AsyncCallback; import org.apache.xmlrpc.XmlRpcClient; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Hashtable; +import java.util.Properties; +import java.util.Vector; + /** - * A very dumb class that pings weblogs.com on each save. INTERNAL USE ONLY SO FAR! - * Look, but don't use as-is. + * A very dumb class that pings weblogs.com on each save. INTERNAL USE ONLY SO FAR! Look, but don't use as-is. */ // FIXME: Needs to figure out when only weblogs have been saved. // FIXME: rpc endpoint must be configurable // FIXME: Should really be settable per-page. // FIXME: Weblog name has been set to stone -public class PingWeblogsComFilter - extends BasicPageFilter -{ +public class PingWeblogsComFilter extends BasicPageFilter { + private static final Logger log = Logger.getLogger( PingWeblogsComFilter.class ); private String m_pingURL; @@ -54,64 +52,52 @@ public class PingWeblogsComFilter /** * {@inheritDoc} */ - public void initialize( WikiEngine engine, Properties props ) - { + public void initialize( final WikiEngine engine, final Properties props ) { m_pingURL = props.getProperty( PROP_PINGURL, "http://rpc.weblogs.com/RPC2" ); } /** * {@inheritDoc} */ - public void postSave( WikiContext context, String pagecontent ) - { - String blogName = context.getPage().getName(); - WikiEngine engine = context.getEngine(); - - int blogentryTxt = blogName.indexOf("_blogentry_"); - if( blogentryTxt == -1 ) - { + public void postSave( final WikiContext context, final String pagecontent ) { + String blogName = context.getPage().getName(); + final WikiEngine engine = context.getEngine(); + + final int blogentryTxt = blogName.indexOf("_blogentry_"); + if( blogentryTxt == -1 ) { return; // This is not a weblog entry. } blogName = blogName.substring( 0, blogentryTxt ); - if( blogName.equals( engine.getFrontPage() ) ) - { + if( blogName.equals( engine.getFrontPage() ) ) { blogName = null; } - try - { - XmlRpcClient xmlrpc = new XmlRpcClient(m_pingURL); - Vector<String> params = new Vector<String>(); + try { + final XmlRpcClient xmlrpc = new XmlRpcClient(m_pingURL); + final Vector< String > params = new Vector<>(); params.addElement( "The Butt Ugly Weblog" ); // FIXME: Must be settable - params.addElement( engine.getURL( WikiContext.VIEW, blogName, null, true ) ); + params.addElement( engine.getURL( WikiContext.VIEW, blogName, null ) ); - if( log.isDebugEnabled() ) - log.debug("Pinging weblogs.com with URL: "+engine.getURL( WikiContext.VIEW, blogName, null, true )); + if( log.isDebugEnabled() ) { + log.debug( "Pinging weblogs.com with URL: " + engine.getURL( WikiContext.VIEW, blogName, null ) ); + } xmlrpc.executeAsync("weblogUpdates.ping", params, - new AsyncCallback() - { - public void handleError( Exception ex, - URL url, - String method ) - { - log.error("Unable to execute weblogs.com ping to URL: "+url.toString(),ex); + new AsyncCallback() { + public void handleError( final Exception ex, final URL url, final String method ) { + log.error( "Unable to execute weblogs.com ping to URL: " + url.toString(), ex ); } - public void handleResult( Object result, - URL url, - String method ) - { + public void handleResult( final Object result, final URL url, final String method ) { @SuppressWarnings("unchecked") - Hashtable< String, Object > res = (Hashtable < String, Object > ) result; + final Hashtable< String, Object > res = (Hashtable < String, Object > ) result; - Boolean flerror = (Boolean)res.get("flerror"); - String msg = (String)res.get("message"); + final Boolean flerror = (Boolean)res.get("flerror"); + final String msg = (String)res.get("message"); - if( flerror.booleanValue() ) - { + if( flerror ) { log.error("Failed to ping: "+msg); } @@ -119,9 +105,7 @@ public class PingWeblogsComFilter } } ); - } - catch( MalformedURLException e ) - { + } catch( final MalformedURLException e ) { log.error("Malformed URL",e); } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/Groups.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/Groups.java index fa6bfa6..5a77dfc 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/Groups.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/Groups.java @@ -18,11 +18,6 @@ */ package org.apache.wiki.plugin; -import java.security.Principal; -import java.util.Arrays; -import java.util.Comparator; -import java.util.Map; - import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; import org.apache.wiki.api.exceptions.PluginException; @@ -30,41 +25,41 @@ import org.apache.wiki.api.plugin.WikiPlugin; import org.apache.wiki.auth.PrincipalComparator; import org.apache.wiki.auth.authorize.GroupManager; +import java.security.Principal; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Map; + /** * <p>Prints the groups managed by this wiki, separated by commas. * <br>The groups are sorted in ascending order, and are hyperlinked to the page that displays the group's members. * </p> * <p>Parameters : </p> * NONE - * - * + * * @since 2.4.19 */ -public class Groups - implements WikiPlugin -{ +public class Groups implements WikiPlugin { + private static final Comparator<Principal> COMPARATOR = new PrincipalComparator(); /** * {@inheritDoc} */ - public String execute( WikiContext context, Map<String, String> params ) - throws PluginException - { + public String execute( final WikiContext context, final Map<String, String> params ) throws PluginException { // Retrieve groups, and sort by name - WikiEngine engine = context.getEngine(); - GroupManager groupMgr = engine.getGroupManager(); - Principal[] groups = groupMgr.getRoles(); + final WikiEngine engine = context.getEngine(); + final GroupManager groupMgr = engine.getGroupManager(); + final Principal[] groups = groupMgr.getRoles(); Arrays.sort( groups, COMPARATOR ); - StringBuilder s = new StringBuilder(); + final StringBuilder s = new StringBuilder(); - for ( int i = 0; i < groups.length; i++ ) - { - String name = groups[i].getName(); + for ( int i = 0; i < groups.length; i++ ) { + final String name = groups[ i ].getName(); // Make URL - String url = engine.getURLConstructor().makeURL( WikiContext.VIEW_GROUP, name, false, null ); + final String url = engine.getURLConstructor().makeURL( WikiContext.VIEW_GROUP, name, null ); // Create hyperlink s.append( "<a href=\"" ); @@ -74,8 +69,7 @@ public class Groups s.append( "</a>" ); // If not the last one, add a comma and space - if ( i < ( groups.length - 1 ) ) - { + if ( i < ( groups.length - 1 ) ) { s.append( ',' ); s.append( ' ' ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java index b8d7449..4d38bc0 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/AtomFeed.java @@ -103,7 +103,7 @@ public class AtomFeed extends Feed { for( final Attachment att : c ) { final Element attEl = getElement( "link" ); attEl.setAttribute( "rel", "enclosure" ); - attEl.setAttribute( "href", engine.getURL( WikiContext.ATTACH, att.getName(), null, true ) ); + attEl.setAttribute( "href", engine.getURL( WikiContext.ATTACH, att.getName(), null ) ); attEl.setAttribute( "length", Long.toString( att.getSize() ) ); attEl.setAttribute( "type", getMimeType( servletContext, att.getFileName() ) ); @@ -149,8 +149,7 @@ public class AtomFeed extends Feed { final String rssFeedURL = engine.getURL(WikiContext.NONE, "rss.jsp", "page=" + engine.encodeName( m_wikiContext.getPage().getName() ) + "&mode=" + m_mode + - "&type=atom", - true ); + "&type=atom" ); final Element self = getElement( "link" ).setAttribute( "rel","self" ); self.setAttribute( "href", rssFeedURL ); root.addContent( self ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS10Feed.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS10Feed.java index fe4dec4..12f8625 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS10Feed.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS10Feed.java @@ -18,9 +18,6 @@ */ package org.apache.wiki.rss; -import java.text.SimpleDateFormat; -import java.util.Calendar; - import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; @@ -28,6 +25,9 @@ import org.apache.wiki.util.XhtmlUtil; import org.jdom2.Element; import org.jdom2.Namespace; +import java.text.SimpleDateFormat; +import java.util.Calendar; + /** * Provides an implementation of an RSS 1.0 feed. In addition, this class is @@ -87,7 +87,7 @@ public class RSS10Feed extends Feed { if( p.getVersion() > 1 ) { item.addContent( new Element( "diff", NS_WIKI ) - .addContent( engine.getURL( WikiContext.DIFF, p.getName(), "r1=-1", true ) ) ); + .addContent( engine.getURL( WikiContext.DIFF, p.getName(), "r1=-1" ) ) ); } // @@ -127,7 +127,7 @@ public class RSS10Feed extends Feed { // // PageHistory item.addContent( new Element( "history", NS_WIKI ) - .addContent( engine.getURL( WikiContext.INFO, p.getName(), null, true ) ) ); + .addContent( engine.getURL( WikiContext.INFO, p.getName(), null ) ) ); // // Add to root diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java index ba69b7b..d5026c2 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSS20Feed.java @@ -96,7 +96,7 @@ public class RSS20Feed extends Feed Attachment att = a.next(); Element attEl = new Element("enclosure"); - attEl.setAttribute( "url", engine.getURL(WikiContext.ATTACH, att.getName(), null, true ) ); + attEl.setAttribute( "url", engine.getURL( WikiContext.ATTACH, att.getName(), null ) ); attEl.setAttribute( "length", Long.toString(att.getSize()) ); attEl.setAttribute( "type", getMimeType( servletContext, att.getFileName() ) ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java index d48ea62..d7df53c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/rss/RSSGenerator.java @@ -166,10 +166,10 @@ public class RSSGenerator { sb.append( "<br /><hr /><br />" ) .append( "Parent page: <a href=\"" ) - .append( m_engine.getURL( WikiContext.VIEW, att.getParentName(), null, true ) ) + .append( m_engine.getURL( WikiContext.VIEW, att.getParentName(), null ) ) .append( "\">" ).append( att.getParentName() ).append( "</a><br />" ) .append( "Info page: <a href=\"" ) - .append( m_engine.getURL( WikiContext.INFO, att.getName(), null, true ) ) + .append( m_engine.getURL( WikiContext.INFO, att.getName(), null ) ) .append( "\">" ).append( att.getName() ).append( "</a>" ); return sb.toString(); @@ -326,9 +326,9 @@ public class RSSGenerator { final String url; if( page instanceof Attachment ) { - url = m_engine.getURL( WikiContext.ATTACH, page.getName(),null, true ); + url = m_engine.getURL( WikiContext.ATTACH, page.getName(),null ); } else { - url = m_engine.getURL( WikiContext.VIEW, page.getName(), null, true ); + url = m_engine.getURL( WikiContext.VIEW, page.getName(), null ); } final Entry e = new Entry(); @@ -378,9 +378,9 @@ public class RSSGenerator { String url; if( page instanceof Attachment ) { - url = m_engine.getURL( WikiContext.ATTACH, page.getName(), "version=" + page.getVersion(),true ); + url = m_engine.getURL( WikiContext.ATTACH, page.getName(), "version=" + page.getVersion() ); } else { - url = m_engine.getURL( WikiContext.VIEW, page.getName(), "version=" + page.getVersion(), true ); + url = m_engine.getURL( WikiContext.VIEW, page.getName(), "version=" + page.getVersion() ); } // Unfortunately, this is needed because the code will again go through replacement conversion @@ -441,9 +441,9 @@ public class RSSGenerator { final String url; if( page instanceof Attachment ) { - url = m_engine.getURL( WikiContext.ATTACH, page.getName(),null,true ); + url = m_engine.getURL( WikiContext.ATTACH, page.getName(),null ); } else { - url = m_engine.getURL( WikiContext.VIEW, page.getName(),null, true ); + url = m_engine.getURL( WikiContext.VIEW, page.getName(),null ); } e.setURL( url ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java index f5edcac..2acff88 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java @@ -18,8 +18,6 @@ */ package org.apache.wiki.tags; -import java.io.IOException; - import org.apache.wiki.WikiContext; import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; @@ -27,31 +25,26 @@ import org.apache.wiki.plugin.WeblogPlugin; import org.apache.wiki.rss.Feed; import org.apache.wiki.util.TextUtil; +import java.io.IOException; + /** * Outputs links to all the site feeds and APIs this Wiki/blog supports. * * @since 2.2 */ -public class FeedDiscoveryTag - extends WikiTagBase -{ +public class FeedDiscoveryTag extends WikiTagBase { + private static final long serialVersionUID = 0L; - public final int doWikiStartTag() - throws IOException - { - WikiEngine engine = m_wikiContext.getEngine(); - WikiPage page = m_wikiContext.getPage(); - - String encodedName = engine.encodeName( page.getName() ); + public final int doWikiStartTag() throws IOException { + final WikiEngine engine = m_wikiContext.getEngine(); + final WikiPage page = m_wikiContext.getPage(); - String rssURL = engine.getGlobalRSSURL(); - String rssFeedURL = engine.getURL(WikiContext.NONE, "rss.jsp", - "page="+encodedName+"&mode=wiki", - true ); + final String encodedName = engine.encodeName( page.getName() ); + final String rssURL = engine.getGlobalRSSURL(); + final String rssFeedURL = engine.getURL( WikiContext.NONE, "rss.jsp","page="+encodedName+"&mode=wiki" ); - if( rssURL != null ) - { + if( rssURL != null ) { String siteName = Feed.getSiteName(m_wikiContext); siteName = TextUtil.replaceEntities( siteName ); @@ -64,10 +57,9 @@ public class FeedDiscoveryTag siteName+"\" href=\""+atomPostURL+"\" />\n"); */ // FIXME: This does not work always, as plugins are not initialized until the first fetch - if( "true".equals(page.getAttribute(WeblogPlugin.ATTR_ISWEBLOG)) ) - { - String blogFeedURL = engine.getURL(WikiContext.NONE,"rss.jsp","page="+encodedName,true); - String atomFeedURL = engine.getURL(WikiContext.NONE,"rss.jsp","page="+encodedName+"&type=atom",true); + if( "true".equals( page.getAttribute( WeblogPlugin.ATTR_ISWEBLOG ) ) ) { + final String blogFeedURL = engine.getURL( WikiContext.NONE,"rss.jsp","page="+encodedName ); + final String atomFeedURL = engine.getURL( WikiContext.NONE,"rss.jsp","page="+encodedName+"&type=atom" ); pageContext.getOut().print("<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS feed for weblog "+ siteName+".\" href=\""+blogFeedURL+"\" />\n"); @@ -79,4 +71,5 @@ public class FeedDiscoveryTag return SKIP_BODY; } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java index ec2bc91..ab096a7 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java @@ -29,7 +29,6 @@ import org.apache.wiki.parser.LinkParsingOperations; import org.apache.wiki.parser.MarkupParser; import org.apache.wiki.util.TextUtil; -import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.BodyContent; import javax.servlet.jsp.tagext.BodyTag; @@ -38,13 +37,10 @@ import java.util.Iterator; import java.util.Map; /** - * Provides a generic link tag for all kinds of linking - * purposes. + * Provides a generic link tag for all kinds of linking purposes. * <p> - * If parameter <i>jsp</i> is defined, constructs a URL pointing - * to the specified JSP page, under the baseURL known by the WikiEngine. - * Any ParamTag name-value pairs contained in the body are added to this - * URL to provide support for arbitrary JSP calls. + * If parameter <i>jsp</i> is defined, constructs a URL pointing to the specified JSP page, under the baseURL known by the WikiEngine. + * Any ParamTag name-value pairs contained in the body are added to this URL to provide support for arbitrary JSP calls. * <p> * @since 2.3.50 */ @@ -74,27 +70,25 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { private BodyContent m_bodyContent; - public void initTag() - { + public void initTag() { super.initTag(); m_version = m_cssClass = m_style = m_title = m_target = m_compareToVersion = m_rel = m_jsp = m_ref = m_accesskey = m_templatefile = null; m_context = WikiContext.VIEW; - m_containedParams = new HashMap<String, String>(); + m_containedParams = new HashMap<>(); m_absolute = false; } - public void setTemplatefile( String key ) + public void setTemplatefile( final String key ) { m_templatefile = key; } - public void setAccessKey( String key ) + public void setAccessKey( final String key ) { m_accesskey = key; } - public void setAbsolute( String arg ) - { + public void setAbsolute( final String arg ) { m_overrideAbsolute = true; m_absolute = TextUtil.isPositive( arg ); } @@ -104,57 +98,57 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { return m_version; } - public void setVersion( String arg ) + public void setVersion( final String arg ) { m_version = arg; } - public void setCssClass( String arg ) + public void setCssClass( final String arg ) { m_cssClass = arg; } - public void setStyle( String style ) + public void setStyle( final String style ) { m_style = style; } - public void setTitle( String title ) + public void setTitle( final String title ) { m_title = title; } - public void setTarget( String target ) + public void setTarget( final String target ) { m_target = target; } - public void setTabindex( String tabindex ) + public void setTabindex( final String tabindex ) { m_tabindex = tabindex; } - public void setCompareToVersion( String ver ) + public void setCompareToVersion( final String ver ) { m_compareToVersion = ver; } - public void setRel( String rel ) + public void setRel( final String rel ) { m_rel = rel; } - public void setRef( String ref ) + public void setRef( final String ref ) { m_ref = ref; } - public void setJsp( String jsp ) + public void setJsp( final String jsp ) { m_jsp = jsp; } - public void setContext( String context ) + public void setContext( final String context ) { m_context = context; } @@ -162,13 +156,10 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { /** * Support for ParamTag supplied parameters in body. */ - public void setContainedParameter( String name, String value ) - { - if( name != null ) - { - if( m_containedParams == null ) - { - m_containedParams = new HashMap<String, String>(); + public void setContainedParameter( final String name, final String value ) { + if( name != null ) { + if( m_containedParams == null ) { + m_containedParams = new HashMap<>(); } m_containedParams.put( name, value ); } @@ -176,260 +167,189 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { /** - * This method figures out what kind of an URL should be output. It mirrors heavily - * on JSPWikiMarkupParser.handleHyperlinks(); + * This method figures out what kind of an URL should be output. It mirrors heavily on JSPWikiMarkupParser.handleHyperlinks(); * * @return the URL * @throws ProviderException */ - private String figureOutURL() - throws ProviderException - { + private String figureOutURL() throws ProviderException { String url = null; - WikiEngine engine = m_wikiContext.getEngine(); - - if( m_pageName == null ) - { - WikiPage page = m_wikiContext.getPage(); + final WikiEngine engine = m_wikiContext.getEngine(); - if( page != null ) - { + if( m_pageName == null ) { + final WikiPage page = m_wikiContext.getPage(); + if( page != null ) { m_pageName = page.getName(); } } - if( m_templatefile != null ) - { - String params = addParamsForRecipient( null, m_containedParams ); - String template = engine.getTemplateDir(); - url = engine.getURL( WikiContext.NONE, "templates/"+template+"/"+m_templatefile, params, false ); - } - else if( m_jsp != null ) - { - String params = addParamsForRecipient( null, m_containedParams ); + if( m_templatefile != null ) { + final String params = addParamsForRecipient( null, m_containedParams ); + final String template = engine.getTemplateDir(); + url = engine.getURL( WikiContext.NONE, "templates/"+template+"/"+m_templatefile, params ); + } else if( m_jsp != null ) { + final String params = addParamsForRecipient( null, m_containedParams ); //url = m_wikiContext.getURL( WikiContext.NONE, m_jsp, params ); - url = engine.getURL( WikiContext.NONE, m_jsp, params, m_absolute ); - } - else if( m_ref != null ) - { - int interwikipoint; - - if( new LinkParsingOperations( m_wikiContext ).isExternalLink(m_ref) ) - { + url = engine.getURL( WikiContext.NONE, m_jsp, params ); + } else if( m_ref != null ) { + final int interwikipoint; + if( new LinkParsingOperations( m_wikiContext ).isExternalLink(m_ref) ) { url = m_ref; - } - else if( (interwikipoint = m_ref.indexOf(":")) != -1 ) - { - String extWiki = m_ref.substring( 0, interwikipoint ); - String wikiPage = m_ref.substring( interwikipoint+1 ); + } else if( ( interwikipoint = m_ref.indexOf( ":" ) ) != -1 ) { + final String extWiki = m_ref.substring( 0, interwikipoint ); + final String wikiPage = m_ref.substring( interwikipoint+1 ); url = engine.getInterWikiURL( extWiki ); - - if( url != null ) - { + if( url != null ) { url = TextUtil.replaceString( url, "%s", wikiPage ); } - } - else if( m_ref.startsWith("#") ) - { + } else if( m_ref.startsWith("#") ) { // Local link - } - else if( TextUtil.isNumber(m_ref) ) - { + } else if( TextUtil.isNumber(m_ref) ) { // Reference - } - else - { - int hashMark = -1; + } else { + final int hashMark; - String parms = (m_version != null) ? "version="+getVersion() : null; + final String parms = (m_version != null) ? "version="+getVersion() : null; // // Internal wiki link, but is it an attachment link? // - WikiPage p = engine.getPageManager().getPage( m_pageName ); + final WikiPage p = engine.getPageManager().getPage( m_pageName ); - if( p instanceof Attachment ) - { + if( p instanceof Attachment ) { url = m_wikiContext.getURL( WikiContext.ATTACH, m_pageName ); - } - else if( (hashMark = m_ref.indexOf('#')) != -1 ) - { + } else if( (hashMark = m_ref.indexOf('#')) != -1 ) { // It's an internal Wiki link, but to a named section - String namedSection = m_ref.substring( hashMark+1 ); + final String namedSection = m_ref.substring( hashMark+1 ); String reallink = m_ref.substring( 0, hashMark ); - reallink = MarkupParser.cleanLink( reallink ); String matchedLink; String sectref = ""; - if( (matchedLink = engine.getFinalPageName( reallink )) != null ) - { - sectref = "section-"+engine.encodeName(matchedLink)+"-"+namedSection; - sectref = "#"+sectref.replace('%', '_'); - } - else - { + if( ( matchedLink = engine.getFinalPageName( reallink ) ) != null ) { + sectref = "section-" + engine.encodeName( matchedLink ) + "-" + namedSection; + sectref = "#" + sectref.replace( '%', '_' ); + } else { matchedLink = reallink; } url = makeBasicURL( m_context, matchedLink, parms, m_absolute ) + sectref; - } - else - { - String reallink = MarkupParser.cleanLink( m_ref ); - + } else { + final String reallink = MarkupParser.cleanLink( m_ref ); url = makeBasicURL( m_context, reallink, parms, m_absolute ); } } - } - else if( m_pageName != null && m_pageName.length() > 0 ) - { - WikiPage p = engine.getPageManager().getPage( m_pageName ); + } else if( m_pageName != null && m_pageName.length() > 0 ) { + final WikiPage p = engine.getPageManager().getPage( m_pageName ); String parms = (m_version != null) ? "version="+getVersion() : null; parms = addParamsForRecipient( parms, m_containedParams ); - if( p instanceof Attachment ) - { + if( p instanceof Attachment ) { String ctx = m_context; // Switch context appropriately when attempting to view an // attachment, but don't override the context setting otherwise - if( m_context == null || m_context.equals( WikiContext.VIEW ) ) - { + if( m_context == null || m_context.equals( WikiContext.VIEW ) ) { ctx = WikiContext.ATTACH; } - url = engine.getURL( ctx, m_pageName, parms, m_absolute ); + url = engine.getURL( ctx, m_pageName, parms ); //url = m_wikiContext.getURL( ctx, m_pageName, parms ); - } - else - { + } else { url = makeBasicURL( m_context, m_pageName, parms, m_absolute ); } - } - else - { - String page = engine.getFrontPage(); + } else { + final String page = engine.getFrontPage(); url = makeBasicURL( m_context, page, null, m_absolute ); } return url; } - private String addParamsForRecipient( String addTo, Map< String, String > params ) - { - if( params == null || params.size() == 0 ) - { + private String addParamsForRecipient( final String addTo, final Map< String, String > params ) { + if( params == null || params.size() == 0 ) { return addTo; } - StringBuilder buf = new StringBuilder(); - Iterator< Map.Entry< String, String > > it = params.entrySet().iterator(); - while( it.hasNext() ) - { - Map.Entry< String, String > e = it.next(); - String n = e.getKey(); - String v = e.getValue(); + final StringBuilder buf = new StringBuilder(); + final Iterator< Map.Entry< String, String > > it = params.entrySet().iterator(); + while( it.hasNext() ) { + final Map.Entry< String, String > e = it.next(); + final String n = e.getKey(); + final String v = e.getValue(); buf.append( n ); buf.append( "=" ); buf.append( v ); - if( it.hasNext() ) - { + if( it.hasNext() ) { buf.append( "&" ); } } - if( addTo == null ) - { + if( addTo == null ) { return buf.toString(); } - if( !addTo.endsWith( "&" ) ) - { + if( !addTo.endsWith( "&" ) ) { return addTo + "&" + buf.toString(); } return addTo + buf.toString(); } - private String makeBasicURL( String context, String page, String parms, boolean absolute ) - { - String url; - WikiEngine engine = m_wikiContext.getEngine(); + private String makeBasicURL( final String context, final String page, String parms, final boolean absolute ) { + final WikiEngine engine = m_wikiContext.getEngine(); - if( context.equals( WikiContext.DIFF ) ) - { - int r1 = 0; - int r2 = 0; + if( context.equals( WikiContext.DIFF ) ) { + int r1; + int r2; - if( DiffLinkTag.VER_LATEST.equals(getVersion()) ) - { - WikiPage latest = engine.getPageManager().getPage( page, WikiProvider.LATEST_VERSION ); + if( DiffLinkTag.VER_LATEST.equals( getVersion() ) ) { + final WikiPage latest = engine.getPageManager().getPage( page, WikiProvider.LATEST_VERSION ); r1 = latest.getVersion(); - } - else if( DiffLinkTag.VER_PREVIOUS.equals(getVersion()) ) - { + } else if( DiffLinkTag.VER_PREVIOUS.equals(getVersion()) ) { r1 = m_wikiContext.getPage().getVersion() - 1; - r1 = (r1 < 1 ) ? 1 : r1; - } - else if( DiffLinkTag.VER_CURRENT.equals(getVersion()) ) - { + r1 = Math.max( r1, 1 ); + } else if( DiffLinkTag.VER_CURRENT.equals(getVersion()) ) { r1 = m_wikiContext.getPage().getVersion(); - } - else - { + } else { r1 = Integer.parseInt( getVersion() ); } - if( DiffLinkTag.VER_LATEST.equals(m_compareToVersion) ) - { - WikiPage latest = engine.getPageManager().getPage( page, WikiProvider.LATEST_VERSION ); + if( DiffLinkTag.VER_LATEST.equals(m_compareToVersion) ) { + final WikiPage latest = engine.getPageManager().getPage( page, WikiProvider.LATEST_VERSION ); r2 = latest.getVersion(); - } - else if( DiffLinkTag.VER_PREVIOUS.equals(m_compareToVersion) ) - { + } else if( DiffLinkTag.VER_PREVIOUS.equals(m_compareToVersion) ) { r2 = m_wikiContext.getPage().getVersion() - 1; - r2 = (r2 < 1 ) ? 1 : r2; - } - else if( DiffLinkTag.VER_CURRENT.equals(m_compareToVersion) ) - { + r2 = Math.max( r2, 1 ); + } else if( DiffLinkTag.VER_CURRENT.equals(m_compareToVersion) ) { r2 = m_wikiContext.getPage().getVersion(); - } - else - { + } else { r2 = Integer.parseInt( m_compareToVersion ); } parms = "r1="+r1+"&r2="+r2; } - //url = m_wikiContext.getURL( m_context, m_pageName, parms ); - url = engine.getURL( m_context, m_pageName, parms, m_absolute ); - - return url; + return engine.getURL( m_context, m_pageName, parms ); } - public int doWikiStartTag() throws Exception - { + public int doWikiStartTag() throws Exception { return EVAL_BODY_BUFFERED; } - public int doEndTag() - { - try - { - WikiEngine engine = m_wikiContext.getEngine(); + public int doEndTag() { + try { + final WikiEngine engine = m_wikiContext.getEngine(); - if( !m_overrideAbsolute ) - { + if( !m_overrideAbsolute ) { // TODO: see WikiContext.getURL(); this check needs to be specified somewhere. m_absolute = "absolute".equals( engine.getWikiProperties().getProperty( WikiEngine.PROP_REFSTYLE ) ); } - JspWriter out = pageContext.getOut(); - String url = figureOutURL(); + final JspWriter out = pageContext.getOut(); + final String url = figureOutURL(); - StringBuilder sb = new StringBuilder( 20 ); + final StringBuilder sb = new StringBuilder( 20 ); sb.append( (m_cssClass != null) ? "class=\""+m_cssClass+"\" " : "" ); sb.append( (m_style != null) ? "style=\""+m_style+"\" " : "" ); @@ -439,13 +359,11 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { sb.append( (m_accesskey != null) ? "accesskey=\""+m_accesskey+"\" " : "" ); sb.append( (m_tabindex != null) ? "tabindex=\""+m_tabindex+"\" " : "" ); - if( engine.getPageManager().getPage( m_pageName ) instanceof Attachment ) - { + if( engine.getPageManager().getPage( m_pageName ) instanceof Attachment ) { sb.append( engine.getAttachmentManager().forceDownload( m_pageName ) ? "download " : "" ); } - switch( m_format ) - { + switch( m_format ) { case URL: out.print( url ); break; @@ -455,19 +373,15 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { break; } - // Add any explicit body content. This is not the intended use - // of LinkTag, but happens to be the way it has worked previously. - if( m_bodyContent != null ) - { - String linktext = m_bodyContent.getString().trim(); + // Add any explicit body content. This is not the intended use of LinkTag, but happens to be the way it has worked previously. + if( m_bodyContent != null ) { + final String linktext = m_bodyContent.getString().trim(); out.write( linktext ); } // Finish off by closing opened anchor if( m_format == ANCHOR ) out.print("</a>"); - } - catch( Exception e ) - { + } catch( final Exception e ) { // Yes, we want to catch all exceptions here, including RuntimeExceptions log.error( "Tag failed", e ); } @@ -475,12 +389,12 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { return EVAL_PAGE; } - public void setBodyContent( BodyContent bc ) + public void setBodyContent( final BodyContent bc ) { m_bodyContent = bc; } - public void doInitBody() throws JspException - { + public void doInitBody() { } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tasks/auth/SaveUserProfileTask.java b/jspwiki-main/src/main/java/org/apache/wiki/tasks/auth/SaveUserProfileTask.java index 7aee63c..3ec7cb3 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tasks/auth/SaveUserProfileTask.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tasks/auth/SaveUserProfileTask.java @@ -65,7 +65,7 @@ public class SaveUserProfileTask extends Task { profile.getLoginName(), profile.getFullname(), profile.getEmail(), - m_engine.getURL( WikiContext.LOGIN, null, null, true ) ); + m_engine.getURL( WikiContext.LOGIN, null, null ) ); MailUtil.sendMessage( m_engine.getWikiProperties(), to, subject, content); } catch ( final AddressException e) { LOG.debug( e.getMessage(), e ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/CommandResolver.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/CommandResolver.java index 64f965e..0e68e70 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/ui/CommandResolver.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/CommandResolver.java @@ -271,8 +271,7 @@ public final class CommandResolver { public String getSpecialPageReference( final String page ) { final Command command = m_specialPages.get( page ); if ( command != null ) { - return m_engine.getURLConstructor() - .makeURL( command.getRequestContext(), command.getURLPattern(), true, null ); + return m_engine.getURLConstructor().makeURL( command.getRequestContext(), command.getURLPattern(), null ); } return null; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java index bf2a206..c40db82 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/xmlrpc/MetaWeblogHandler.java @@ -110,7 +110,7 @@ public class MetaWeblogHandler implements WikiRPCHandler { } private String getURL( final String page ) { - return m_context.getEngine().getURL( WikiContext.VIEW, page,null, true ); // Force absolute urls + return m_context.getEngine().getURL( WikiContext.VIEW, page,null ); } /** @@ -259,7 +259,7 @@ public class MetaWeblogHandler implements WikiRPCHandler { att.setAuthor( username ); attmgr.storeAttachment( att, new ByteArrayInputStream( data ) ); - url = engine.getURL( WikiContext.ATTACH, att.getName(), null, true ); + url = engine.getURL( WikiContext.ATTACH, att.getName(), null ); } catch( final Exception e ) { log.error( "Failed to upload attachment", e ); throw new XmlRpcException( 0, "Failed to upload media object: "+e.getMessage() ); diff --git a/jspwiki-main/src/test/java/org/apache/wiki/search/SearchManagerTest.java b/jspwiki-main/src/test/java/org/apache/wiki/search/SearchManagerTest.java index ecc3b2a..cfed1dd 100644 --- a/jspwiki-main/src/test/java/org/apache/wiki/search/SearchManagerTest.java +++ b/jspwiki-main/src/test/java/org/apache/wiki/search/SearchManagerTest.java @@ -131,7 +131,7 @@ public class SearchManagerTest { Assertions.assertEquals( 0, res.size(), "empty results" ); - res = m_mgr.findPages( "Babylon", ctx ); + Awaitility.await( "testSimpleSearch3" ).until( findsResultsFor( res,"Babylon" ) ); Assertions.assertNotNull( res, "null result" ); Assertions.assertEquals( 1, res.size(), "no pages" ); Assertions.assertEquals( "TestPage", res.iterator().next().getPage().getName(), "page" );
