You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2009/04/13 23:36:13 UTC

svn commit: r764622 - in /struts/sandbox/trunk/struts2-osgi-plugin: admin-bundle/src/main/java/org/apache/struts2/osgi/admin/actions/ admin-bundle/src/main/resources/osgi/admin/ admin-bundle/src/main/resources/static/css/ admin-bundle/src/main/resource...

Author: musachy
Date: Mon Apr 13 21:36:13 2009
New Revision: 764622

URL: http://svn.apache.org/viewvc?rev=764622&view=rev
Log:
Small UI changes to admin bundle

Modified:
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/shell.ftl
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.ftl
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.ftl
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/css/main.css
    struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/js/shell.js
    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/java/org/apache/struts2/osgi/OsgiHost.java

Modified: struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java?rev=764622&r1=764621&r2=764622&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/java/org/apache/struts2/osgi/admin/actions/BundlesAction.java Mon Apr 13 21:36:13 2009
@@ -28,6 +28,7 @@
 import org.apache.struts2.osgi.BundleAccessor;
 import org.apache.struts2.osgi.OsgiHost;
 import org.apache.struts2.osgi.StrutsOsgiListener;
+import org.apache.struts2.osgi.OsgiConfigurationProvider;
 import org.apache.struts2.util.ServletContextAware;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleException;
@@ -39,6 +40,10 @@
 import java.util.List;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Enumeration;
+import java.util.Dictionary;
 
 public class BundlesAction extends ActionSupport implements ServletContextAware {
 
@@ -64,9 +69,9 @@
         try {
             bundle.start();
 
-            //start fires the BundleEvent.STARTED, which load the config
-            //we need to wait until the config is loaded from that bundle
-            //there no easy way/elegant way to know if the bundle is being processed
+            //start() fires a BundleEvent.STARTED, which loads the config
+            //we need to wait until the config is loaded from that bundle but
+            //there no easy way/elegant way to know if the bundle was processed already
             Thread.sleep(1000);
         } catch (Exception e) {
             addActionError(e.toString());
@@ -97,6 +102,10 @@
         return view();
     }
 
+    public boolean isStrutsEnabled(Bundle bundle) {
+        return "true".equalsIgnoreCase((String) bundle.getHeaders().get(OsgiHost.OSGI_HEADER_STRUTS_ENABLED));
+    }
+
     public String getId() {
         return id;
     }
@@ -122,11 +131,22 @@
         return pkgs;
     }
 
