You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ld...@apache.org on 2011/08/23 00:55:11 UTC

svn commit: r1160485 - in /karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main: java/org/apache/karaf/webconsole/blueprint/internal/bundle/ resources/OSGI-INF/blueprint/ resources/org/apache/karaf/webconsole/blueprint/internal/bundle/

Author: ldywicki
Date: Mon Aug 22 22:55:10 2011
New Revision: 1160485

URL: http://svn.apache.org/viewvc?rev=1160485&view=rev
Log:
Usage of new extensions points in blueprint module

Added:
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintActionProvider.java
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintColumnProvider.java
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintDecorationProvider.java
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintState.java
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/blueprint.gif
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/decorator.css
Modified:
    karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml

Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintActionProvider.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintActionProvider.java?rev=1160485&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintActionProvider.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintActionProvider.java Mon Aug 22 22:55:10 2011
@@ -0,0 +1,21 @@
+package org.apache.karaf.webconsole.blueprint.internal.bundle;
+
+import org.apache.karaf.webconsole.blueprint.internal.DetailsPage;
+import org.apache.karaf.webconsole.osgi.bundle.IActionProvider;
+import org.apache.wicket.Component;
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.model.Model;
+import org.osgi.framework.Bundle;
+
+public class BlueprintActionProvider implements IActionProvider {
+
+    public Component create(String componentId, Bundle model) {
+        PageParameters params = new PageParameters();
+        params.put("bundleId", model.getBundleId());
+        BookmarkablePageLink link = new BookmarkablePageLink(componentId, DetailsPage.class, params);
+        link.setModel(Model.of("Blueprint"));
+        return link;
+    }
+
+}

Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintColumnProvider.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintColumnProvider.java?rev=1160485&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintColumnProvider.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintColumnProvider.java Mon Aug 22 22:55:10 2011
@@ -0,0 +1,59 @@
+package org.apache.karaf.webconsole.blueprint.internal.bundle;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.karaf.webconsole.osgi.bundle.IColumnProvider;
+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.osgi.framework.Bundle;
+import org.osgi.service.blueprint.container.BlueprintEvent;
+import org.osgi.service.blueprint.container.BlueprintListener;
+
+public class BlueprintColumnProvider implements IColumnProvider, BlueprintListener {
+
+    private Map<Long, BlueprintState> states = new ConcurrentHashMap<Long, BlueprintState>();
+
+    public IColumn<Bundle> getColumn() {
+        return new AbstractColumn<Bundle>(Model.of("Blueprint")) {
+            public void populateItem(Item<ICellPopulator<Bundle>> cellItem, String componentId, IModel<Bundle> rowModel) {
+                Bundle bundle = rowModel.getObject();
+                if (states.containsKey(bundle.getBundleId())) {
+                    cellItem.add(new Label(componentId, states.get(bundle.getBundleId()).name()));
+                } else {
+                    cellItem.add(new Label(componentId));
+                }
+            }
+        };
+    }
+
+    public void blueprintEvent(BlueprintEvent event) {
+        states.put(event.getBundle().getBundleId(), getState(event));
+    }
+
+    private BlueprintState getState(BlueprintEvent blueprintEvent) {
+        switch (blueprintEvent.getType()) {
+            case BlueprintEvent.CREATING:
+                return BlueprintState.Creating;
+            case BlueprintEvent.CREATED:
+                return BlueprintState.Created;
+            case BlueprintEvent.DESTROYING:
+                return BlueprintState.Destroying;
+            case BlueprintEvent.DESTROYED:
+                return BlueprintState.Destroyed;
+            case BlueprintEvent.FAILURE:
+                return BlueprintState.Failure;
+            case BlueprintEvent.GRACE_PERIOD:
+                return BlueprintState.GracePeriod;
+            case BlueprintEvent.WAITING:
+                return BlueprintState.Waiting;
+            default:
+                return BlueprintState.Unknown;
+        }
+    }
+}

Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintDecorationProvider.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintDecorationProvider.java?rev=1160485&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintDecorationProvider.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintDecorationProvider.java Mon Aug 22 22:55:10 2011
@@ -0,0 +1,50 @@
+package org.apache.karaf.webconsole.blueprint.internal.bundle;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.karaf.webconsole.core.panel.StaticImagePanel;
+import org.apache.karaf.webconsole.osgi.bundle.IDecorationProvider;
+import org.apache.wicket.ResourceReference;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+import org.osgi.framework.Bundle;
+import org.osgi.service.blueprint.container.BlueprintEvent;
+import org.osgi.service.blueprint.container.BlueprintListener;
+
+public class BlueprintDecorationProvider implements IDecorationProvider, BlueprintListener {
+
+    private Map<Long, BlueprintState> states = new ConcurrentHashMap<Long, BlueprintState>();
+
+    public void blueprintEvent(BlueprintEvent event) {
+        states.put(event.getBundle().getBundleId(), getState(event));
+    }
+
+    private BlueprintState getState(BlueprintEvent blueprintEvent) {
+        switch (blueprintEvent.getType()) {
+            case BlueprintEvent.CREATING:
+                return BlueprintState.Creating;
+            case BlueprintEvent.CREATED:
+                return BlueprintState.Created;
+            case BlueprintEvent.DESTROYING:
+                return BlueprintState.Destroying;
+            case BlueprintEvent.DESTROYED:
+                return BlueprintState.Destroyed;
+            case BlueprintEvent.FAILURE:
+                return BlueprintState.Failure;
+            case BlueprintEvent.GRACE_PERIOD:
+                return BlueprintState.GracePeriod;
+            case BlueprintEvent.WAITING:
+                return BlueprintState.Waiting;
+            default:
+                return BlueprintState.Unknown;
+        }
+    }
+
+    public Panel getDecoration(final String componentId, IModel<Bundle> model) {
+        if (states.containsKey(model.getObject().getBundleId())) {
+            return new StaticImagePanel(componentId, new ResourceReference(getClass(), "blueprint.gif"));
+        }
+        return null;
+    }
+}

Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintState.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintState.java?rev=1160485&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintState.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintState.java Mon Aug 22 22:55:10 2011
@@ -0,0 +1,12 @@
+package org.apache.karaf.webconsole.blueprint.internal.bundle;
+
+public enum BlueprintState {
+    Unknown,
+    Creating,
+    Created,
+    Destroying,
+    Destroyed,
+    Failure,
+    GracePeriod,
+    Waiting
+}
\ No newline at end of file

Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=1160485&r1=1160484&r2=1160485&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/OSGI-INF/blueprint/blueprint.xml Mon Aug 22 22:55:10 2011
@@ -12,7 +12,20 @@
 
     </service>
 
