Author: fmeschbe
Date: Wed Dec 2 07:22:05 2009
New Revision: 886067
URL: http://svn.apache.org/viewvc?rev=886067&view=rev
Log:
FELIX-1912 Improve bundle selection if all categories are desired, support
selecting bundles without a category, ensure bundles without a category are
listed at all.
Modified:
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java
Modified:
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java
URL:
http://svn.apache.org/viewvc/felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java?rev=886067&r1=886066&r2=886067&view=diff
==============================================================================
---
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java
(original)
+++
felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java
Wed Dec 2 07:22:05 2009
@@ -61,6 +61,8 @@
private static final String ALL_CATEGORIES_OPTION = "*";
+ private static final String NO_CATEGORIES_OPTION = "---";
+
private static final String PAR_CATEGORIES = "category";
private String[] repoURLs;
@@ -243,13 +245,21 @@
// get categories and check whether we should actually
// ignore this resource
- boolean useResource = false;
- String[] cats = res.getCategories();
- for ( int ci = 0; cats != null && ci < cats.length; ci++ )
+ boolean useResource;
+ final String[] cats = res.getCategories();
+ if ( cats == null )
+ {
+ useResource = NO_CATEGORIES_OPTION.equals( category );
+ }
+ else
{
- String cat = cats[ci];
- categories.add( cat );
- useResource |= ( category == null || cat.equals( category
) );
+ useResource = false;
+ for ( int ci = 0; cats != null && ci < cats.length; ci++ )
+ {
+ String cat = cats[ci];
+ categories.add( cat );
+ useResource |= ( category == null || cat.equals(
category ) );
+ }
}
if ( useResource )
@@ -319,6 +329,7 @@
Util.endScript( pw );
pw.println( "<select class='select' name='__ignoreoption__'
onChange='reloadWithCat(this);'>" );
pw.print( "<option value='" + ALL_CATEGORIES_OPTION +
"'>all</option>" );
+ pw.print( "<option value='" + NO_CATEGORIES_OPTION +
"'>none</option>" );
for ( Iterator ci = categories.iterator(); ci.hasNext(); )
{
String category = ( String ) ci.next();