You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/10/30 14:48:28 UTC

svn commit: r1767162 - in /maven/doxia/doxia-sitetools/trunk: ./ doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/ doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/

Author: hboutemy
Date: Sun Oct 30 14:48:28 2016
New Revision: 1767162

URL: http://svn.apache.org/viewvc?rev=1767162&view=rev
Log:
[DOXIASITETOOLS-170] use skin artifact instead of File to improve error messages

Modified:
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
    maven/doxia/doxia-sitetools/trunk/pom.xml

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=1767162&r1=1767161&r2=1767162&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Sun Oct 30 14:48:28 2016
@@ -55,6 +55,7 @@ import java.util.zip.ZipFile;
 
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.SystemUtils;
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
@@ -701,7 +702,7 @@ public class DefaultSiteRenderer
         try
         {
             Template template;
-            File skin = siteRenderingContext.getSkinJarFile();
+            Artifact skin = siteRenderingContext.getSkin();
 
             try
             {
@@ -713,18 +714,15 @@ public class DefaultSiteRenderer
             }
             catch ( ParseErrorException pee )
             {
-                throw new RendererException( "Velocity parsing error while reading the site decoration template '"
-                    + templateName + "'" + ( ( skin == null ) ? "" : ( " from " + skin.getName() + " skin" ) ), pee );
+                throw new RendererException( "Velocity parsing error while reading the site decoration template "
+                    + ( ( skin == null ) ? ( "'" + templateName + "'" ) : ( "from " + skin.getId() + " skin" ) ),
+                                             pee );
             }
             catch ( ResourceNotFoundException rnfe )
             {
-                throw new RendererException( "Could not find the site decoration template '" + templateName + "'"
-                    + ( ( skin == null ) ? "" : ( " in " + skin.getName() + " skin" ) ), rnfe );
-            }
-            catch ( VelocityException ve )
-            {
-                throw new RendererException( "Velocity error while getting site decoration template"
-                    + ( ( skin == null ) ? "" : ( " from " + skin.getName() + " skin" ) ), ve );
+                throw new RendererException( "Could not find the site decoration template "
+                    + ( ( skin == null ) ? ( "'" + templateName + "'" ) : ( "from " + skin.getId() + " skin" ) ),
+                                             rnfe );
             }
 
             try
@@ -767,16 +765,16 @@ public class DefaultSiteRenderer
     }
 
     /** {@inheritDoc} */
