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>