+    public ArrayList<String> getHeaderKeys() {
+        return Collections.list(getBundle().getHeaders().keys());
+    }
+
     public Collection<Bundle> getBundles() {
         List<Bundle> bundles = new ArrayList(osgiHost.getBundles().values());
         Collections.sort(bundles, new Comparator<Bundle>() {
             public int compare(Bundle bundle1, Bundle bundle2) {
-                return bundle1.getSymbolicName().compareTo(bundle2.getSymbolicName());
+                boolean bundle1StrutsEnabled = isStrutsEnabled(bundle1);
+                boolean bundle2StrutsEnabled = isStrutsEnabled(bundle2);
+
+                if ((bundle1StrutsEnabled && bundle2StrutsEnabled) || (!bundle1StrutsEnabled && !bundle2StrutsEnabled))
+                    return bundle1.getSymbolicName().compareTo(bundle2.getSymbolicName());
+                else {
+                    return bundle1StrutsEnabled ? -1 : 1;
+                }
             }
         });
         return bundles;

Modified: struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/shell.ftl
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/shell.ftl?rev=764622&r1=764621&r2=764622&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/shell.ftl (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/shell.ftl Mon Apr 13 21:36:13 2009
@@ -52,7 +52,6 @@
         <div class="wc-results" id="wc-result">
              Welcome to the OSGi console! Type 'help' to see the list of available commands.
              <br />
-             :-&gt;
         </div>
         <@s.url var="execUrl" namespace="/osgi/admin" action="execCommand" />
         <label for"command">Command:</label>

Modified: struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.ftl
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.ftl?rev=764622&r1=764621&r2=764622&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.ftl (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundle.ftl Mon Apr 13 21:36:13 2009
@@ -63,6 +63,7 @@
         <li><a href="#tabs-2">Resgistered Services</a></li>
         <li><a href="#tabs-3">Services in Use</a></li>
         <li><a href="#tabs-4">Packages</a></li>
+        <li><a href="#tabs-5">Headers</a></li>
     </ul>
     <div id="tabs-1">
         <table class="properties">
@@ -79,7 +80,7 @@
                 <td>${bundle.location!}</td>
             </tr>
             <tr>
-                <td class="name">State</td>
+                <td class="name">Status</td>
                 <td>${action.getBundleState(bundle)}</td>
             </tr>
         </table>
@@ -131,6 +132,16 @@
             <br/>
         </#list>
     </div>
+    <div id="tabs-5">
+        <table class="properties">
+        <#list headerKeys as header>
+            <tr>
+                <td class="name">${header}</td>
+                <td>${bundle.headers.get(header)}</td>
+            </tr>
+        </#list>
+        </table>
+    </div>
 </div>
 </body>
 </html>
\ No newline at end of file

Modified: struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.ftl
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.ftl?rev=764622&r1=764621&r2=764622&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.ftl (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/osgi/admin/viewBundles.ftl Mon Apr 13 21:36:13 2009
@@ -24,11 +24,12 @@
         </a>
     </div>    
 </div>
-<table class="properties" style="clear:bothl; width:700px">
+<table class="properties" style="clear:both; width:700px">
     <thead>
         <tr>
             <th>Name</th>
-            <th>State</th>
+            <th>Status</th>
+            <th>Struts Bundle</th>
             <th>Actions</th>
         </tr>
     </thead>
@@ -39,6 +40,7 @@
                 <a href="bundle_${bundle.symbolicName}!view.action">${bundle.symbolicName}</a>
             </td>
             <td>${action.getBundleState(bundle)}</td>
+            <td>${action.isStrutsEnabled(bundle)?string("yes", "no")}</td>
             <td style="width:200px">
                 <#if action.isAllowedAction(bundle, "start")>
                 <a href="bundle_${bundle.symbolicName}!start.action" class="ui-state-default ui-corner-all fg-button-small fg-button-icon-left">

Modified: struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/css/main.css
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/css/main.css?rev=764622&r1=764621&r2=764622&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/css/main.css (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/css/main.css Mon Apr 13 21:36:13 2009
@@ -69,7 +69,6 @@
     cursor: pointer;
     position: relative;
     text-align: center;
-    zoom: 1;
 }
 
 .fg-button-small .ui-icon {
@@ -85,9 +84,6 @@
     right: auto;
 }
 
-
-
-
 .menu {
     clear: both;
     padding-bottom: 10px;

Modified: struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/js/shell.js
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/js/shell.js?rev=764622&r1=764621&r2=764622&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/js/shell.js (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/admin-bundle/src/main/resources/static/js/shell.js Mon Apr 13 21:36:13 2009
@@ -25,7 +25,7 @@
       var result_array = result_string.split('\n');
 
       var new_command = $('#wc-command').val();
-      result_div.appendChild(document.createTextNode(new_command));
+      result_div.appendChild(document.createTextNode('$ ' + new_command));
       result_div.appendChild(document.createElement('br'));
 
       for (var line_index in result_array) {
@@ -36,7 +36,6 @@
           result_div.appendChild(document.createElement('br'));
 
       }
-      result_div.appendChild(document.createTextNode('$ '));
 
       result_div.scrollTop = result_div.scrollHeight;
       $('#wc-command').val('');

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=764622&r1=764621&r2=764622&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 Apr 13 21:36:13 2009
@@ -54,8 +54,6 @@
  * Struts package provider that starts the OSGi container and deelgates package loading
  */
 public class OsgiConfigurationProvider implements PackageProvider, BundleListener {
-
-    private static final String STRUTS_ENABLED = "Struts2-Enabled";
     private static final Logger LOG = LoggerFactory.getLogger(OsgiConfigurationProvider.class);
 
     private Configuration configuration;
@@ -168,7 +166,7 @@
      * Checks for "Struts2-Enabled" header in the bundle
      */
     protected boolean shouldProcessBundle(Bundle bundle) {
-        String strutsEnabled = (String) bundle.getHeaders().get(STRUTS_ENABLED);
+        String strutsEnabled = (String) bundle.getHeaders().get(OsgiHost.OSGI_HEADER_STRUTS_ENABLED);
 
         return "true".equalsIgnoreCase(strutsEnabled);
     }

Modified: struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiHost.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiHost.java?rev=764622&r1=764621&r2=764622&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiHost.java (original)
+++ struts/sandbox/trunk/struts2-osgi-plugin/plugin/src/main/java/org/apache/struts2/osgi/OsgiHost.java Mon Apr 13 21:36:13 2009
@@ -35,6 +35,7 @@
  */
 public interface OsgiHost {
     String OSGI_BUNDLE_CONTEXT = "__struts_osgi_bundle_context"; 
+    String OSGI_HEADER_STRUTS_ENABLED = "Struts2-Enabled";
 
     void destroy() throws Exception;
     void init(ServletContext servletContext);