Author: brett
Date: Fri Mar 14 00:15:16 2008
New Revision: 637010
URL: http://svn.apache.org/viewvc?rev=637010&view=rev
Log:
workaround the fact that load-on-start doesn't work with the spring integration
(and this is better anyway)
Modified:
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/Banner.java
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
Modified:
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java?rev=637010&r1=637009&r2=637010&view=diff
==============================================================================
---
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
(original)
+++
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
Fri Mar 14 00:15:16 2008
@@ -19,56 +19,54 @@
* under the License.
*/
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.ServletException;
+
import org.apache.maven.archiva.common.ArchivaException;
import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.spring.PlexusToSpringUtils;
+import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
+import org.mortbay.jetty.webapp.WebAppContext;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
/**
* ArchivaStartup - the startup of all archiva features in a deterministic
order.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
* @version $Id$
- *
- * @plexus.component
- * role="org.apache.maven.archiva.web.startup.ArchivaStartup"
- * role-hint="default"
*/
public class ArchivaStartup
- extends AbstractLogEnabled
- implements Initializable
+ implements ServletContextListener
{
- /**
- * @plexus.requirement role-hint="default"
- */
- private SecuritySynchronization securitySync;
-
- /**
- * @plexus.requirement role-hint="default"
- */
- private ResolverFactoryInit resolverFactory;
-
- /**
- * @plexus.requirement role-hint="default"
- */
- private ArchivaTaskScheduler taskScheduler;
+ public void contextDestroyed(ServletContextEvent arg0) {
+ }
- public void initialize()
- throws InitializationException
- {
- Banner.display( getLogger(), ArchivaVersion.determineVersion(
this.getClass().getClassLoader() ) );
+ public void contextInitialized(ServletContextEvent arg0) {
+ WebApplicationContext wac =
WebApplicationContextUtils.getRequiredWebApplicationContext(arg0.getServletContext());
+
+ SecuritySynchronization securitySync = (SecuritySynchronization)
wac.getBean(PlexusToSpringUtils.buildSpringId(SecuritySynchronization.class));
+ ResolverFactoryInit resolverFactory = (ResolverFactoryInit)
wac.getBean(PlexusToSpringUtils.buildSpringId(ResolverFactoryInit.class));
+ ArchivaTaskScheduler taskScheduler = (ArchivaTaskScheduler)
wac.getBean(PlexusToSpringUtils.buildSpringId(ArchivaTaskScheduler.class));
+ TaskQueueExecutor databaseUpdateQueue = (TaskQueueExecutor)
wac.getBean(PlexusToSpringUtils.buildSpringId(TaskQueueExecutor.class,
"database-update"));
+ TaskQueueExecutor repositoryScanningQueue = (TaskQueueExecutor)
wac.getBean(PlexusToSpringUtils.buildSpringId(TaskQueueExecutor.class,
"repository-scanning"));
+ Banner banner = (Banner)
wac.getBean(PlexusToSpringUtils.buildSpringId(Banner.class));
- try
+ try
{
securitySync.startup();
resolverFactory.startup();
taskScheduler.startup();
+ banner.display();
}
catch ( ArchivaException e )
{
- throw new InitializationException( "Unable to properly startup
archiva: " + e.getMessage(), e );
+ throw new RuntimeException( "Unable to properly startup archiva: "
+ e.getMessage(), e );
}
- }
+ }
}
Modified:
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/Banner.java
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/Banner.java?rev=637010&r1=637009&r2=637010&view=diff
==============================================================================
---
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/Banner.java
(original)
+++
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/Banner.java
Fri Mar 14 00:15:16 2008
@@ -224,15 +224,8 @@
return injectVersion( decode( encodedBanner ), version );
}
- public static void display( Logger logger, String version )
- {
- String banner = getBanner( version );
- logger.info( StringUtils.repeat( "_", 25 ) + "\n" + banner );
- }
-
- public void initialize()
- throws InitializationException
- {
- Banner.display( getLogger(), ArchivaVersion.determineVersion(
this.getClass().getClassLoader() ) );
- }
+ public void display() {
+ String banner = getBanner( ArchivaVersion.determineVersion(
this.getClass().getClassLoader() ) );
+ getLogger().info( StringUtils.repeat( "_", 25 ) + "\n" + banner );
+ }
}
Modified:
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml?rev=637010&r1=637009&r2=637010&view=diff
==============================================================================
---
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml
(original)
+++
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/resources/META-INF/plexus/application.xml
Fri Mar 14 00:15:16 2008
@@ -19,21 +19,6 @@
-->
<plexus>
- <load-on-start>
- <component>
- <role>org.apache.maven.archiva.web.startup.ArchivaStartup</role>
- <role-hint>default</role-hint>
- </component>
- <component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
- <role-hint>database-update</role-hint>
- </component>
- <component>
- <role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
- <role-hint>repository-scanning</role-hint>
- </component>
- </load-on-start>
-
<components>
<component>
<role>org.codehaus.plexus.registry.Registry</role>
Modified:
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml?rev=637010&r1=637009&r2=637010&view=diff
==============================================================================
---
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
(original)
+++
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
Fri Mar 14 00:15:16 2008
@@ -11,4 +11,4 @@
<constructor-arg ref="cache#url-failures-cache"
type="org.codehaus.plexus.cache.Cache"/>
</bean>
-</beans>
\ No newline at end of file
+</beans>
Modified:
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
URL:
http://svn.apache.org/viewvc/maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml?rev=637010&r1=637009&r2=637010&view=diff
==============================================================================
---
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
(original)
+++
maven/archiva/branches/springy/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/web.xml
Fri Mar 14 00:15:16 2008
@@ -58,6 +58,10 @@
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
+ <listener>
+ <!-- TODO: some Spring technique for this? -->
+
<listener-class>org.apache.maven.archiva.web.startup.ArchivaStartup</listener-class>
+ </listener>
<context-param>
<param-name>contextClass</param-name>