You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by ap...@apache.org on 2010/06/20 21:37:55 UTC

svn commit: r956390 - in /velocity/sandbox/maven-reorg/site/tools: velocity-site-doxia-renderer/ velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/ velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/ple...

Author: apetrelli
Date: Sun Jun 20 19:37:54 2010
New Revision: 956390

URL: http://svn.apache.org/viewvc?rev=956390&view=rev
Log:
VELOCITYSB-3
Fixed links, updated plugins, removed useless pages, generated project infos.

Modified:
    velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/pom.xml
    velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/AbstractVelocityRenderer.java
    velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityAptSiteModule.java
    velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityXdocSiteModule.java
    velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/plexus/PlexusKludgeUtils.java
    velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/pom.xml
    velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/NewsBlockGenerator.java
    velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/macro/VelocityNewsMacro.java
    velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/NewsFeedGenerator.java
    velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/VelocityNewsReport.java

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/pom.xml
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/pom.xml?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/pom.xml (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/pom.xml Sun Jun 20 19:37:54 2010
@@ -65,12 +65,12 @@
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-core</artifactId>
-      <version>1.0-alpha-8</version>
+      <version>1.1.3</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-sink-api</artifactId>
-        <version>1.0-alpha-8</version>
+        <version>1.1.3</version>
     </dependency>
     <dependency>
       <groupId>commons-collections</groupId>
@@ -82,11 +82,11 @@
       <artifactId>commons-lang</artifactId>
       <version>2.1</version>
     </dependency>
-    <dependency>
+<!--     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
-      <version>1.0-alpha-9-stable-1</version>
-    </dependency>
+      <version>1.0.0</version>
+    </dependency> -->
     <dependency>
       <groupId>org.apache.velocity</groupId>
       <artifactId>velocity</artifactId>
@@ -95,12 +95,17 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-project</artifactId>
-      <version>2.0.6</version>
+      <version>2.2.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.6</version>
+      <version>2.2.1</version>
+    </dependency>
+    <dependency>
+    	<groupId>org.apache.maven.doxia</groupId>
+    	<artifactId>doxia-module-apt</artifactId>
+    	<version>1.1.3</version>
     </dependency>
   </dependencies>
 

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/AbstractVelocityRenderer.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/AbstractVelocityRenderer.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/AbstractVelocityRenderer.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/AbstractVelocityRenderer.java Sun Jun 20 19:37:54 2010
@@ -21,17 +21,15 @@ package org.apache.velocity.site.doxia.r
 
 import java.io.Reader;
 import java.io.StringReader;
-import java.lang.reflect.Method;
 
 import org.apache.maven.doxia.parser.AbstractParser;
 import org.apache.maven.doxia.parser.ParseException;
 import org.apache.maven.doxia.parser.Parser;
 import org.apache.maven.doxia.sink.Sink;
+import org.apache.velocity.VelocityContext;
 import org.apache.velocity.site.doxia.plugin.DoxiaVelocityRendererPlugin;
-import org.apache.velocity.site.doxia.runner.DefaultVelocityRunner;
 import org.apache.velocity.site.doxia.runner.VelocityRunner;
-import org.apache.velocity.site.plexus.PlexusKludgeException;
-import org.apache.velocity.site.plexus.PlexusKludgeUtils;
+import org.apache.velocity.site.doxia.velocity.DoxiaVelocityContextFactory;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -107,9 +105,8 @@ public abstract class AbstractVelocityRe
     {
         try
         {
-            Object runner = getVelocityRunner();
-            Method parseVelocity = runner.getClass().getMethod(VelocityRunner.PARSE_METHOD, VelocityRunner.PARSE_METHOD_SIGNATURE);
-            String result = (String) parseVelocity.invoke(runner, new Object[] { reader });
+            VelocityRunner runner = getVelocityRunner();
+            String result = runner.parseVelocity(reader);
 
             StringReader strReader = new StringReader(result);
 
@@ -118,10 +115,8 @@ public abstract class AbstractVelocityRe
         catch (RuntimeException re)
         {
             throw re;
-        }
-        catch (Exception e)
-        {
-            throw new ParseException(e);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
     }
 
@@ -134,17 +129,8 @@ public abstract class AbstractVelocityRe
      * @return A {@link DoxiaVelocityContextFactory} instance that generates
      *         {@link VelocityContext} objects for the render process.
      */
-    private Object getVelocityRunner() throws ComponentLookupException
+    private VelocityRunner getVelocityRunner() throws ComponentLookupException
     {
-        try
-        {
-            PlexusContainer velocityContainer = PlexusKludgeUtils.lookupContainer(container,
-                    DoxiaVelocityRendererPlugin.CONTAINER_LOOKUP_NAME);
-            return velocityContainer.lookup(DefaultVelocityRunner.ROLE);
-        }
-        catch (PlexusKludgeException pke)
-        {
-            throw new ComponentLookupException("While retrieving Velocity runner: ", pke);
-        }
+        return (VelocityRunner) container.lookup(DoxiaVelocityRendererPlugin.CONTAINER_LOOKUP_NAME);
     }
 }

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityAptSiteModule.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityAptSiteModule.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityAptSiteModule.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityAptSiteModule.java Sun Jun 20 19:37:54 2010
@@ -19,7 +19,7 @@ package org.apache.velocity.site.doxia.r
  * under the License.
  */
 
-import org.apache.maven.doxia.site.module.SiteModule;
+import org.apache.maven.doxia.module.site.SiteModule;
 
 /**
  * This module connects the renderer with the Doxia core. It defines the

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityXdocSiteModule.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityXdocSiteModule.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityXdocSiteModule.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/doxia/renderer/VelocityXdocSiteModule.java Sun Jun 20 19:37:54 2010
@@ -19,7 +19,7 @@ package org.apache.velocity.site.doxia.r
  * under the License.
  */
 
-import org.apache.maven.doxia.site.module.SiteModule;
+import org.apache.maven.doxia.module.site.SiteModule;
 
 /**
  * This module connects the renderer with the Doxia core. It defines the

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/plexus/PlexusKludgeUtils.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/plexus/PlexusKludgeUtils.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/plexus/PlexusKludgeUtils.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-doxia-renderer/src/main/java/org/apache/velocity/site/plexus/PlexusKludgeUtils.java Sun Jun 20 19:37:54 2010
@@ -21,9 +21,9 @@ package org.apache.velocity.site.plexus;
 
 import java.lang.reflect.Field;
 
-import org.codehaus.classworlds.ClassRealm;
-import org.codehaus.classworlds.NoSuchRealmException;
 import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.classworlds.realm.ClassRealm;
+import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
 
 public abstract class PlexusKludgeUtils
 {

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/pom.xml
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/pom.xml?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/pom.xml (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/pom.xml Sun Jun 20 19:37:54 2010
@@ -104,22 +104,22 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-project</artifactId>
-        <version>2.0.6</version>
+        <version>2.2.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-        <version>2.0.6</version>
+        <version>2.2.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-api</artifactId>
-        <version>2.0.6</version>
+        <version>2.2.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.reporting</groupId>
       <artifactId>maven-reporting-impl</artifactId>
-        <version>2.0.4</version>
+        <version>2.1</version>
     </dependency>
     <dependency>
         <groupId>org.codehaus.plexus</groupId>
@@ -127,19 +127,19 @@
         <version>1.5.5</version>
     </dependency>
     <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-container-default</artifactId>
-      <version>1.0-alpha-9-stable-1</version>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-sink-api</artifactId>
-        <version>1.0-alpha-8</version>
+        <version>1.1.3</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.doxia</groupId>
       <artifactId>doxia-core</artifactId>
-        <version>1.0-alpha-8</version>
+        <version>1.1.3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-module-xhtml</artifactId>
+        <version>1.1.3</version>
     </dependency>
     <dependency>
       <groupId>rome</groupId>
@@ -151,6 +151,16 @@
       <artifactId>commons-io</artifactId>
         <version>1.2</version>
     </dependency>
+    <dependency>
+    	<groupId>org.apache.maven.doxia</groupId>
+    	<artifactId>doxia-site-renderer</artifactId>
+    	<version>1.1.3</version>
+    </dependency>
+    <dependency>
+    	<groupId>org.apache.maven.doxia</groupId>
+    	<artifactId>doxia-module-apt</artifactId>
+    	<version>1.1.3</version>
+    </dependency>
   </dependencies>
 
   <distributionManagement>

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/NewsBlockGenerator.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/NewsBlockGenerator.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/NewsBlockGenerator.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/NewsBlockGenerator.java Sun Jun 20 19:37:54 2010
@@ -79,7 +79,7 @@ public class NewsBlockGenerator
 
         // The first sentence is our teaser...
         String[] textFields = StringUtils.splitByWholeSeparator(text, ". ");
-        String aptText = " " + textFields[0] + ". [{{{" + newsReport.getOutputName() + ".html#" + itemId + "}Read more...}}]";
+        String aptText = " " + textFields[0] + ". [{{{./" + newsReport.getOutputName() + ".html#" + itemId + "}Read more...}}]";
         try
         {
             // Leading space makes sure this gets interpreted as text.

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/macro/VelocityNewsMacro.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/macro/VelocityNewsMacro.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/macro/VelocityNewsMacro.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/macro/VelocityNewsMacro.java Sun Jun 20 19:37:54 2010
@@ -20,7 +20,6 @@ package org.apache.velocity.site.news.ma
  */
 
 import java.io.File;
-import java.lang.reflect.Method;
 import java.util.ListIterator;
 import java.util.Locale;
 import java.util.ResourceBundle;
@@ -37,9 +36,6 @@ import org.apache.velocity.site.news.Vel
 import org.apache.velocity.site.news.model.Item;
 import org.apache.velocity.site.news.model.NewsManager;
 import org.apache.velocity.site.news.model.NewsModel;
-import org.apache.velocity.site.news.plugin.VelocityNewsPlugin;
-import org.apache.velocity.site.plexus.PlexusKludgeException;
-import org.apache.velocity.site.plexus.PlexusKludgeUtils;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -54,6 +50,9 @@ import org.codehaus.plexus.personality.p
  */
 public class VelocityNewsMacro extends AbstractMacro implements Contextualizable
 {
+    private static final String DEFAULT_SITE_DIRECTORY = "src/site";
+
+    private static final String DEFAULT_NEWS_FILENAME = "news";
 
     private PlexusContainer container = null;
 
@@ -68,7 +67,7 @@ public class VelocityNewsMacro extends A
         try
         {
             int count = Integer.parseInt(getParameter(request, "count", "5"));
-            generateNewsBlock(sink, count);
+            generateNewsBlock(sink, count, request);
 
         }
         catch (VelocityNewsException vne)
@@ -83,20 +82,24 @@ public class VelocityNewsMacro extends A
         return value != null ? value : defaultValue;
     }
 
-    protected void generateNewsBlock(final Sink sink, final int maxCount) throws VelocityNewsException
+    protected void generateNewsBlock(final Sink sink, final int maxCount, MacroRequest request) throws VelocityNewsException
     {
 
         try
         {
 
-            Object newsManagerRef = getNewsManager();
-
-            Method newsFileNameMethod = newsManagerRef.getClass().getMethod(NewsManager.NEWS_FILE_NAME_METHOD, new Class[] {});
-            String newsFileName = (String) newsFileNameMethod.invoke(newsManagerRef, new Object[] {});
+            String newsFileName = (String) request.getParameter("fileName");
+            if (newsFileName == null)
+            {
+                newsFileName = DEFAULT_NEWS_FILENAME;
+            }
 
-            Method newsSiteDirectoryMethod = newsManagerRef.getClass().getMethod(NewsManager.NEWS_SITE_DIRECTORY_METHOD,
-                    new Class[] {});
-            File siteDirectory = (File) newsSiteDirectoryMethod.invoke(newsManagerRef, new Object[] {});
+            String siteDirectoryString = (String) request.getParameter("siteDirectory");
+            if (siteDirectoryString == null)
+            {
+                siteDirectoryString = DEFAULT_SITE_DIRECTORY;
+            }
+            File siteDirectory = new File(request.getBasedir(), siteDirectoryString);
 
             final NewsManager newsManager = new NewsManager();
             newsManager.load(siteDirectory, newsFileName);
@@ -169,28 +172,4 @@ public class VelocityNewsMacro extends A
             throw new IllegalStateException("Could not retrieve page name from model!");
         }
     }
-
-    /**
-     * Returns the News Manager from the Plugin.
-     *
-     * @return A {@link DoxiaVelocityContextFactory} instance that generates
-     *         {@link VelocityContext} objects for the render process.
-     */
-    private Object getNewsManager() throws VelocityNewsException
-    {
-        try
-        {
-            PlexusContainer velocityContainer = PlexusKludgeUtils.lookupContainer(container,
-                    VelocityNewsPlugin.CONTAINER_LOOKUP_NAME);
-            return velocityContainer.lookup(NewsManager.ROLE);
-        }
-        catch (PlexusKludgeException pke)
-        {
-            throw new VelocityNewsException("While retrieving News Manager: ", pke);
-        }
-        catch (ComponentLookupException cle)
-        {
-            throw new VelocityNewsException("While retrieving News Manager: ", cle);
-        }
-    }
 }

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/NewsFeedGenerator.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/NewsFeedGenerator.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/NewsFeedGenerator.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/NewsFeedGenerator.java Sun Jun 20 19:37:54 2010
@@ -28,16 +28,15 @@ import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.Writer;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.doxia.module.xhtml.XhtmlSink;
-import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
 import org.apache.maven.doxia.parser.ParseException;
 import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.render.RenderingContext;
 import org.apache.velocity.site.news.VelocityNewsException;
 import org.apache.velocity.site.news.VelocityNewsUtils;
 import org.apache.velocity.site.news.model.Item;
@@ -235,12 +234,12 @@ public class NewsFeedGenerator
     {
         private NewsItemSink(final Writer writer, final RenderingContext renderingContext)
         {
-            super(writer, renderingContext, Collections.EMPTY_MAP);
+            super(writer);
         }
 
         public void head()
         {
-            resetState();
+            init();
             setHeadFlag(true);
         }
 

Modified: velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/VelocityNewsReport.java
URL: http://svn.apache.org/viewvc/velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/VelocityNewsReport.java?rev=956390&r1=956389&r2=956390&view=diff
==============================================================================
--- velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/VelocityNewsReport.java (original)
+++ velocity/sandbox/maven-reorg/site/tools/velocity-site-news-plugin/src/main/java/org/apache/velocity/site/news/plugin/VelocityNewsReport.java Sun Jun 20 19:37:54 2010
@@ -20,7 +20,6 @@ package org.apache.velocity.site.news.pl
  */
 
 import java.io.File;
-import java.lang.reflect.Method;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
@@ -38,11 +37,8 @@ import org.apache.velocity.site.news.Vel
 import org.apache.velocity.site.news.model.Item;
 import org.apache.velocity.site.news.model.NewsManager;
 import org.apache.velocity.site.news.model.NewsModel;
-import org.apache.velocity.site.plexus.PlexusKludgeException;
-import org.apache.velocity.site.plexus.PlexusKludgeUtils;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.context.Context;
 import org.codehaus.plexus.context.ContextException;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
@@ -53,6 +49,7 @@ import org.codehaus.plexus.personality.p
  * @author <a href="mailto:henning@apache.org">Henning P. Schmiedehausen</a>
  * @version $Revision$
  *
+ * @phase site
  * @goal news
  */
 public class VelocityNewsReport extends AbstractMavenReport implements MavenReport, NewsReport, NewsFeed, Contextualizable
@@ -90,6 +87,13 @@ public class VelocityNewsReport extends 
     private MavenProject project;
 
     /**
+     * The component which keeps all the news information for us.
+     *
+     * @component role="org.apache.velocity.site.news.model.NewsManager"
+     */
+    private NewsManager newsManager;
+
+    /**
      * Configuration of the base URL of the feed
      *
      * @parameter expression="${baseUrl}"
@@ -133,20 +137,7 @@ public class VelocityNewsReport extends 
      */
     public String getOutputName()
     {
-        try
-        {
-            Object newsManager = getNewsManager();
-            Method newsFileNameMethod = newsManager.getClass().getMethod(NewsManager.NEWS_FILE_NAME_METHOD, new Class[] {});
-            return (String) newsFileNameMethod.invoke(newsManager, new Object[] {});
-        }
-        catch (RuntimeException re)
-        {
-            throw re;
-        }
-        catch (Exception e)
-        {
-            throw new IllegalStateException("Could not retrieve page name from model!");
-        }
+        return newsManager.getNewsFileName();
     }
 
     public ResourceBundle getBundle(final Locale locale)
@@ -185,10 +176,7 @@ public class VelocityNewsReport extends 
 
         try
         {
-
-            Object newsManager = getNewsManager();
-            Method newsModelMethod = newsManager.getClass().getMethod(NewsManager.NEWS_MODEL_METHOD, new Class[] {});
-            NewsModel newsModel = (NewsModel) newsModelMethod.invoke(newsManager, new Object[] {});
+            NewsModel newsModel = newsManager.getNewsModel();
 
             if (newsModel != null)
             {
@@ -250,25 +238,4 @@ public class VelocityNewsReport extends 
         newsFeedGenerator.publishFeed();
     }
 
-    /**
-     * Returns the News Manager.
-     *
-     * It must be injected into an instance of this component.
-     *
-     * @return A {@link DoxiaVelocityContextFactory} instance that generates
-     *         {@link VelocityContext} objects for the render process.
-     */
-    private Object getNewsManager() throws ComponentLookupException
-    {
-        try
-        {
-            PlexusContainer velocityContainer = PlexusKludgeUtils.lookupContainer(container,
-                    VelocityNewsPlugin.CONTAINER_LOOKUP_NAME);
-            return velocityContainer.lookup(NewsManager.ROLE);
-        }
-        catch (PlexusKludgeException pke)
-        {
-            throw new ComponentLookupException("While retrieving News Manager: ", pke);
-        }
-    }
 }