archiva-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jdu...@apache.org
Subject svn commit: r709094 - in /archiva/branches/archiva-plugins: ./ archiva-modules/archiva-web/archiva-webapp/ archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ archiva-modules/archiva-web/archiva-webapp/src/mai...
Date Thu, 30 Oct 2008 05:58:50 GMT
Author: jdumay
Date: Wed Oct 29 22:58:49 2008
New Revision: 709094

URL: http://svn.apache.org/viewvc?rev=709094&view=rev
Log:
In goes the plugin container...

Added:
    archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/plugins/
Modified:
    archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/pom.xml
    archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
    archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
    archiva/branches/archiva-plugins/pom.xml

Modified: archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/pom.xml?rev=709094&r1=709093&r2=709094&view=diff
==============================================================================
--- archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/pom.xml (original)
+++ archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/pom.xml Wed
Oct 29 22:58:49 2008
@@ -176,6 +176,14 @@
       <artifactId>archiva-webdav</artifactId>
     </dependency>
     <dependency>
+      <groupId>com.atlassian.plugins</groupId>
+      <artifactId>atlassian-plugins-osgi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.atlassian.plugins</groupId>
+      <artifactId>atlassian-plugins-spring</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.apache.struts</groupId>
       <artifactId>struts2-spring-plugin</artifactId>
       <scope>runtime</scope>
@@ -356,6 +364,10 @@
               <value>${project.build.directory}/appserver-base</value>
             </systemProperty>
             <systemProperty>
+              <name>archiva.home</name>
+              <value>${project.build.directory}/archiva-home</value>
+            </systemProperty>
+            <systemProperty>
               <name>appserver.home</name>
               <value>${project.build.directory}/appserver-home</value>
             </systemProperty>

Modified: archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java?rev=709094&r1=709093&r2=709094&view=diff
==============================================================================
--- archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
(original)
+++ archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/startup/ArchivaStartup.java
Wed Oct 29 22:58:49 2008
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import com.atlassian.plugin.osgi.container.OsgiContainerManager;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 
@@ -26,6 +27,7 @@
 import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler;
 import org.codehaus.plexus.spring.PlexusToSpringUtils;
 import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
+import org.springframework.context.ApplicationContext;
 import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.context.support.WebApplicationContextUtils;
 
@@ -46,9 +48,15 @@
         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"));
+        OsgiContainerManager containerManager = getOsgiContainerManager(wac);
 
         try
         {
+            if (!containerManager.isRunning())
+            {
+                containerManager.start();
+            }
+            containerManager.start();
             securitySync.startup();
             resolverFactory.startup();
             taskScheduler.startup();
@@ -60,6 +68,18 @@
         }
     }
 
-    public void contextDestroyed(ServletContextEvent contextEvent) {
+    public void contextDestroyed(ServletContextEvent contextEvent)
+    {
+        WebApplicationContext wac =  WebApplicationContextUtils.getRequiredWebApplicationContext(contextEvent.getServletContext());
+        OsgiContainerManager containerManager = getOsgiContainerManager(wac);
+        if (containerManager.isRunning())
+        {
+            containerManager.stop();
+        }
+    }
+
+    private OsgiContainerManager getOsgiContainerManager(ApplicationContext context)
+    {
+        return (OsgiContainerManager)context.getBean("osgiContainerManager");
     }
 }

Modified: archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml?rev=709094&r1=709093&r2=709094&view=diff
==============================================================================
--- archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
(original)
+++ archiva/branches/archiva-plugins/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml
Wed Oct 29 22:58:49 2008
@@ -1,8 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xmlns:aop="http://www.springframework.org/schema/aop"
+      xmlns:plugin="http://atlassian.com/schema/spring/plugin"
+      xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+http://atlassian.com/schema/spring/plugin http://atlassian.com/schema/spring/plugin.xsd
+http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
+
+  <bean id="testbean" class="java.lang.Object" plugin:available="true"/>
 
   <bean id="loggerManager" class="org.codehaus.plexus.logging.slf4j.Slf4jLoggerManager"
     init-method="initialize"/>
@@ -61,5 +67,33 @@
 
   <bean name="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
     <property name="session" ref="mailSession"/>
-  </bean>  
+  </bean>
+
+  <!-- Plugin framework -->
+
+  <bean name="pluginEventManager" class="com.atlassian.plugin.event.impl.DefaultPluginEventManager"
scope="singleton"/>
+
+  <bean id="packageScanningConfiguration" class="com.atlassian.plugin.osgi.container.impl.DefaultPackageScannerConfiguration">
+  <property name="packageIncludes">
+    <list>
+        <value>org.apache.*</value>
+    </list>
+  </property>
+  <property name="packageExcludes">
+    <list>
+        <value>com.springframework*</value>
+        <value>org.apache.commons.logging*</value>
+        <value>org.slf4j*</value>
+    </list>
+  </property>
+  </bean>
+
+  <bean id="osgiContainerManager" class="com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager"
scope="singleton">
+      <constructor-arg value="${archiva.home}/framework-bundles"/>
+      <constructor-arg ref="packageScanningConfiguration"/>
+      <constructor-arg ref="hostComponentProvider"/>
+      <constructor-arg ref="pluginEventManager"/>
+  </bean>
+
+  <!-- end plugin framework -->
 </beans>

Modified: archiva/branches/archiva-plugins/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-plugins/pom.xml?rev=709094&r1=709093&r2=709094&view=diff
==============================================================================
--- archiva/branches/archiva-plugins/pom.xml (original)
+++ archiva/branches/archiva-plugins/pom.xml Wed Oct 29 22:58:49 2008
@@ -237,8 +237,8 @@
       </dependency>
       <dependency>
         <groupId>xerces</groupId>
-	<artifactId>xercesImpl</artifactId>
-	<version>2.8.1</version>
+	    <artifactId>xercesImpl</artifactId>
+	    <version>2.8.1</version>
       </dependency>
       <dependency>
         <groupId>javax.activation</groupId>
@@ -409,9 +409,31 @@
         <version>1.2-SNAPSHOT</version>
       </dependency>
       <dependency>
+        <groupId>com.atlassian.plugins</groupId>
+        <artifactId>atlassian-plugins-osgi</artifactId>
+        <version>2.2.0-SNAPSHOT</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>com.atlassian.plugins</groupId>
+        <artifactId>atlassian-plugins-spring</artifactId>
+        <version>2.2.0-SNAPSHOT</version>
+        <exclusions>
+          <exclusion>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-spring</artifactId>
-        <version>1.2</version>
+        <version>1.3-SNAPSHOT</version>
         <exclusions>
           <exclusion>
             <groupId>org.codehaus.plexus</groupId>
@@ -511,7 +533,29 @@
       <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>
-        <version>1.2.14</version>
+        <version>1.2.15</version>
+  <exclusions>
+    <exclusion>
+      <groupId>com.sun.jdmk</groupId>
+      <artifactId>jmxtools</artifactId>
+    </exclusion>
+    <exclusion>
+      <groupId>com.sun.jmx</groupId>
+      <artifactId>jmxri</artifactId>
+    </exclusion>
+    <exclusion>
+      <groupId>javax.jms</groupId>
+      <artifactId>jms</artifactId>
+    </exclusion>
+    <exclusion>
+      <groupId>javax.mail</groupId>
+      <artifactId>mail</artifactId>
+    </exclusion>
+    <exclusion>
+      <groupId>javax.activation</groupId>
+      <artifactId>activation</artifactId>
+    </exclusion>
+  </exclusions>
       </dependency>
       <dependency>
         <groupId>org.apache.lucene</groupId>



Mime
View raw message