On Oct 10, 2009, at 7:16 AM, Caleb James DeLisle wrote:

> Hey Sergiu,
> line 58 is failing checkstyle for being 2 characters too long.
>
>     * @return HTML code linking to the pulled resource (eg: <script  
> type="text/javascript" src="/this/url.js"></script>)

and you could/should use {...@code <code here>} I think otherwise the  
script element will get evaluated in the javadoc.

Thanks
-Vincent

>
> Thanks again,
> Caleb
>
> sdumitriu (SVN) wrote:
>> Author: sdumitriu
>> Date: 2009-10-10 01:04:21 +0200 (Sat, 10 Oct 2009)
>> New Revision: 24354
>>
>> Added:
>>   platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/AbstractResourceSkinExtensionPlugin.java
>> Modified:
>>   platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/CssResourceSkinExtensionPlugin.java
>>   platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/JsResourceSkinExtensionPlugin.java
>> Log:
>> XSKINX-29: Refactor duplicate code
>> Refactor JsResourceSkinExtensionPlugin and  
>> CssResourceSkinExtensionPlugin.
>> Patch from Caleb James DeLisle, applied with several changes.
>>
>>
>> Added: platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/ 
>> xwiki/plugin/skinx/AbstractResourceSkinExtensionPlugin.java
>> ===================================================================
>> --- platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/ 
>> AbstractResourceSkinExtensionPlugin.java                              
>> (rev 0)
>> +++ platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/AbstractResourceSkinExtensionPlugin.java        2009-10-09  
>> 23:04:21 UTC (rev 24354)
>> @@ -0,0 +1,102 @@
>> +/*
>> + * See the NOTICE file distributed with this work for additional
>> + * information regarding copyright ownership.
>> + *
>> + * This is free software; you can redistribute it and/or modify it
>> + * under the terms of the GNU Lesser General Public License as
>> + * published by the Free Software Foundation; either version 2.1 of
>> + * the License, or (at your option) any later version.
>> + *
>> + * This software is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>> + * Lesser General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU Lesser General Public
>> + * License along with this software; if not, write to the Free
>> + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,  
>> MA
>> + * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
>> + */
>> +package com.xpn.xwiki.plugin.skinx;
>> +
>> +import java.util.Collections;
>> +import java.util.Set;
>> +
>> +import com.xpn.xwiki.XWikiContext;
>> +import com.xpn.xwiki.XWikiException;
>> +
>> +/**
>> + * Skin Extension plugin to use extension files from JAR resources.
>> + * @version $Id$
>> + */
>> +public abstract class AbstractResourceSkinExtensionPlugin extends  
>> AbstractSkinExtensionPlugin
>> +{
>> +    /**
>> +     * XWiki plugin constructor.
>> +     *
>> +     * @param name The name of the plugin, which can be used for  
>> retrieving the plugin API from velocity. Unused.
>> +     * @param className The canonical classname of the plugin.  
>> Unused.
>> +     * @param context The current request context.
>> +     * @see  
>> com 
>> .xpn 
>> .xwiki 
>> .plugin 
>> .XWikiDefaultPlugin 
>> #XWikiDefaultPlugin(String,String,com.xpn.xwiki.XWikiContext)
>> +     */
>> +    public AbstractResourceSkinExtensionPlugin(String name, String  
>> className, XWikiContext context)
>> +    {
>> +        super(name, className, context);
>> +    }
>> +
>> +    /**
>> +     * Get the action which the url should specify for calling  
>> this resource.
>> +     *
>> +     * @return String Action name.
>> +     */
>> +    protected abstract String getAction();
>> +
>> +    /**
>> +     * Takes a URL string and outputs a link which will cause the  
>> browser to load the url.
>> +     *
>> +     * @param url String representation of the url to load (eg: "/ 
>> this/url.js")
>> +     * @return HTML code linking to the pulled resource (eg:  
>> <script type="text/javascript" src="/this/url.js"></script>)
>> +     */
>> +    protected abstract String generateLink(String url);
>> +
>> +    /**
>> +     * {...@inheritdoc}
>> +     *
>> +     * @see AbstractSkinExtensionPlugin#getLink(String,  
>> XWikiContext)
>> +     */
>> +    public String getLink(String resourceName, XWikiContext context)
>> +    {
>> +        // If the current user has access to Main.WebHome, we will  
>> use this document in the URL
>> +        // to serve the resource. This way, the resource can be  
>> efficiently cached, since it has a
>> +        // common URL for any page.
>> +        try {
>> +            String page = context.getWiki().getDefaultWeb(context)  
>> + "." + context.getWiki().getDefaultPage(context);
>> +            if (! 
>> context.getWiki().getRightService().hasAccessLevel("view",  
>> context.getUser(), page, context)) {
>> +                page = context.getDoc().getFullName();
>> +            }
>> +            return generateLink(context.getWiki().getURL(page,  
>> getAction(),
>> +                        "resource=" + resourceName +  
>> parametersAsQueryString(resourceName, context), context));
>> +        } catch (XWikiException e) {
>> +            // Do nothing here; we can't access the wiki, so don't  
>> link to this resource at all.
>> +            return "";
>> +        }
>> +    }
>> +
>> +    /**
>> +     * {...@inheritdoc}
>> +     * <p>
>> +     * There is no support for always used resource-based  
>> extensions yet.
>> +     * </p>
>> +     *
>> +     * @see  
>> AbstractSkinExtensionPlugin#getAlwaysUsedExtensions(XWikiContext)
>> +     */
>> +    @Override
>> +    public Set<String> getAlwaysUsedExtensions(XWikiContext context)
>> +    {
>> +        // There is no mean to define an always used extension for  
>> something else than a document extension now,
>> +        // so for resources-based extensions, we return an emtpy  
>> set.
>> +        // An idea for the future could be to have an API for  
>> plugins and components to register always used resources
>> +        // extensions.
>> +        return Collections.emptySet();
>> +    }
>> +}
>>
>>
>> Property changes on: platform/xwiki-plugins/trunk/skinx/src/main/ 
>> java/com/xpn/xwiki/plugin/skinx/ 
>> AbstractResourceSkinExtensionPlugin.java
>> ___________________________________________________________________
>> Name: svn:keywords
>>   + Id
>> Name: svn:eol-style
>>   + native
>>
>> Modified: platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/ 
>> xwiki/plugin/skinx/CssResourceSkinExtensionPlugin.java
>> ===================================================================
>> --- platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/CssResourceSkinExtensionPlugin.java     2009-10-09  
>> 18:28:50 UTC (rev 24353)
>> +++ platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/CssResourceSkinExtensionPlugin.java     2009-10-09  
>> 23:04:21 UTC (rev 24354)
>> @@ -20,11 +20,7 @@
>>  */
>> package com.xpn.xwiki.plugin.skinx;
>>
>> -import java.util.Collections;
>> -import java.util.Set;
>> -
>> import com.xpn.xwiki.XWikiContext;
>> -import com.xpn.xwiki.XWikiException;
>>
>> /**
>>  * Skin Extension plugin to use css files from JAR resources.
>> @@ -32,7 +28,7 @@
>>  * @version $Id$
>>  * @since 1.3
>>  */
>> -public class CssResourceSkinExtensionPlugin extends  
>> AbstractSkinExtensionPlugin
>> +public class CssResourceSkinExtensionPlugin extends  
>> AbstractResourceSkinExtensionPlugin
>> {
>>     /**
>>      * XWiki plugin constructor.
>> @@ -45,7 +41,6 @@
>>     public CssResourceSkinExtensionPlugin(String name, String  
>> className, XWikiContext context)
>>     {
>>         super(name, className, context);
>> -        init(context);
>>     }
>>
>>     /**
>> @@ -61,47 +56,22 @@
>>
>>     /**
>>      * {...@inheritdoc}
>> -     *
>> -     * @see AbstractSkinExtensionPlugin#getLink(String,  
>> XWikiContext)
>> +     *
>> +     * @see AbstractSkinExtensionPlugin#getAction()
>>      */
>> -    @Override
>> -    public String getLink(String documentName, XWikiContext context)
>> +    protected String getAction()
>>     {
>> -        String result = "";
>> -        // If the current user has access to Main.WebHome, we will  
>> use this document in the URL
>> -        // to serve the css resource. This way, the resource can  
>> be efficiently cached, since it has a
>> -        // common URL for any page.
>> -        try {
>> -            String page = context.getWiki().getDefaultWeb(context)  
>> + "." + context.getWiki().getDefaultPage(context);
>> -            if (! 
>> context.getWiki().getRightService().hasAccessLevel("view",  
>> context.getUser(), page, context)) {
>> -                page = context.getDoc().getFullName();
>> -            }
>> -            String url =
>> -                context.getWiki().getURL(page, "ssx",
>> -                    "resource=" + documentName +  
>> parametersAsQueryString(documentName, context), context);
>> -            result = "<link rel='stylesheet' type='text/css'  
>> href='" + url + "'/>";
>> -        } catch (XWikiException e) {
>> -            // Do nothing here; we can't access the wiki, so don't  
>> link to this resource at all.
>> -        }
>> -        return result;
>> +        return "ssx";
>>     }
>>
>>     /**
>>      * {...@inheritdoc}
>> -     * <p>
>> -     * There is no support for always used resource-based  
>> extensions yet.
>> -     * </p>
>> -     *
>> -     * @see  
>> AbstractSkinExtensionPlugin#getAlwaysUsedExtensions(XWikiContext)
>> +     *
>> +     * @see AbstractSkinExtensionPlugin#generateLink()
>>      */
>> -    @Override
>> -    public Set<String> getAlwaysUsedExtensions(XWikiContext context)
>> +    protected String generateLink(String url)
>>     {
>> -        // There is no mean to define an always used extension for  
>> something else than a document extension now,
>> -        // so for resources-based extensions, we return an emtpy  
>> set.
>> -        // An idea for the future could be to have an API for  
>> plugins and components to register always used resources
>> -        // extensions.
>> -        return Collections.emptySet();
>> +        return "<link rel='stylesheet' type='text/css' href='" +  
>> url + "'/>\n";
>>     }
>>
>>     /**
>>
>> Modified: platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/ 
>> xwiki/plugin/skinx/JsResourceSkinExtensionPlugin.java
>> ===================================================================
>> --- platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/JsResourceSkinExtensionPlugin.java      2009-10-09 18:28:50  
>> UTC (rev 24353)
>> +++ platform/xwiki-plugins/trunk/skinx/src/main/java/com/xpn/xwiki/ 
>> plugin/skinx/JsResourceSkinExtensionPlugin.java      2009-10-09 23:04:21  
>> UTC (rev 24354)
>> @@ -20,11 +20,7 @@
>>  */
>> package com.xpn.xwiki.plugin.skinx;
>>
>> -import java.util.Collections;
>> -import java.util.Set;
>> -
>> import com.xpn.xwiki.XWikiContext;
>> -import com.xpn.xwiki.XWikiException;
>>
>> /**
>>  * Skin Extension plugin that allows pulling javascript files from  
>> JAR resources.
>> @@ -32,7 +28,7 @@
>>  * @version $Id$
>>  * @since 1.3
>>  */
>> -public class JsResourceSkinExtensionPlugin extends  
>> AbstractSkinExtensionPlugin
>> +public class JsResourceSkinExtensionPlugin extends  
>> AbstractResourceSkinExtensionPlugin
>> {
>>     /**
>>      * XWiki plugin constructor.
>> @@ -44,57 +40,42 @@
>>      */
>>     public JsResourceSkinExtensionPlugin(String name, String  
>> className, XWikiContext context)
>>     {
>> -        super("jsrx", className, context);
>> -        init(context);
>> +        super(name, className, context);
>>     }
>>
>>     /**
>>      * {...@inheritdoc}
>>      *
>> -     * @see AbstractSkinExtensionPlugin#getLink(String,  
>> XWikiContext)
>> +     * @see com.xpn.xwiki.plugin.XWikiDefaultPlugin#getName()
>>      */
>>     @Override
>> -    public String getLink(String documentName, XWikiContext context)
>> +    public String getName()
>>     {
>> -        String result = "";
>> -        // If the current user has access to Main.WebHome, we will  
>> use this document in the URL
>> -        // to serve the js resource. This way, the resource can be  
>> efficiently cached, since it has a
>> -        // common URL for any page.
>> -        try {
>> -            String page = context.getWiki().getDefaultWeb(context)  
>> + "." + context.getWiki().getDefaultPage(context);
>> -            if (! 
>> context.getWiki().getRightService().hasAccessLevel("view",  
>> context.getUser(), page, context)) {
>> -                page = context.getDoc().getFullName();
>> -            }
>> -            String url =
>> -                context.getWiki().getURL(page, "jsx",
>> -                    "resource=" + documentName +  
>> parametersAsQueryString(documentName, context), context);
>> -            result = "<script type=\"text/javascript\" src=\"" +  
>> url + "\"></script>";
>> -        } catch (XWikiException e) {
>> -            // Do nothing here; we can't access the wiki, so don't  
>> link to this resource at all.
>> -        }
>> -        return result;
>> +        return "jsrx";
>>     }
>>
>>     /**
>>      * {...@inheritdoc}
>> -     * <p>
>> -     * There is no support for always used resource-based  
>> extensions yet.
>> -     * </p>
>> -     *
>> -     * @see  
>> AbstractSkinExtensionPlugin#getAlwaysUsedExtensions(XWikiContext)
>> +     *
>> +     * @see AbstractSkinExtensionPlugin#getAction()
>>      */
>> -    @Override
>> -    public Set<String> getAlwaysUsedExtensions(XWikiContext context)
>> +    protected String getAction()
>>     {
>> -        // There is no mean to define an always used extension for  
>> something else than a document extension now,
>> -        // so for resources-based extensions, we return an emtpy  
>> set.
>> -        // An idea for the future could be to have an API for  
>> plugins and components to register always used resources
>> -        // extensions.
>> -        return Collections.emptySet();
>> +        return "jsx";
>>     }
>>
>>     /**
>>      * {...@inheritdoc}
>> +     *
>> +     * @see AbstractSkinExtensionPlugin#generateLink()
>> +     */
>> +    protected String generateLink(String url)
>> +    {
>> +        return "<script type=\"text/javascript\" src=\"" + url +  
>> "\"></script>\n";
>> +    }
>> +
>> +    /**
>> +     * {...@inheritdoc}
>>      * <p>
>>      * We must override this method since the plugin manager only  
>> calls it for classes that provide their own
>>      * implementation, and not an inherited one.
>>
>> _______________________________________________
>> notifications mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/notifications
>>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to