Author: rfscholte
Date: Thu Dec 15 21:22:49 2011
New Revision: 1214960

URL: http://svn.apache.org/viewvc?rev=1214960&view=rev
Log:
revert changes of rev 1214470, some parts of site.xml inheritence must be 
interpolated immediately, other parts at the end. Requires another approach.

Removed:
    
maven/shared/trunk/maven-doxia-tools/src/test/resources/unit/interpolation-child-test/
    
maven/shared/trunk/maven-doxia-tools/src/test/resources/unit/interpolation-parent-test/
Modified:
    
maven/shared/trunk/maven-doxia-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
    
maven/shared/trunk/maven-doxia-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java

Modified: 
maven/shared/trunk/maven-doxia-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-doxia-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java?rev=1214960&r1=1214959&r2=1214960&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-doxia-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
 (original)
+++ 
maven/shared/trunk/maven-doxia-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
 Thu Dec 15 21:22:49 2011
@@ -23,7 +23,6 @@ import java.io.File;
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
-import java.io.StringWriter;
 
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -55,7 +54,6 @@ import org.apache.maven.doxia.site.decor
 import org.apache.maven.doxia.site.decoration.Skin;
 import 
org.apache.maven.doxia.site.decoration.inheritance.DecorationModelInheritanceAssembler;
 import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
-import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Writer;
 import org.apache.maven.model.DistributionManagement;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Site;
@@ -461,9 +459,10 @@ public class DefaultSiteTool
             getDecorationModel( project, parentProject, reactorProjects, 
localRepository, repositories, siteDirectory,
                                 llocale, props, inputEncoding, outputEncoding 
);
 
