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 /> - :-> </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);