Author: mrdon
Date: Mon Feb 25 04:04:16 2008
New Revision: 630822

URL: http://svn.apache.org/viewvc?rev=630822&view=rev
Log:
Adding beginnings of an admin web bundle

Added:
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/pom.xml
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/BundlesAction.java
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/MyBundleActivator.java
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.vm
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.vm
    
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/struts.xml
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/test/
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/test/java/
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/test/resources/
    struts/sandbox/trunk/struts2-osgi-plugin/plugin/
    struts/sandbox/trunk/struts2-osgi-plugin/plugin/pom.xml
      - copied unchanged from r630762, 
struts/sandbox/trunk/struts2-osgi-plugin/pom.xml
    struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/
      - copied from r630762, struts/sandbox/trunk/struts2-osgi-plugin/src/
    struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/
      - copied from r630821, struts/sandbox/trunk/struts2-osgi-plugin/src/main/
Removed:
    struts/sandbox/trunk/struts2-osgi-plugin/pom.xml
    struts/sandbox/trunk/struts2-osgi-plugin/src/
Modified:
    
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
    
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/resources/struts-plugin.xml

Added: struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/pom.xml?rev=630822&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/pom.xml (added)
+++ struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/pom.xml Mon Feb 25 
04:04:16 2008
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.struts2.osgi.admin</groupId>
+  <artifactId>admin-bundle</artifactId>
+  <packaging>bundle</packaging>
+  <name>Struts 2 OSGi Admin Bundle</name>
+  <version>1.0-SNAPSHOT</version>
+ 
+  <dependencies>
+        <dependency>
+            <groupId>org.apache.struts</groupId>
+            <artifactId>struts2-osgi-plugin</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+
+
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+        <version>1.0.0</version>
+        <configuration>
+           <instructions>
+               <manifestLocation>META-INF</manifestLocation>
+               <Export-Package>org.apache.struts2.osgi.admin*</Export-Package>
+               <Import-Package>*</Import-Package>
+               
<Bundle-Activator>org.apache.struts2.osgi.admin.MyBundleActivator</Bundle-Activator>
+           </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+ </project>

Added: 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/BundlesAction.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/BundlesAction.java?rev=630822&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/BundlesAction.java
 (added)
+++ 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/BundlesAction.java
 Mon Feb 25 04:04:16 2008
