Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java?rev=1291139&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java (added) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java Mon Feb 20 07:41:08 2012 @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.karaf.webconsole.osgi.core.service; + +import org.apache.karaf.webconsole.osgi.core.service.column.ObjectClassColumn; +import org.apache.karaf.webconsole.osgi.core.service.column.ServicePropertyColumn; +import org.apache.karaf.webconsole.osgi.core.service.column.ServiceProviderColumn; +import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable; +import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; +import org.apache.wicket.model.Model; +import org.osgi.framework.Bundle; +import org.osgi.framework.Constants; +import org.osgi.framework.ServiceReference; + +public class ImportServiceTable extends DefaultDataTable<ServiceReference> { + + private static final long serialVersionUID = 1L; + + private static IColumn<ServiceReference>[] columns = new IColumn[] { + new ServicePropertyColumn("Service Id", Constants.SERVICE_ID), + new ObjectClassColumn(Model.of("Object classes")), + new ServiceProviderColumn(Model.of("Provider")), + }; + + public ImportServiceTable(String id, Bundle bundle) { + super(id, columns, new ImportServiceDataProvider(bundle), Integer.MAX_VALUE); + } + +}
Modified: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ServiceDetailPage.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ServiceDetailPage.java?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ServiceDetailPage.java (original) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ServiceDetailPage.java Mon Feb 20 07:41:08 2012 @@ -1,5 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.karaf.webconsole.osgi.core.service; -public class ServiceDetailPage { +import org.apache.karaf.webconsole.osgi.core.shared.OsgiPage; +import org.apache.wicket.PageParameters; +import org.apache.wicket.markup.html.WebMarkupContainer; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.repeater.RepeatingView; +import org.osgi.framework.Constants; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceReference; + +/** + * Service details page. + */ +public class ServiceDetailPage extends OsgiPage { + + public ServiceDetailPage(PageParameters parameters) { + long serviceId = parameters.getLong("id"); + + RepeatingView repeatingView = new RepeatingView("keys"); + add(repeatingView); + + String filter = "(" + Constants.SERVICE_ID + "=" + serviceId + ")"; + try { + ServiceReference[] references = context.getServiceReferences(null, filter); + + if (references != null && references.length == 1) { + ServiceReference reference = references[0]; + + for(String key : reference.getPropertyKeys()) { + WebMarkupContainer container = new WebMarkupContainer(repeatingView.newChildId()); + container.add(new Label("key", key)); + container.add(new Label("value", reference.getProperty(key).toString())); + repeatingView.add(container); + } + } + } catch (InvalidSyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } } Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java?rev=1291139&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java (added) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java Mon Feb 20 07:41:08 2012 @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.karaf.webconsole.osgi.core.service.column; + +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.osgi.framework.ServiceReference; + +public class ObjectClassColumn extends AbstractColumn<ServiceReference> { + + private static final long serialVersionUID = 1L; + + public ObjectClassColumn(IModel<String> displayModel) { + super(displayModel); + } + + public void populateItem(Item<ICellPopulator<ServiceReference>> cellItem, String componentId, IModel<ServiceReference> rowModel) { + cellItem.add(new ObjectClassPanel(componentId, rowModel)); + } + +} Copied: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.java (from r1291138, karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java) URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.java?p2=karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.java&p1=karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java&r1=1291138&r2=1291139&rev=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java (original) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.java Mon Feb 20 07:41:08 2012 @@ -14,44 +14,43 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.karaf.webconsole.osgi.core.bundle.list; +package org.apache.karaf.webconsole.osgi.core.service.column; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import org.apache.karaf.webconsole.osgi.core.spi.IDecorationProvider; -import org.apache.wicket.Component; -import org.apache.wicket.markup.html.CSSPackageResource; +import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; -import org.osgi.framework.Bundle; +import org.osgi.framework.Constants; +import org.osgi.framework.ServiceReference; -public class DecorationPanel extends Panel { +public class ObjectClassPanel extends Panel { private static final long serialVersionUID = 1L; - public DecorationPanel(String id, IModel<Bundle> model, List<IDecorationProvider> decorationProviders) { + public ObjectClassPanel(String id, IModel<ServiceReference> model) { super(id, model); - add(CSSPackageResource.getHeaderContribution(DecorationPanel.class, "decoration.css")); - - List<Component> components = new ArrayList<Component>(); - for (IDecorationProvider provider : decorationProviders) { - Component decoration = provider.getDecoration("extension", model); - if (decoration != null) { - components.add(decoration); - } + Object property = model.getObject().getProperty(Constants.OBJECTCLASS); + List<String> objectClasses = new ArrayList<String>(); + if (property instanceof String[]) { + Collections.addAll(objectClasses, (String[]) property); + } else { + objectClasses.add(property.toString()); } - add(new ListView<Component>("extensions", components) { + add(new ListView<String>("objectClasses", objectClasses) { + private static final long serialVersionUID = 1L; + @Override - protected void populateItem(ListItem<Component> item) { - item.add(item.getModelObject()); + protected void populateItem(ListItem<String> item) { + item.add(new Label("objectClass", item.getModel())); } }); - } } Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerColumn.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerColumn.java?rev=1291139&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerColumn.java (added) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerColumn.java Mon Feb 20 07:41:08 2012 @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.karaf.webconsole.osgi.core.service.column; + +import org.apache.karaf.webconsole.core.table.PropertyColumnExt; +import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator; +import org.apache.wicket.markup.repeater.Item; +import org.apache.wicket.model.IModel; +import org.osgi.framework.ServiceReference; + +public class ServiceConsumerColumn extends PropertyColumnExt<ServiceReference> { + + private static final long serialVersionUID = 1L; + + public ServiceConsumerColumn(String property) { + super(property); + } + + @Override + public void populateItem(Item<ICellPopulator<ServiceReference>> item, String componentId, IModel<ServiceReference> rowModel) { + item.add(new ServiceConsumerPanel(componentId, rowModel)); + } + +} Copied: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.java (from r1291138, karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java) URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.java?p2=karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.java&p1=karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java&r1=1291138&r2=1291139&rev=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/DecorationPanel.java (original) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.java Mon Feb 20 07:41:08 2012 @@ -14,44 +14,44 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.karaf.webconsole.osgi.core.bundle.list; +package org.apache.karaf.webconsole.osgi.core.service.column; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import org.apache.karaf.webconsole.osgi.core.spi.IDecorationProvider; -import org.apache.wicket.Component; -import org.apache.wicket.markup.html.CSSPackageResource; +import org.apache.karaf.webconsole.osgi.core.bundle.SingleBundlePage; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.IModel; import org.osgi.framework.Bundle; +import org.osgi.framework.ServiceReference; -public class DecorationPanel extends Panel { +public class ServiceConsumerPanel extends Panel { private static final long serialVersionUID = 1L; - public DecorationPanel(String id, IModel<Bundle> model, List<IDecorationProvider> decorationProviders) { + public ServiceConsumerPanel(String id, IModel<ServiceReference> model) { super(id, model); - add(CSSPackageResource.getHeaderContribution(DecorationPanel.class, "decoration.css")); - - List<Component> components = new ArrayList<Component>(); - for (IDecorationProvider provider : decorationProviders) { - Component decoration = provider.getDecoration("extension", model); - if (decoration != null) { - components.add(decoration); - } + List<Bundle> consumers = new ArrayList<Bundle>(); + Bundle[] usingBundles = model.getObject().getUsingBundles(); + if (usingBundles != null && usingBundles.length > 0) { + Collections.addAll(consumers, usingBundles); } + add(new ListView<Bundle>("bundles", consumers) { + private static final long serialVersionUID = 1L; - add(new ListView<Component>("extensions", components) { @Override - protected void populateItem(ListItem<Component> item) { - item.add(item.getModelObject()); + protected void populateItem(ListItem<Bundle> item) { + Link<SingleBundlePage> link = SingleBundlePage.createLink("link", item.getModelObject()); + link.add(new Label("label", item.getModelObject().getSymbolicName())); + item.add(link); } }); - } } Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServicePropertyColumn.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServicePropertyColumn.java?rev=1291139&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServicePropertyColumn.java (added) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServicePropertyColumn.java Mon Feb 20 07:41:08 2012 @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.karaf.webconsole.osgi.core.service.column; + +import java.io.Serializable; + +import org.apache.karaf.webconsole.core.table.PropertyColumnExt; +import org.apache.wicket.model.IModel; +import org.apache.wicket.model.Model; +import org.osgi.framework.ServiceReference; + +public class ServicePropertyColumn extends PropertyColumnExt<ServiceReference> { + + private static final long serialVersionUID = 1L; + + public ServicePropertyColumn(String label, String property) { + super(label, property); + } + + @Override + protected IModel<?> createLabelModel(IModel<ServiceReference> rowModel) { + Object property = rowModel.getObject().getProperty(getPropertyExpression()); + + if (property instanceof Serializable) { + return Model.of((Serializable) property); + } else { + return Model.of(property.toString()); + } + } +} Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java?rev=1291139&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java (added) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java Mon Feb 20 07:41:08 2012 @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.karaf.webconsole.osgi.core.service.column; + +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.osgi.framework.ServiceReference; + +public class ServiceProviderColumn extends AbstractColumn<ServiceReference> { + + private static final long serialVersionUID = 1L; + + public ServiceProviderColumn(IModel<String> displayModel) { + super(displayModel); + } + + public void populateItem(Item<ICellPopulator<ServiceReference>> cellItem, String componentId, IModel<ServiceReference> rowModel) { + cellItem.add(new ServiceProviderPanel(componentId, rowModel)); + } + +} Added: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.java?rev=1291139&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.java (added) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.java Mon Feb 20 07:41:08 2012 @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.karaf.webconsole.osgi.core.service.column; + +import org.apache.karaf.webconsole.osgi.core.bundle.SingleBundlePage; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.link.Link; +import org.apache.wicket.markup.html.panel.Panel; +import org.apache.wicket.model.IModel; +import org.osgi.framework.Bundle; +import org.osgi.framework.ServiceReference; + +public class ServiceProviderPanel extends Panel { + + private static final long serialVersionUID = 1L; + + public ServiceProviderPanel(String id, IModel<ServiceReference> model) { + super(id); + + Bundle bundle = model.getObject().getBundle(); + Link<SingleBundlePage> link = SingleBundlePage.createLink("link", bundle); + link.add(new Label("label", bundle.getSymbolicName())); + add(link); + } + +} Modified: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java (original) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java Mon Feb 20 07:41:08 2012 @@ -17,15 +17,16 @@ package org.apache.karaf.webconsole.osgi.core.service.list; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import org.apache.karaf.webconsole.core.table.PropertyColumnExt; +import org.apache.karaf.webconsole.osgi.core.service.column.ObjectClassColumn; +import org.apache.karaf.webconsole.osgi.core.service.column.ServiceConsumerColumn; +import org.apache.karaf.webconsole.osgi.core.service.column.ServicePropertyColumn; +import org.apache.karaf.webconsole.osgi.core.service.column.ServiceProviderColumn; import org.apache.karaf.webconsole.osgi.core.shared.OsgiPage; import org.apache.karaf.webconsole.osgi.core.shared.ServiceDataProvider; import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; -import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.ops4j.pax.wicket.api.PaxWicketMountPoint; import org.osgi.framework.Constants; @@ -39,22 +40,12 @@ public class ServicePage extends OsgiPag public ServicePage() { List<IColumn<ServiceReference>> columns = new ArrayList<IColumn<ServiceReference>>(); - columns.add(new PropertyColumnExt<ServiceReference>("Service Id") { - @Override - protected IModel<?> createLabelModel(IModel<ServiceReference> rowModel) { - return Model.of((Long) rowModel.getObject().getProperty(Constants.SERVICE_ID)); - } - }); - - columns.add(new PropertyColumnExt<ServiceReference>("Interfaces") { - @Override - protected IModel<?> createLabelModel(IModel<ServiceReference> rowModel) { - return Model.of(Arrays.toString((String[]) rowModel.getObject().getProperty(Constants.OBJECTCLASS))); - } - }); - columns.add(new PropertyColumnExt<ServiceReference>("Exporter", "bundle.symbolicName")); + columns.add(new ServicePropertyColumn("Service Id", Constants.SERVICE_ID)); + columns.add(new ObjectClassColumn(Model.of("Object classes"))); + columns.add(new ServiceProviderColumn(Model.of("Provider"))); + columns.add(new ServiceConsumerColumn("Consumers")); - add(new DefaultDataTable<ServiceReference>("services", columns, new ServiceDataProvider(context, (String) null), 100)); + add(new DefaultDataTable<ServiceReference>("services", columns, new ServiceDataProvider(context, (String) null), Integer.MAX_VALUE)); } } Modified: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java (original) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java Mon Feb 20 07:41:08 2012 @@ -1,3 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.karaf.webconsole.osgi.core.shared; import java.util.ArrayList; @@ -20,13 +36,10 @@ public class ServiceDataProvider extends private static final long serialVersionUID = 1L; - private transient List<ServiceReference> services; - - private BundleContext context; - - private final String clazz; - - private final String filter; + /** + * List of services. + */ + private final transient List<ServiceReference> services; /** * Base constructor. @@ -35,22 +48,25 @@ public class ServiceDataProvider extends * @param clazz Class name. * @param filter Filter to apply. */ + public ServiceDataProvider(ServiceReference ... services) { + if (services != null) { + this.services = Arrays.asList(services); + } else { + this.services = new ArrayList<ServiceReference>(); + } + } + public ServiceDataProvider(BundleContext context, String clazz, String filter) { - this.context = context; - this.clazz = clazz; - this.filter = filter; + this(retrieveServices(context, clazz, filter)); } - private List<ServiceReference> getServices() { - if (services == null) { - try { - ServiceReference[] references = context.getServiceReferences(clazz, filter); - this.services = references != null ? Arrays.asList(references) : new ArrayList<ServiceReference>(); - } catch (InvalidSyntaxException e) { - throw new RuntimeException("Unable to list services", e); - } + private static ServiceReference[] retrieveServices(BundleContext context, String clazz, String filter) { + try { + ServiceReference[] references = context.getServiceReferences(clazz, filter); + return references != null ? references : new ServiceReference[0]; + } catch (InvalidSyntaxException e) { + throw new RuntimeException("Unable to list services", e); } - return services; } public ServiceDataProvider(BundleContext context, String clazz) { @@ -67,7 +83,7 @@ public class ServiceDataProvider extends // provide methods public Iterator<? extends ServiceReference> iterator(int first, int count) { - return getServices().subList(first, count).iterator(); + return services.subList(first, count).iterator(); } public IModel<ServiceReference> model(ServiceReference object) { @@ -75,7 +91,7 @@ public class ServiceDataProvider extends } public int size() { - return getServices().size(); + return services.size(); } } Modified: karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/State.java URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/State.java?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/State.java (original) +++ karaf/webconsole/trunk/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/State.java Mon Feb 20 07:41:08 2012 @@ -1,3 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.apache.karaf.webconsole.osgi.core.shared; import org.osgi.framework.Bundle; Added: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/BundlePanel.html URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/BundlePanel.html?rev=1291139&view=auto ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/BundlePanel.html (added) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/BundlePanel.html Mon Feb 20 07:41:08 2012 @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<wicket:panel xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> + <table class="table table-stipped table-bordered"> + <tr> + <td><wicket:message key="bundle.id" /></td> + <td><span wicket:id="bundleId"></span></td> + </tr> + <tr> + <td><wicket:message key="bundle.symbolicName" /></td> + <td><span wicket:id="symbolicName"></span></td> + </tr> + <tr> + <td><wicket:message key="bundle.state" /></td> + <td><span wicket:id="state"></span></td> + </tr> + <tr> + <td><wicket:message key="bundle.version" /></td> + <td><span wicket:id="version"></span></td> + </tr> + <tr> + <td><wicket:message key="bundle.location" /></td> + <td><span wicket:id="location"></span></td> + </tr> + </table> + <a wicket:id="link">More</a> +</wicket:panel> \ No newline at end of file Modified: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/SingleBundlePage.html URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/SingleBundlePage.html?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/SingleBundlePage.html (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/SingleBundlePage.html Mon Feb 20 07:41:08 2012 @@ -16,42 +16,59 @@ limitations under the License. --> <wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> - <h1><span wicket:id="name">symbolic name</span> <small>details</small></h1> + <h1> + <wicket:message key="bundle" /> + <span wicket:id="symbolicName"></span> + <small> + <span wicket:id="version"></span> + <wicket:message key="details" /> + </small> + </h1> + + <div wicket:id="bundle"></div> <ul class="nav nav-pills"> <li class="active"> - <a href="#imports" data-toggle="tab">Imports</a> + <a href="#imports" data-toggle="tab"> + <wicket:message key="package.imports" /> + </a> </li> <li> - <a href="#exports" data-toggle="tab">Exports</a> + <a href="#exports" data-toggle="tab"> + <wicket:message key="package.exports" /> + </a> </li> <li> - <a href="#servicesIn" data-toggle="tab">Services in use</a> + <a href="#servicesIn" data-toggle="tab"> + <wicket:message key="service.imports" /> + </a> </li> <li> - <a href="#servicesOut" data-toggle="tab">Services provided</a> + <a href="#servicesOut" data-toggle="tab"> + <wicket:message key="service.exports" /> + </a> </li> </ul> <div class="tab-content"> <div class="tab-pane active" id="imports"> - <h2>Imports</h2> + <h2><wicket:message key="package.imports" /></h2> <table wicket:id="imports" class="table table-stripped table-bordered"></table> </div> <div class="tab-pane" id="exports"> - <h3>Exports</h3> + <h3><wicket:message key="package.exports" /></h3> <table wicket:id="exports" class="table table-stripped table-bordered"></table> </div> <div class="tab-pane" id="servicesIn"> - <h3>Services in use</h3> -<!-- <div wicket:id="servicesIn"></div> --> + <h3><wicket:message key="service.imports" /></h3> + <table wicket:id="serviceImports" class="table table-stripped table-bordered"></table> </div> <div class="tab-pane" id="servicesOut"> - <h3>Services provided by bundle</h3> -<!-- <div wicket:id="servicesOut"></div> --> + <h3><wicket:message key="service.exports" /></h3> + <table wicket:id="serviceExports" class="table table-stripped table-bordered"></table> </div> </div> Modified: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/decoration.css URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/decoration.css?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/decoration.css (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/bundle/list/decoration.css Mon Feb 20 07:41:08 2012 @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + div.decorations ul { list-style-type: none; margin: 0px; Modified: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties Mon Feb 20 07:41:08 2012 @@ -14,6 +14,12 @@ # limitations under the License. bundle Bundle +bundle.id Bundle ID +bundle.symbolicName Symbolic name +bundle.version Version +bundle.state State +bundle.location Location + bundle.install Install new bundle bundle.start Bundle $\{symbolicName\} ($\{bundleId\}) started @@ -32,4 +38,15 @@ bundle.refresh Bundle $\{symbolicName\} bundle.refresh.fail Bundle refresh fail: ${message} bundle.resolve Bundle $\{symbolicName\} ($\{bundleId\}) resolved -bundle.resolve.fail Bundle resolving error: ${message} \ No newline at end of file +bundle.resolve.fail Bundle resolving error: ${message} + +package Package + +package.imports Imported packages +package.exports Exported packages + +service.imports Imported services +service.exports Exported services + +package.exporter Exporting bundle +package.importers Importing bundles \ No newline at end of file Modified: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/PackagePage.html URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/PackagePage.html?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/PackagePage.html (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/PackagePage.html Mon Feb 20 07:41:08 2012 @@ -16,26 +16,36 @@ limitations under the License. --> <wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> - <h1><span wicket:id="package"></span> <small><span wicket:id="version"></span> details</small></h1> + <h1> + <wicket:message key="package" /> + <span wicket:id="package"></span> + <small> + <span wicket:id="version"></span> + <wicket:message key="details" /> + </small> + </h1> <div class="row-fluid"> - <div class="span4"> - <h2>Exporter</h2> - <a wicket:id="exporterLink"> - <span wicket:id="exporterLabel"></span> - </a> - </div> - <div class="span4"> - <h2>Package</h2> - <span wicket:id="packageDet"></span> + <h2> + <wicket:message key="package" /> + </h2> + <span wicket:id="packageDet"></span> + </div> + + <div class="row-fluid"> + <div class="span6"> + <h2> + <wicket:message key="package.exporter" /> + </h2> + <div wicket:id="exporter"></div> </div> - <div class="span4"> - <h2>Importer</h2> - <ul> + <div class="span6"> + <h2> + <wicket:message key="package.importers" /> + </h2> + <ul class="unstyled"> <li wicket:id="importers"> - <a wicket:id="importerLink"> - <span wicket:id="importerLabel"></span> - </a> + <div wicket:id="importer"></div> </li> </ul> </div> Copied: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.html (from r1291138, karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html) URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.html?p2=karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.html&p1=karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html&r1=1291138&r2=1291139&rev=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.html Mon Feb 20 07:41:08 2012 @@ -16,7 +16,9 @@ limitations under the License. --> <wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> - <h1>Events</h1> + <h1> + <wicket:message key="package" /> + </h1> - <table wicket:id="topics" /> + <table wicket:id="packages" class="table table-stripped table-condensed" /> </wicket:extend> \ No newline at end of file Copied: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.html (from r1291138, karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html) URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.html?p2=karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.html&p1=karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html&r1=1291138&r2=1291139&rev=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassPanel.html Mon Feb 20 07:41:08 2012 @@ -15,8 +15,10 @@ See the License for the specific language governing permissions and limitations under the License. --> -<wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> - <h1>Events</h1> - - <table wicket:id="topics" /> -</wicket:extend> \ No newline at end of file +<wicket:panel xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> + <ul class="unstyled"> + <li wicket:id="objectClasses"> + <span wicket:id="objectClass"></span> + </li> + </ul> +</wicket:panel> \ No newline at end of file Copied: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.html (from r1291138, karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html) URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.html?p2=karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.html&p1=karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html&r1=1291138&r2=1291139&rev=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceConsumerPanel.html Mon Feb 20 07:41:08 2012 @@ -15,8 +15,12 @@ See the License for the specific language governing permissions and limitations under the License. --> -<wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> - <h1>Events</h1> - - <table wicket:id="topics" /> -</wicket:extend> \ No newline at end of file +<wicket:panel xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> + <ul class="unstyled"> + <li wicket:id="bundles"> + <a wicket:id="link"> + <span wicket:id="label"></span> + </a> + </li> + </ul> +</wicket:panel> \ No newline at end of file Copied: karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.html (from r1291138, karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html) URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.html?p2=karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.html&p1=karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html&r1=1291138&r2=1291139&rev=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html (original) +++ karaf/webconsole/trunk/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderPanel.html Mon Feb 20 07:41:08 2012 @@ -15,8 +15,8 @@ See the License for the specific language governing permissions and limitations under the License. --> -<wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> - <h1>Events</h1> - - <table wicket:id="topics" /> -</wicket:extend> \ No newline at end of file +<wicket:panel xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> + <a wicket:id="link"> + <span wicket:id="label"></span> + </a> +</wicket:panel> \ No newline at end of file Modified: karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html (original) +++ karaf/webconsole/trunk/osgi/event/src/main/resources/org/apache/karaf/webconsole/osgi/event/EventsPage.html Mon Feb 20 07:41:08 2012 @@ -18,5 +18,5 @@ <wicket:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> <h1>Events</h1> - <table wicket:id="topics" /> + <table wicket:id="topics" class="table table-striped table-condensed" /> </wicket:extend> \ No newline at end of file Modified: karaf/webconsole/trunk/osgi/scr/src/main/resources/org/apache/karaf/webconsole/osgi/scr/decorator.css URL: http://svn.apache.org/viewvc/karaf/webconsole/trunk/osgi/scr/src/main/resources/org/apache/karaf/webconsole/osgi/scr/decorator.css?rev=1291139&r1=1291138&r2=1291139&view=diff ============================================================================== --- karaf/webconsole/trunk/osgi/scr/src/main/resources/org/apache/karaf/webconsole/osgi/scr/decorator.css (original) +++ karaf/webconsole/trunk/osgi/scr/src/main/resources/org/apache/karaf/webconsole/osgi/scr/decorator.css Mon Feb 20 07:41:08 2012 @@ -1,3 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + .scr { background: url("scr.gif"); width: 16px;