Introduce 'Start level' column for bundles view

git-svn-id: https://svn.apache.org/repos/asf/karaf/sandbox/pieber/karaf-webconsole/trunk@1160486 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/bundle/BundlesPage.java b/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/bundle/BundlesPage.java
index 8cb44ac..17c72c4 100644
--- a/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/bundle/BundlesPage.java
+++ b/osgi/src/main/java/org/apache/karaf/webconsole/osgi/internal/bundle/BundlesPage.java
@@ -1,5 +1,7 @@
 package org.apache.karaf.webconsole.osgi.internal.bundle;
 
+import static org.apache.wicket.model.Model.of;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -13,12 +15,13 @@
 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
 import org.ops4j.pax.wicket.api.PaxWicketBean;
 import org.ops4j.pax.wicket.api.PaxWicketMountPoint;
 import org.osgi.framework.Bundle;
+import org.osgi.service.startlevel.StartLevel;
 
 @PaxWicketMountPoint(mountPoint = "/osgi/bundles")
 public class BundlesPage extends OsgiPage {
@@ -32,14 +35,23 @@
     @PaxWicketBean(name = "decorationProviders")
     private List<IDecorationProvider> decorationProviders;
 
+    @PaxWicketBean(name = "startLevel")
+    private StartLevel startLevel;
+
     public BundlesPage() {
         List<IColumn<Bundle>> columns = new ArrayList<IColumn<Bundle>>();
-        columns.add(new AbstractColumn<Bundle>(Model.of("")) {
+        columns.add(new AbstractColumn<Bundle>(of("")) {
             public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
                 cellItem.add(new DecorationPanel(componentId, rowModel, decorationProviders));
             }
         });
         columns.add(new PropertyColumnExt<Bundle>("Bundle Id", "bundleId"));
+        columns.add(new AbstractColumn<Bundle>(of("Start level")) {
+            public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
+                cellItem.add(new Label(componentId, of(startLevel.getBundleStartLevel(rowModel.getObject()))));
+            }
+            
+        });
 
         for (IColumnProvider provider : columnProviders) {
             columns.add(provider.getColumn());