-    public SiteRenderingContext createContextForSkin( File skinFile, Map<String, ?> attributes,
+    public SiteRenderingContext createContextForSkin( Artifact skin, Map<String, ?> attributes,
                                                       DecorationModel decoration, String defaultWindowTitle,
                                                       Locale locale )
             throws IOException, RendererException
     {
         SiteRenderingContext context = createSiteRenderingContext( attributes, decoration, defaultWindowTitle, locale );
 
-        context.setSkinJarFile( skinFile );
+        context.setSkin( skin );
 
-        ZipFile zipFile = getZipFile( skinFile );
+        ZipFile zipFile = getZipFile( skin.getFile() );
         InputStream in = null;
 
         try
@@ -784,7 +782,7 @@ public class DefaultSiteRenderer
             if ( zipFile.getEntry( SKIN_TEMPLATE_LOCATION ) != null )
             {
                 context.setTemplateName( SKIN_TEMPLATE_LOCATION );
-                context.setTemplateClassLoader( new URLClassLoader( new URL[]{skinFile.toURI().toURL()} ) );
+                context.setTemplateClassLoader( new URLClassLoader( new URL[]{skin.getFile().toURI().toURL()} ) );
             }
             else
             {
@@ -818,7 +816,7 @@ public class DefaultSiteRenderer
         catch ( XmlPullParserException e )
         {
             throw new RendererException( "Failed to parse " + SkinModel.SKIN_DESCRIPTOR_LOCATION
-                + " skin descriptor from " + skinFile, e );
+                + " skin descriptor from " + skin.getId() + " skin", e );
         }
         finally
         {
@@ -900,9 +898,9 @@ public class DefaultSiteRenderer
     public void copyResources( SiteRenderingContext siteRenderingContext, File outputDirectory )
         throws IOException
     {
-        if ( siteRenderingContext.getSkinJarFile() != null )
+        if ( siteRenderingContext.getSkin() != null )
         {
-            ZipFile file = getZipFile( siteRenderingContext.getSkinJarFile() );
+            ZipFile file = getZipFile( siteRenderingContext.getSkin().getFile() );
 
             try
             {

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java?rev=1767162&r1=1767161&r2=1767162&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/Renderer.java Sun Oct 30 14:48:28 2016
@@ -29,6 +29,7 @@ import java.util.Collection;
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.doxia.site.decoration.DecorationModel;
 import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
 
@@ -73,15 +74,16 @@ public interface Renderer
     /**
      * Create a Site Rendering Context for a site using a skin.
      *
-     * @param skinFile
+     * @param skin
      * @param attributes
      * @param decoration
      * @param defaultWindowTitle
      * @param locale
      * @return a SiteRenderingContext.
      * @throws java.io.IOException if it bombs.
+     * @since 1.7.3 was previously with skin as File instead of Artifact
      */
-    SiteRenderingContext createContextForSkin( File skinFile, Map<String, ?> attributes, DecorationModel decoration,
+    SiteRenderingContext createContextForSkin( Artifact skin, Map<String, ?> attributes, DecorationModel decoration,
                                                String defaultWindowTitle, Locale locale )
         throws RendererException, IOException;
 

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java?rev=1767162&r1=1767161&r2=1767162&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java Sun Oct 30 14:48:28 2016
@@ -27,6 +27,7 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.doxia.site.decoration.DecorationModel;
 import org.apache.maven.doxia.site.skin.SkinModel;
 import org.codehaus.plexus.util.ReaderFactory;
@@ -58,7 +59,7 @@ public class SiteRenderingContext
 
     private String defaultWindowTitle;
 
-    private File skinJarFile;
+    private Artifact skin;
 
     private SkinModel skinModel;
 
@@ -231,23 +232,23 @@ public class SiteRenderingContext
     }
 
     /**
-     * <p>Getter for the field <code>skinJarFile</code>.</p>
+     * <p>Getter for the field <code>skin</code>.</p>
      *
-     * @return a {@link java.io.File} object.
+     * @return a {@link Artifact} object.
      */
-    public File getSkinJarFile()
+    public Artifact getSkin()
     {
-        return skinJarFile;
+        return skin;
     }
 
     /**
      * <p>Setter for the field <code>skinJarFile</code>.</p>
      *
-     * @param skinJarFile a {@link java.io.File} object.
+     * @param skin an {@link Artifact} object.
      */
-    public void setSkinJarFile( File skinJarFile )
+    public void setSkin( Artifact skin )
     {
-        this.skinJarFile = skinJarFile;
+        this.skin = skin;
     }
 
     /**

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java?rev=1767162&r1=1767161&r2=1767162&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java Sun Oct 30 14:48:28 2016
@@ -43,6 +43,8 @@ import java.util.jar.JarOutputStream;
 import java.util.zip.ZipEntry;
 
 import org.apache.commons.io.IOUtils;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.doxia.site.decoration.DecorationModel;
 import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
 import org.apache.maven.doxia.siterenderer.sink.SiteRendererSink;
@@ -277,8 +279,10 @@ public class DefaultSiteRendererTest
          */
         attributes.put( "doxiaSiteRendererVersion", "1.7-bogus" );
 
+        Artifact skin = new DefaultArtifact( "org.group", "artifact", "1.1", null, "jar", "", null );
+        skin.setFile( skinFile );
         SiteRenderingContext siteRenderingContext =
-            renderer.createContextForSkin( skinFile, attributes, new DecorationModel(), "defaultWindowTitle",
+            renderer.createContextForSkin( skin, attributes, new DecorationModel(), "defaultWindowTitle",
                                            Locale.ENGLISH );
         RenderingContext context = new RenderingContext( new File( "" ), "document.html" );
         SiteRendererSink sink = new SiteRendererSink( context );

Modified: maven/doxia/doxia-sitetools/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/pom.xml?rev=1767162&r1=1767161&r2=1767162&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/pom.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/pom.xml Sun Oct 30 14:48:28 2016
@@ -257,6 +257,8 @@ under the License.
                 <!-- DOXIA-511 -->
                 <exclude>org/apache/maven/doxia/docrenderer/AbstractDocumentRenderer</exclude>
                 <exclude>org/apache/maven/doxia/docrenderer/itext/AbstractITextRender</exclude>
+                <!-- DOXIASITETOOLS-170 -->
+                <exlcude>org/apache/maven/doxia/siterenderer/SiteRenderingContext</exlcude>
               </excludes>
             </configuration>
           </execution>