@@ -0,0 +1,24 @@
+package org.apache.struts2.osgi.admin;
+
+import org.apache.struts2.dispatcher.DefaultActionSupport;
+
+public class BundlesAction extends DefaultActionSupport {
+
+    private String id;
+
+    public String index() {
+        return SUCCESS;
+    }
+
+    public String view() {
+        return SUCCESS;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}

Added: 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/MyBundleActivator.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/MyBundleActivator.java?rev=630822&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/MyBundleActivator.java
 (added)
+++ 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/MyBundleActivator.java
 Mon Feb 25 04:04:16 2008
@@ -0,0 +1,12 @@
+package org.apache.struts2.osgi.admin;
+
+import org.apache.struts2.osgi.StrutsActivator;
+
+public class MyBundleActivator extends StrutsActivator {
+
+    public MyBundleActivator() {
+        super();
+
+    }
+
+}

Added: 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.vm
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.vm?rev=630822&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.vm
 (added)
+++ 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.vm
 Mon Feb 25 04:04:16 2008
@@ -0,0 +1 @@
+This is a bundle view ${id}
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.vm
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.vm?rev=630822&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.vm
 (added)
+++ 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.vm
 Mon Feb 25 04:04:16 2008
@@ -0,0 +1 @@
+These are all bundles
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/struts.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/struts.xml?rev=630822&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/struts.xml
 (added)
+++ 
struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/struts.xml
 Mon Feb 25 04:04:16 2008
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE struts PUBLIC
+    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+    "http://struts.apache.org/dtds/struts-2.0.dtd";>
+
+<struts>
+
+    <package name="bundle" namespace="/osgi/admin" extends="struts-default">
+        <action name="bundles/*" 
class="org.apache.struts2.osgi.admin.BundlesAction" method="view">
+            <param name="id">{1}</param>
+            <result type="velocity">viewBundle.vm</result>
+        </action>
+        <action name="bundles" 
class="org.apache.struts2.osgi.admin.BundlesAction" method="index">
+            <result type="velocity">viewBundles.vm</result>
+        </action>
+    </package>
+    <include file="example.xml"/>
+
+    <!-- Add packages here -->
+
+</struts>

Modified: 
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java?rev=630822&r1=630821&r2=630822&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
 (original)
+++ 
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
 Mon Feb 25 04:04:16 2008
@@ -25,6 +25,7 @@
 import org.apache.felix.framework.cache.BundleCache;
 import org.apache.felix.framework.util.FelixConstants;
 import org.apache.felix.framework.util.StringMap;
+import org.apache.felix.main.AutoActivator;
 import org.apache.struts2.osgi.loaders.VelocityBundleResourceLoader;
 import org.apache.struts2.views.velocity.VelocityManager;
 import org.apache.velocity.app.Velocity;
@@ -42,6 +43,7 @@
 import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.ConfigurationException;
 import com.opensymphony.xwork2.config.ConfigurationProvider;
+import com.opensymphony.xwork2.config.PackageProvider;
 import com.opensymphony.xwork2.config.entities.PackageConfig;
 import com.opensymphony.xwork2.inject.ContainerBuilder;
 import com.opensymphony.xwork2.inject.Inject;
@@ -50,7 +52,7 @@
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
 
-public class OsgiConfigurationProvider implements ConfigurationProvider {
+public class OsgiConfigurationProvider implements PackageProvider {
     
     private static final Logger LOG = 
LoggerFactory.getLogger(OsgiConfigurationProvider.class);
 
@@ -128,10 +130,6 @@
         return bundlesChanged;
     }
 
-    public void register(ContainerBuilder builder, LocatableProperties props)
-            throws ConfigurationException {
-    }
-    
     protected void loadOsgi() {
         //configuration properties 
         Properties systemProperties = getProperties("default.properties");
@@ -145,7 +143,9 @@
             "org.osgi.framework; version=1.4.0," +
             "org.osgi.service.packageadmin; version=1.2.0," +
             "org.osgi.service.startlevel; version=1.0.0," +
-            "org.osgi.service.url; version=1.0.0" +
+            "org.osgi.service.url; version=1.0.0," +
+            "org.apache.struts2.dispatcher; version=1.0.0," +
+            "org.apache.xwork2; version=1.0.0" +
             getSystemPackages(systemProperties) + 
             strutsProperties.getProperty("xwork"));
 
@@ -157,8 +157,8 @@
             sb.append(path).append(" ");
         }
         
-        //configMap.put(FelixConstants.AUTO_START_PROP + ".1",
-        //    sb.toString());
+        configMap.put(AutoActivator.AUTO_START_PROP + ".1",
+            sb.toString());
         configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, 
System.getProperty("java.io.tmpdir"));
         configMap.put(BundleCache.CACHE_DIR_PROP, "jim");
         configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true");
@@ -171,8 +171,10 @@
         try {
             List list = new ArrayList();
             list.add(new BundleRegistration());
+            list.add(new AutoActivator(configMap));
             // Now create an instance of the framework.
-            felix = new Felix(configMap, list);
+            Map configMap2 = new StringMap(configMap, false);
+            felix = new Felix(configMap2, list);
             felix.start();
         }
         catch (Exception ex) {
@@ -226,8 +228,8 @@
         }
 
         public void bundleChanged(BundleEvent evt) {
-            if (evt.getType() == BundleEvent.INSTALLED) {
-                LOG.debug("Installed bundle 
"+evt.getBundle().getSymbolicName());
+            if (evt.getType() == BundleEvent.STARTED) {
+                LOG.info("Started bundle #1", 
evt.getBundle().getSymbolicName());
                 bundles.put(evt.getBundle().getLocation(), evt.getBundle());
                 bundlesChanged = true;
             }

Modified: 
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/resources/struts-plugin.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/resources/struts-plugin.xml?rev=630822&r1=630821&r2=630822&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/resources/struts-plugin.xml
 (original)
+++ 
struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/resources/struts-plugin.xml
 Mon Feb 25 04:04:16 2008
@@ -8,6 +8,7 @@
     <bean type="org.apache.struts2.osgi.BundleAccessor" 
class="org.apache.struts2.osgi.DefaultBundleAccessor" />
     <bean type="org.apache.struts2.osgi.PackageLoader" 
class="org.apache.struts2.osgi.BundlePackageLoader" />
     <bean name="osgi" type="com.opensymphony.xwork2.ObjectFactory" 
class="org.apache.struts2.osgi.DelegatingObjectFactory" />
+    <bean name="osgi" type="com.opensymphony.xwork2.config.PackageProvider" 
class="org.apache.struts2.osgi.OsgiConfigurationProvider" />
     
     <constant name="struts.objectFactory" value="osgi" />
     <constant name="struts.objectFactory.delegate" value="struts" />


Reply via email to