-
     <bean id="provider" class="org.apache.karaf.webconsole.blueprint.internal.navigation.BlueprintNavigationProvider" />
 
+    <!--
+    <service interface="org.apache.karaf.webconsole.osgi.bundle.IActionProvider">
+        <bean class="org.apache.karaf.webconsole.blueprint.internal.bundle.BlueprintActionProvider" />
+    </service>
+    -->
+
+    <service auto-export="interfaces">
+        <bean class="org.apache.karaf.webconsole.blueprint.internal.bundle.BlueprintColumnProvider" />
+    </service>
+
+    <service auto-export="interfaces">
+        <bean class="org.apache.karaf.webconsole.blueprint.internal.bundle.BlueprintDecorationProvider" />
+    </service>
+
 </blueprint>

Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/blueprint.gif
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/blueprint.gif?rev=1160485&view=auto
==============================================================================
Files karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/blueprint.gif (added) and karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/blueprint.gif Mon Aug 22 22:55:10 2011 differ

Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/decorator.css
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/decorator.css?rev=1160485&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/decorator.css (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/bundle/decorator.css Mon Aug 22 22:55:10 2011
@@ -0,0 +1,5 @@
+.blueprint {
+    background: url("blueprint.gif");
+    width: 16px;
+    height: 16px;
+}
\ No newline at end of file