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 12:19:24 UTC
svn commit: r1160606 - in
/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main:
java/org/apache/karaf/webconsole/blueprint/internal/
java/org/apache/karaf/webconsole/blueprint/internal/bundle/
java/org/apache/karaf/webconsole/blueprint/inter...
Author: ldywicki
Date: Tue Aug 23 10:19:23 2011
New Revision: 1160606
URL: http://svn.apache.org/viewvc?rev=1160606&view=rev
Log:
Refactor blueprint view to use datatable instead of list view. Move details page
Added:
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintDataProvider.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/details/
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.java
- copied, changed from r1160495, karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/MissingServiceReferenceException.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/ServiceReferenceModel.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintActionsPanel.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintDataTable.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/DefaultServiceReferencePropertyColumn.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/ServiceReferencePropertyColumn.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/details/
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.html
- copied, changed from r1160495, karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.html
Removed:
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintProvider.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/ConsoleBlueprintContainer.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/SerializableComponentMetadata.java
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.html
Modified:
karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.java
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/resources/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.html
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintDataProvider.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintDataProvider.java?rev=1160606&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintDataProvider.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintDataProvider.java Tue Aug 23 10:19:23 2011
@@ -0,0 +1,32 @@
+package org.apache.karaf.webconsole.blueprint.internal;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.karaf.webconsole.blueprint.internal.model.ServiceReferenceModel;
+import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.wicket.model.IModel;
+import org.osgi.framework.ServiceReference;
+
+public class BlueprintDataProvider extends SortableDataProvider<ServiceReference> {
+
+ private final List<ServiceReference> containers;
+
+ public BlueprintDataProvider(List<ServiceReference> containers) {
+ this.containers = containers;
+ }
+
+ public Iterator<ServiceReference> iterator(int first, int count) {
+ return new ArrayList<ServiceReference>(containers).subList(first, first+count).iterator();
+ }
+
+ public IModel<ServiceReference> model(ServiceReference object) {
+ return new ServiceReferenceModel(object);
+ }
+
+ public int size() {
+ return containers.size();
+ }
+
+}
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.java?rev=1160606&r1=1160605&r2=1160606&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.java Tue Aug 23 10:19:23 2011
@@ -2,17 +2,11 @@ package org.apache.karaf.webconsole.blue
import java.util.List;
+import org.apache.karaf.webconsole.blueprint.internal.view.BlueprintDataTable;
import org.apache.karaf.webconsole.core.BasePage;
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.model.util.ListModel;
import org.ops4j.pax.wicket.api.PaxWicketBean;
import org.ops4j.pax.wicket.api.PaxWicketMountPoint;
import org.osgi.framework.ServiceReference;
-import org.osgi.framework.Version;
@PaxWicketMountPoint(mountPoint = "/osgi/blueprint")
public class BlueprintPage extends BasePage {
@@ -21,6 +15,9 @@ public class BlueprintPage extends BaseP
private List<ServiceReference> containers;
public BlueprintPage() {
+ add(new BlueprintDataTable("containers", new BlueprintDataProvider(containers), 100));
+
+ /*
add(new ListView<ServiceReference>("containers", new ListModel<ServiceReference>(containers)) {
@Override
@@ -39,6 +36,7 @@ public class BlueprintPage extends BaseP
}
});
+ */
}
Modified: 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=1160606&r1=1160605&r2=1160606&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintActionProvider.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/bundle/BlueprintActionProvider.java Tue Aug 23 10:19:23 2011
@@ -1,7 +1,7 @@
package org.apache.karaf.webconsole.blueprint.internal.bundle;
-import org.apache.karaf.webconsole.blueprint.internal.DetailsPage;
import org.apache.karaf.webconsole.blueprint.internal.IBlueprintBundleStateTracker;
+import org.apache.karaf.webconsole.blueprint.internal.details.DetailsPage;
import org.apache.karaf.webconsole.osgi.bundle.IActionProvider;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
Copied: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.java (from r1160495, karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.java)
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.java?p2=karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.java&p1=karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.java&r1=1160495&r2=1160606&rev=1160606&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.java (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.java Tue Aug 23 10:19:23 2011
@@ -1,7 +1,7 @@
-package org.apache.karaf.webconsole.blueprint.internal;
+package org.apache.karaf.webconsole.blueprint.internal.details;
-import java.util.Collection;
-import java.util.LinkedList;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import org.apache.karaf.webconsole.core.BasePage;
@@ -31,40 +31,43 @@ public class DetailsPage extends BasePag
ServiceReference reference = null;
for (ServiceReference ref : references) {
- if ("org.osgi.service.blueprint.container.BlueprintContainer".equals(ref.getProperty("objectClass"))) {
- reference = ref;
- break;
+ String[] classes = (String[]) ref.getProperty("objectClass");
+ for (String clazz : classes) {
+ if ("org.osgi.service.blueprint.container.BlueprintContainer".equals(clazz)) {
+ reference = ref;
+ break;
+ }
}
}
if (reference == null) {
+ add(new ListView("components") {
+ @Override
+ protected void populateItem(ListItem item) {
+ // do nothing :)
+ }
+ });
return;
}
final BlueprintContainer container = (BlueprintContainer) context.getService(reference);
- LoadableDetachableModel<List<SerializableComponentMetadata>> model = new LoadableDetachableModel<List<SerializableComponentMetadata>>() {
+ LoadableDetachableModel<List<ComponentMetadata>> model = new LoadableDetachableModel<List<ComponentMetadata>>() {
@Override
- protected List<SerializableComponentMetadata> load() {
- @SuppressWarnings("unchecked")
- Collection<ComponentMetadata> metadata = container.getMetadata(ComponentMetadata.class);
-
- List<SerializableComponentMetadata> serializable = new LinkedList<SerializableComponentMetadata>();
- for (ComponentMetadata componentMetadata : metadata) {
- serializable.add(new SerializableComponentMetadata(componentMetadata));
- }
-
- return serializable;
+ protected List<ComponentMetadata> load() {
+ return new ArrayList<ComponentMetadata>(container.getMetadata(ComponentMetadata.class));
}
};
- add(new ListView<SerializableComponentMetadata>("components", model) {
+ add(new ListView<ComponentMetadata>("components", model) {
@Override
- protected void populateItem(ListItem<SerializableComponentMetadata> item) {
- SerializableComponentMetadata metadata = item.getModelObject();
+ protected void populateItem(ListItem<ComponentMetadata> item) {
+ ComponentMetadata metadata = item.getModelObject();
+
+ Class<?>[] interfaces = metadata.getClass().getInterfaces();
item.add(new Label("componentId", metadata.getId()));
- item.add(new Label("type", metadata.getTypeName()));
+ item.add(new Label("type", Arrays.toString(interfaces)));
}
});
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/MissingServiceReferenceException.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/MissingServiceReferenceException.java?rev=1160606&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/MissingServiceReferenceException.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/MissingServiceReferenceException.java Tue Aug 23 10:19:23 2011
@@ -0,0 +1,11 @@
+package org.apache.karaf.webconsole.blueprint.internal.model;
+
+import java.util.Arrays;
+
+public class MissingServiceReferenceException extends RuntimeException {
+
+ public MissingServiceReferenceException(String symbolicName, String[] classes) {
+ super("Bundle " + symbolicName + " doesn't register any service with classes " + Arrays.toString(classes));
+ }
+
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/ServiceReferenceModel.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/ServiceReferenceModel.java?rev=1160606&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/ServiceReferenceModel.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/model/ServiceReferenceModel.java Tue Aug 23 10:19:23 2011
@@ -0,0 +1,34 @@
+package org.apache.karaf.webconsole.blueprint.internal.model;
+
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceReference;
+
+public class ServiceReferenceModel extends LoadableDetachableModel<ServiceReference> {
+
+ private final Bundle bundle;
+ private String[] classes;
+
+ public ServiceReferenceModel(ServiceReference object) {
+ this(object, object.getBundle());
+ }
+
+ public ServiceReferenceModel(ServiceReference object, Bundle bundle) {
+ this.bundle = bundle;
+ classes = (String[]) object.getProperty("objectClass");
+ }
+
+ @Override
+ protected ServiceReference load() {
+ ServiceReference[] services = bundle.getRegisteredServices();
+
+ for (ServiceReference reference : services) {
+ if (classes.equals(reference.getProperty("objectClass"))) {
+ return reference;
+ }
+ }
+
+ throw new MissingServiceReferenceException(bundle.getSymbolicName(), classes);
+ }
+
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintActionsPanel.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintActionsPanel.java?rev=1160606&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintActionsPanel.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintActionsPanel.java Tue Aug 23 10:19:23 2011
@@ -0,0 +1,31 @@
+package org.apache.karaf.webconsole.blueprint.internal.view;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.karaf.webconsole.blueprint.internal.details.DetailsPage;
+import org.apache.karaf.webconsole.core.table.ActionsPanel;
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.osgi.framework.ServiceReference;
+
+public class BlueprintActionsPanel extends ActionsPanel<ServiceReference> {
+
+ public BlueprintActionsPanel(String componentId, IModel<ServiceReference> model) {
+ super(componentId, model);
+ }
+
+ @Override
+ protected List<Link> getLinks(ServiceReference object, String id) {
+ PageParameters params = new PageParameters();
+ params.put("bundleId", object.getBundle().getBundleId());
+
+ Link link = new BookmarkablePageLink(id, DetailsPage.class, params);
+ link.add(new Label("label", "View components"));
+
+ return Arrays.asList(link);
+ }
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintDataTable.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintDataTable.java?rev=1160606&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintDataTable.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/BlueprintDataTable.java Tue Aug 23 10:19:23 2011
@@ -0,0 +1,33 @@
+package org.apache.karaf.webconsole.blueprint.internal.view;
+
+import java.util.Arrays;
+import java.util.List;
+
+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.DefaultDataTable;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
+import org.apache.wicket.markup.repeater.Item;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.osgi.framework.ServiceReference;
+
+public class BlueprintDataTable extends DefaultDataTable<ServiceReference> {
+
+ @SuppressWarnings({"rawtypes", "unchecked"})
+ private static final List COLUMNS = Arrays.asList(
+ new DefaultServiceReferencePropertyColumn("Id", "service.id"),
+ new DefaultServiceReferencePropertyColumn("Container", "osgi.blueprint.container.symbolicname"),
+ new DefaultServiceReferencePropertyColumn("Version", "osgi.blueprint.container.version"),
+ new AbstractColumn<ServiceReference>(Model.of("Operations")) {
+ public void populateItem(Item<ICellPopulator<ServiceReference>> cellItem, String componentId, IModel<ServiceReference> rowModel) {
+ cellItem.add(new BlueprintActionsPanel(componentId, rowModel));
+ }
+ }
+ );
+
+ public BlueprintDataTable(String id, ISortableDataProvider<ServiceReference> dataProvider, int rowsPerPage) {
+ super(id, COLUMNS, dataProvider, rowsPerPage);
+ }
+
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/DefaultServiceReferencePropertyColumn.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/DefaultServiceReferencePropertyColumn.java?rev=1160606&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/DefaultServiceReferencePropertyColumn.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/DefaultServiceReferencePropertyColumn.java Tue Aug 23 10:19:23 2011
@@ -0,0 +1,18 @@
+package org.apache.karaf.webconsole.blueprint.internal.view;
+
+import org.apache.wicket.markup.html.basic.Label;
+
+public class DefaultServiceReferencePropertyColumn extends ServiceReferencePropertyColumn {
+
+ public DefaultServiceReferencePropertyColumn(String displayModel, String sortProperty) {
+ super(displayModel, sortProperty);
+ }
+
+ public DefaultServiceReferencePropertyColumn(String displayModel) {
+ super(displayModel);
+ }
+
+ protected Label createComponent(String componentId, Object property) {
+ return new Label(componentId, property != null ? property.toString() : "null");
+ }
+}
Added: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/ServiceReferencePropertyColumn.java
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/ServiceReferencePropertyColumn.java?rev=1160606&view=auto
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/ServiceReferencePropertyColumn.java (added)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/java/org/apache/karaf/webconsole/blueprint/internal/view/ServiceReferencePropertyColumn.java Tue Aug 23 10:19:23 2011
@@ -0,0 +1,26 @@
+package org.apache.karaf.webconsole.blueprint.internal.view;
+
+import org.apache.wicket.Component;
+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.markup.repeater.Item;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.osgi.framework.ServiceReference;
+
+public abstract class ServiceReferencePropertyColumn extends AbstractColumn<ServiceReference> {
+
+ public ServiceReferencePropertyColumn(String displayModel, String sortProperty) {
+ super(Model.of(displayModel), sortProperty);
+ }
+
+ public ServiceReferencePropertyColumn(String displayModel) {
+ super(Model.of(displayModel));
+ }
+
+ public final void populateItem(Item<ICellPopulator<ServiceReference>> cellItem, String componentId, IModel<ServiceReference> rowModel) {
+ cellItem.add(createComponent(componentId, rowModel.getObject().getProperty(getSortProperty())));
+ }
+
+ protected abstract Component createComponent(String componentId, Object property);
+}
Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.html
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.html?rev=1160606&r1=1160605&r2=1160606&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.html (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/BlueprintPage.html Tue Aug 23 10:19:23 2011
@@ -7,24 +7,8 @@
<body>
<wicket:extend>
<h1>Blueprint containers</h1>
- <table>
- <tr>
- <th>Name</th>
- <th>Version</th>
- <th>Operations</th>
- </tr>
- <tr wicket:id="containers">
- <td>
- <span wicket:id="symbolicName">com.example</span>
- </td>
- <td>
- <span wicket:id="version">0.0.0</span>
- </td>
- <td>
- <a wicket:id="details">Details</a>
- </td>
- </tr>
- </table>
+
+ <table wicket:id="containers" class="dataview" />
</wicket:extend>
</body>
</html>
Copied: karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.html (from r1160495, karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.html)
URL: http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.html?p2=karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.html&p1=karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.html&r1=1160495&r2=1160606&rev=1160606&view=diff
==============================================================================
--- karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/DetailsPage.html (original)
+++ karaf/sandbox/pieber/karaf-webconsole/trunk/blueprint/src/main/resources/org/apache/karaf/webconsole/blueprint/internal/details/DetailsPage.html Tue Aug 23 10:19:23 2011
@@ -22,7 +22,7 @@
<span wicket:id="type">org.osgi.service.blueprint.reflect.ComponentMetadata</span>
</td>
<td>
- <a wicket:id="details">Details</a>
+<!-- <a wicket:id="details">Details</a> -->
</td>
</tr>
</table>