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