You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2009/12/02 08:22:06 UTC

svn commit: r886067 - /felix/trunk/webconsole/src/main/java/org/apache/felix/webconsole/internal/obr/BundleRepositoryRender.java

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();