-        String siteDescriptorContent;
         if ( decorationModel == null )
         {
+            String siteDescriptorContent;
+
             try
             {
                 // Note the default is not a super class - it is used when 
nothing else is found
@@ -474,24 +473,12 @@ public class DefaultSiteTool
             {
                 throw new SiteToolException( "Error reading default site 
descriptor: " + e.getMessage(), e );
             }
+
+            siteDescriptorContent = getInterpolatedSiteDescriptorContent( 
props, project, siteDescriptorContent,
+                                                                          
inputEncoding, outputEncoding );
+
+            decorationModel = readDecorationModel( siteDescriptorContent );
         }
-        else
-        {
-            try
-            {
-                StringWriter writer = new StringWriter();
-                new DecorationXpp3Writer().write( writer, decorationModel );
-                siteDescriptorContent = writer.toString();
-            }
-            catch ( IOException e )
-            {
-                throw new SiteToolException( "The site descriptor cannot be 
parsed!", e );
-            }
-        }
-        
-        siteDescriptorContent = getInterpolatedSiteDescriptorContent( props, 
project, siteDescriptorContent,
-                                                                      
inputEncoding, outputEncoding );
-        decorationModel = readDecorationModel( siteDescriptorContent );
 
         if ( parentProject != null )
         {
@@ -1173,15 +1160,16 @@ public class DefaultSiteTool
             siteDescriptor = getSiteDescriptorFromBasedir( siteDirectory, 
project.getBasedir(), locale );
         }
 
-        DecorationModel decoration = null;
+        String siteDescriptorContent = null;
+        long siteDescriptorLastModified = 0L;
         try
         {
             if ( siteDescriptor != null && siteDescriptor.exists() )
             {
                 getLogger().debug( "Reading site descriptor from " + 
siteDescriptor );
                 Reader siteDescriptorReader = ReaderFactory.newXmlReader( 
siteDescriptor );
-                decoration = readDecorationModel( siteDescriptorReader );
-                decoration.setLastModified( siteDescriptor.lastModified() );
+                siteDescriptorContent = IOUtil.toString( siteDescriptorReader 
);
+                siteDescriptorLastModified = siteDescriptor.lastModified();
             }
         }
         catch ( IOException e )
@@ -1189,6 +1177,16 @@ public class DefaultSiteTool
             throw new SiteToolException( "The site descriptor cannot be 
read!", e );
         }
 
+        DecorationModel decoration = null;
+        if ( siteDescriptorContent != null )
+        {
+            siteDescriptorContent = getInterpolatedSiteDescriptorContent( 
props, project, siteDescriptorContent,
+                                                                          
inputEncoding, outputEncoding );
+
+            decoration = readDecorationModel( siteDescriptorContent );
+            decoration.setLastModified( siteDescriptorLastModified );
+        }
+
         if ( parentProject != null )
         {
             getLogger().debug( "Parent project loaded ..." );
@@ -1235,21 +1233,10 @@ public class DefaultSiteTool
     private DecorationModel readDecorationModel( String siteDescriptorContent )
         throws SiteToolException
     {
-        return readDecorationModel( new StringReader( siteDescriptorContent ) 
);
-    }
-    
-    /**
-     * @param siteDescriptorContent not null
-     * @return the decoration model object
-     * @throws SiteToolException if any
-     */
-    private DecorationModel readDecorationModel( Reader siteDescriptorReader )
-        throws SiteToolException
-    {
         DecorationModel decoration;
         try
         {
-            decoration = new DecorationXpp3Reader().read( siteDescriptorReader 
);
+            decoration = new DecorationXpp3Reader().read( new StringReader( 
siteDescriptorContent ) );
         }
         catch ( XmlPullParserException e )
         {

Modified: 
maven/shared/trunk/maven-doxia-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-doxia-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java?rev=1214960&r1=1214959&r2=1214960&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-doxia-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
 (original)
+++ 
maven/shared/trunk/maven-doxia-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
 Thu Dec 15 21:22:49 2011
@@ -25,23 +25,17 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.doxia.site.decoration.DecorationModel;
-import org.apache.maven.doxia.site.decoration.LinkItem;
 import org.apache.maven.doxia.site.decoration.Skin;
 import org.apache.maven.doxia.tools.stubs.SiteToolMavenProjectStub;
-import org.apache.maven.plugin.testing.stubs.ArtifactStub;
-import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.project.MavenProject;
 
 import org.codehaus.plexus.PlexusTestCase;
 
-import edu.emory.mathcs.backport.java.util.Collections;
-
 /**
  * @author <a href="mailto:vincent.sive...@gmail.com";>Vincent Siveton</a>
  * @version $Id$
@@ -295,38 +289,5 @@ public class SiteToolTest
                                      siteDirectory, Locale.getDefault(), 
"UTF-8", "UTF-8" );
         assertNotNull( model );
     }
-    
-    // MSHARED-217
-    public void testMultiModuleInterpolation()
-        throws Exception
-    {
-        SiteTool tool = (SiteTool) lookup( SiteTool.ROLE );
-        assertNotNull( tool );
-
-        MavenProjectStub parentProject = new SiteToolMavenProjectStub( 
"interpolation-parent-test" );
-        parentProject.setGroupId( "org.apache.maven.shared.its" );
-        parentProject.setArtifactId( "mshared-217-parent" );
-        parentProject.setVersion( "1.0-SNAPSHOT" );
-        parentProject.setBasedir( null ); // get it from repo
-        parentProject.setName( "MSHARED-217 Parent" );
-        String siteDirectory = "src/site";
-        
-        MavenProjectStub childProject = new SiteToolMavenProjectStub( 
"interpolation-child-test" );
-        childProject.setParent( parentProject );
-        childProject.setGroupId( "org.apache.maven.shared.its" );
-        childProject.setArtifactId( "mshared-217-child" );
-        childProject.setVersion( "1.0-SNAPSHOT" );
-        childProject.setBasedir( null ); // get it from repo
-        childProject.setName( "MSHARED-217 Child" );
-
-        List<MavenProject> reactorProjects = Collections.singletonList( 
parentProject );
-
-        DecorationModel model =
-            tool.getDecorationModel( childProject, reactorProjects, 
getLocalRepo(),
-                                     
childProject.getRemoteArtifactRepositories(), siteDirectory, 
Locale.getDefault(),
-                                     "ISO-8859-1", "ISO-8859-1" );
-        assertNotNull( model );
-        assertEquals( "MSHARED-217 Child", model.getName() );
-    }
 
 }


Reply via email to