Fixed FELIX-3968 StringIndexOutOfBoundsException in packageadmin plugin
https://issues.apache.org/jira/browse/FELIX-3968

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1455592 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/webconsole-plugins/packageadmin/src/main/java/org/apache/felix/webconsole/plugins/packageadmin/internal/WebConsolePlugin.java b/webconsole-plugins/packageadmin/src/main/java/org/apache/felix/webconsole/plugins/packageadmin/internal/WebConsolePlugin.java
index f85132c..d0a903d 100644
--- a/webconsole-plugins/packageadmin/src/main/java/org/apache/felix/webconsole/plugins/packageadmin/internal/WebConsolePlugin.java
+++ b/webconsole-plugins/packageadmin/src/main/java/org/apache/felix/webconsole/plugins/packageadmin/internal/WebConsolePlugin.java
@@ -276,10 +276,15 @@
         SortedSet/*<String>*/result = new TreeSet/*<String>*/();

         while (tok.hasMoreTokens())

         {

-            final String part = tok.nextToken().trim();

+            String part = tok.nextToken().trim();

             if (part.length() > 0)

             {

                 int idx = part.lastIndexOf('.');

+                if (idx == part.length() - 1)

+                {

+                    part = part.substring(0, part.length() - 1);

+                    idx = part.lastIndexOf('.');

+                }

                 if (idx != -1)

                 {

                     char firstCharAfterLastDot = part.charAt(idx + 1);

@@ -291,6 +296,10 @@
                     {

                         result.add(part);

                     }

+                } 

+                else

+                {

+                    result.add(part);

                 }

             }

         }