Upgrade to Pax-Wicket 2.0.1 and Wicket 6.2.0
Signed-off-by: Lukasz Dywicki <luke@code-house.org>
git-svn-id: https://svn.apache.org/repos/asf/karaf/webconsole/trunk@1426499 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/assembly/src/main/resources/features.xml b/assembly/src/main/resources/features.xml
index 3c59027..528385f 100644
--- a/assembly/src/main/resources/features.xml
+++ b/assembly/src/main/resources/features.xml
@@ -33,7 +33,9 @@
<!-- Pax-Wicket Core Feature; loading all required features. Do a feature:install paxwicket and you're ready to go -->
<feature name="webconsole-core" version="${project.version}" description="Karaf WebConsole Core">
<details>The Webconsole core package provides the base view required for all bundles</details>
- <feature>wicket-spring</feature>
+ <feature version="${wicket.version}">wicket</feature>
+ <feature version="${pax-wicket.version}">pax-wicket</feature>
+ <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/2.2.2_1</bundle>
<bundle>mvn:org.apache.felix/org.apache.felix.prefs/${felix-prefs.version}</bundle>
<bundle>mvn:org.apache.karaf.webconsole/org.apache.karaf.webconsole.core/${project.version}</bundle>
</feature>
diff --git a/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsDataProvider.java b/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsDataProvider.java
index 10b43f6..61be19a 100644
--- a/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsDataProvider.java
+++ b/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsDataProvider.java
@@ -21,13 +21,13 @@
import java.util.List;
import org.apache.camel.CamelContext;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.model.IModel;
/**
* Camel context list data provider.
*/
-public class CamelContextsDataProvider extends SortableDataProvider<CamelContext> {
+public class CamelContextsDataProvider extends BaseDataProvider<CamelContext> {
private static final long serialVersionUID = 1L;
@@ -37,11 +37,11 @@
this.contexts = contexts;
}
- public Iterator<? extends CamelContext> iterator(int first, int count) {
- return new ArrayList<CamelContext>(contexts).subList(first, first + count).iterator();
+ public Iterator<? extends CamelContext> iterator(long first, long count) {
+ return new ArrayList<CamelContext>(contexts).subList((int) first, (int) first + (int) count).iterator();
}
- public int size() {
+ public long size() {
return contexts.size();
}
diff --git a/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsPage.java b/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsPage.java
index 8de1dac..eb44a58 100644
--- a/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsPage.java
+++ b/camel/src/main/java/org/apache/karaf/webconsole/camel/internal/context/CamelContextsPage.java
@@ -24,9 +24,9 @@
import org.apache.karaf.webconsole.camel.internal.tracking.TraceContainer;
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
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.IColumn;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
@@ -52,30 +52,30 @@
@SuppressWarnings("unchecked")
public CamelContextsPage() {
@SuppressWarnings("serial")
- IColumn<CamelContext>[] columns = new IColumn[] {
+ IColumn<CamelContext, String>[] columns = new IColumn[] {
new OrdinalColumn<CamelContext>(),
new PropertyColumnExt<CamelContext>("Name", "name"),
new PropertyColumnExt<CamelContext>("Version", "version"),
new PropertyColumnExt<CamelContext>("Status", "status"),
new PropertyColumnExt<CamelContext>("Uptime", "uptime"),
- new AbstractColumn<CamelContext>(Model.of("Message preview")) {
+ new AbstractColumn<CamelContext, String>(Model.of("Message preview")) {
public void populateItem(Item<ICellPopulator<CamelContext>> cellItem, String componentId, IModel<CamelContext> rowModel) {
cellItem.add(new Label(componentId, "" + container.isTracePossible(rowModel.getObject())));
}
},
- new AbstractColumn<CamelContext>(Model.of("Tracing enabled")) {
+ new AbstractColumn<CamelContext, String>(Model.of("Tracing enabled")) {
public void populateItem(Item<ICellPopulator<CamelContext>> cellItem, String componentId, IModel<CamelContext> rowModel) {
cellItem.add(new Label(componentId, "" + container.isTraced(rowModel.getObject())));
}
},
- new AbstractColumn<CamelContext>(Model.of("Operations")) {
+ new AbstractColumn<CamelContext, String>(Model.of("Operations")) {
public void populateItem(Item<ICellPopulator<CamelContext>> cellItem, String componentId, IModel<CamelContext> rowModel) {
cellItem.add(new ContextActionsPanel(componentId, rowModel));
}
}
};
- add(new DefaultDataTable<CamelContext>("contexts", Arrays.asList(columns), new CamelContextsDataProvider(contexts), 20));
+ add(new BaseDataTable<CamelContext>("contexts", Arrays.asList(columns), new CamelContextsDataProvider(contexts), 20));
}
}
diff --git a/core/pom.xml b/core/pom.xml
index 882cdf9..cc44239 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -92,22 +92,13 @@
<Import-Package>
!org.apache.karaf.webconsole.core*,
*,<!-- let bnd import direct dependencies -->
- org.apache.wicket,
- org.apache.wicket.util,
org.apache.wicket.event,
- org.apache.wicket.page,
- org.apache.wicket.request.resource,
- org.apache.wicket.request.mapper,
- org.apache.wicket.request.cycle,
- org.apache.wicket.markup.html,
- org.apache.wicket.markup.html.basic,
- org.apache.wicket.protocol.http,
org.apache.wicket.request.http,
- org.apache.wicket.settings,
- org.apache.wicket.session,
- org.apache.wicket.util.file,
- org.apache.wicket.request,
+ org.apache.wicket.protocol.http,
+ org.apache.wicket.util,
org.apache.wicket.ajax,
+ org.apache.wicket.page,
+ org.apache.wicket.core.request.mapper,
<!-- then wicket stuff -->
org.ops4j.pax.wicket.api,
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CompositeBehavior.java b/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CompositeBehavior.java
index 9128886..37db747 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CompositeBehavior.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CompositeBehavior.java
@@ -18,7 +18,9 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.html.IHeaderResponse;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.request.resource.CssResourceReference;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.apache.wicket.request.resource.ResourceReference;
@@ -45,9 +47,9 @@
for (ResourceReference reference : getResourceReferences()) {
if (reference instanceof JavaScriptResourceReference) {
- response.renderJavaScriptReference(reference);
+ response.render(JavaScriptHeaderItem.forReference(reference));
} else if (reference instanceof CssResourceReference) {
- response.renderCSSReference(reference);
+ response.render(CssHeaderItem.forReference(reference));
} else {
throw new IllegalArgumentException("Unknown type of resource reference " + reference);
}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CssBehavior.java b/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CssBehavior.java
index 14fe8c8..af5bc83 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CssBehavior.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/behavior/CssBehavior.java
@@ -18,7 +18,8 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.html.IHeaderResponse;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.request.resource.CssResourceReference;
public class CssBehavior extends Behavior {
@@ -37,7 +38,7 @@
@Override
public void renderHead(Component component, IHeaderResponse response) {
- response.renderCSSReference(cssResourceReference);
+ response.render(CssHeaderItem.forReference(cssResourceReference));
}
}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/behavior/JavaScriptBehavior.java b/core/src/main/java/org/apache/karaf/webconsole/core/behavior/JavaScriptBehavior.java
index a359465..a4a4975 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/behavior/JavaScriptBehavior.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/behavior/JavaScriptBehavior.java
@@ -18,7 +18,8 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.html.IHeaderResponse;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
public class JavaScriptBehavior extends Behavior {
@@ -37,7 +38,7 @@
@Override
public void renderHead(Component component, IHeaderResponse response) {
- response.renderCSSReference(javaScriptResourceReference);
+ response.render(JavaScriptHeaderItem.forReference(javaScriptResourceReference));
}
}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/form/LabelBorder.java b/core/src/main/java/org/apache/karaf/webconsole/core/form/LabelBorder.java
index 1239935..918f199 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/form/LabelBorder.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/form/LabelBorder.java
@@ -57,7 +57,7 @@
protected void onBeforeRender() {
super.onBeforeRender();
- if (component.getFeedbackMessage() != null) {
+ if (component.getFeedbackMessages() != null) {
add(new AttributeAppender("class", Model.of("error"), " "));
}
}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/OrdinalColumn.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/OrdinalColumn.java
index 0fb26b8..1439576 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/table/OrdinalColumn.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/OrdinalColumn.java
@@ -22,16 +22,15 @@
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
/**
* Column with ordinal number.
*/
-public class OrdinalColumn<T> extends AbstractColumn<T> {
+public class OrdinalColumn<T> extends AbstractColumn<T, String> {
private static final long serialVersionUID = 1L;
- private transient int counter = 1;
-
public OrdinalColumn(String displayModel, String sortProperty) {
super(Model.of(displayModel), sortProperty);
}
@@ -45,12 +44,15 @@
}
public void populateItem(Item<ICellPopulator<T>> cellItem, String componentId, IModel<T> rowModel) {
- cellItem.add(new Label(componentId, "" + counter++));
+ cellItem.add(new Label(componentId, new PropertyModel<Integer>(cellItem, "parent.parent.index") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Integer getObject() {
+ // start counting from 1, not from 0
+ return super.getObject() + 1;
+ }
+ }));
}
- @Override
- public void detach() {
- super.detach();
- counter = 1;
- }
}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/PropertyColumnExt.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/PropertyColumnExt.java
index 42cdeb7..49be1b0 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/table/PropertyColumnExt.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/PropertyColumnExt.java
@@ -24,7 +24,7 @@
*
* @param <T> Type of displayed data.
*/
-public class PropertyColumnExt<T> extends PropertyColumn<T> {
+public class PropertyColumnExt<T> extends PropertyColumn<T, String> {
private static final long serialVersionUID = 1L;
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/SortablePropertyColumnExt.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/SortablePropertyColumnExt.java
index 77ffa7b..44d67a1 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/table/SortablePropertyColumnExt.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/SortablePropertyColumnExt.java
@@ -24,7 +24,7 @@
*
* @param <T> Type of displayed data.
*/
-public class SortablePropertyColumnExt<T> extends PropertyColumn<T> {
+public class SortablePropertyColumnExt<T> extends PropertyColumn<T, String> {
private static final long serialVersionUID = 1L;
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/AdvancedDataProvider.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/AdvancedDataProvider.java
new file mode 100644
index 0000000..71ffe1d
--- /dev/null
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/AdvancedDataProvider.java
@@ -0,0 +1,28 @@
+/*
+ * 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.core.table.advanced;
+
+import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
+
+/**
+ * Marker interface for data providers.
+ *
+ * @param <T> Type of the model.
+ */
+public interface AdvancedDataProvider<T> extends ISortableDataProvider<T, String> {
+
+}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/BaseDataProvider.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/BaseDataProvider.java
new file mode 100644
index 0000000..956dd06
--- /dev/null
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/BaseDataProvider.java
@@ -0,0 +1,30 @@
+/*
+ * 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.core.table.advanced;
+
+import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+
+/**
+ * Base class for data providers.
+ *
+ * @param <T> Type of model.
+ */
+public abstract class BaseDataProvider<T> extends SortableDataProvider<T, String> implements AdvancedDataProvider<T> {
+
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/BaseDataTable.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/BaseDataTable.java
new file mode 100644
index 0000000..a948a03
--- /dev/null
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/advanced/BaseDataTable.java
@@ -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.core.table.advanced;
+
+import java.util.List;
+
+import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
+import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
+
+/**
+ * Base class for data tables.
+ *
+ * @param <T> Type of model.
+ */
+public class BaseDataTable<T> extends DefaultDataTable<T, String> {
+
+ private static final long serialVersionUID = 1L;
+
+ public BaseDataTable(String id, List<IColumn<T, String>> columns, AdvancedDataProvider<T> dataProvider,
+ int rowsPerPage) {
+ super(id, columns, dataProvider, rowsPerPage);
+ }
+
+}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataProvider.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataProvider.java
index f638553..0908cd8 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataProvider.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataProvider.java
@@ -21,7 +21,7 @@
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.model.IModel;
/**
@@ -30,7 +30,7 @@
* @param <K> Key type.
* @param <V> Value type.
*/
-public class MapDataProvider<K, V> extends SortableDataProvider<Entry<K, V>> {
+public class MapDataProvider<K, V> extends BaseDataProvider<Entry<K, V>> {
private static final long serialVersionUID = 1L;
@@ -40,11 +40,11 @@
this.map = map;
}
- public Iterator<? extends Entry<K, V>> iterator(int first, int count) {
- return new ArrayList<Entry<K, V>>(map.entrySet()).subList(first, first + count).iterator();
+ public Iterator<? extends Entry<K, V>> iterator(long first, long count) {
+ return new ArrayList<Entry<K, V>>(map.entrySet()).subList((int) first, (int) (first + count)).iterator();
}
- public int size() {
+ public long size() {
return map.size();
}
diff --git a/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataTable.java b/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataTable.java
index e5b5b08..895b9dc 100644
--- a/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataTable.java
+++ b/core/src/main/java/org/apache/karaf/webconsole/core/table/map/MapDataTable.java
@@ -21,9 +21,9 @@
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
+import org.apache.karaf.webconsole.core.table.advanced.AdvancedDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
import org.apache.wicket.markup.repeater.data.IDataProvider;
/**
@@ -32,21 +32,21 @@
* @param <K> Key type.
* @param <V> Value type.
*/
-public class MapDataTable<K, V> extends DefaultDataTable<Entry<K, V>> {
+public class MapDataTable<K, V> extends BaseDataTable<Entry<K, V>> {
private static final long serialVersionUID = 1L;
- public MapDataTable(String id, IColumn<Entry<K, V>>[] columns, ISortableDataProvider<Entry<K, V>> dataProvider, int rowsPerPage) {
+ public MapDataTable(String id, IColumn<Entry<K, V>, String>[] columns, AdvancedDataProvider<Entry<K, V>> dataProvider, int rowsPerPage) {
super(id, Arrays.asList(columns), dataProvider, rowsPerPage);
}
- public MapDataTable(String id, ISortableDataProvider<Entry<K, V>> dataProvider, int rowsPerPage) {
+ public MapDataTable(String id, AdvancedDataProvider<Entry<K, V>> dataProvider, int rowsPerPage) {
this(id, getDefaultColumns(dataProvider), dataProvider, rowsPerPage);
}
@SuppressWarnings("unchecked")
- static <K,V> IColumn<Entry<K, V>>[] getDefaultColumns(IDataProvider<Entry<K, V>> provider) {
- IColumn<Entry<K, V>>[] columns = new IColumn[] {
+ static <K,V> IColumn<Entry<K, V>, String>[] getDefaultColumns(IDataProvider<Entry<K, V>> provider) {
+ IColumn<Entry<K, V>, String>[] columns = new IColumn[] {
new OrdinalColumn<Entry<K, V>>(),
new PropertyColumnExt<Entry<K, V>>("Key", "key"),
new PropertyColumnExt<Entry<K, V>>("Value", "value")
diff --git a/core/src/main/resources/org/apache/karaf/webconsole/core/dashboard/package.properties b/core/src/main/resources/org/apache/karaf/webconsole/core/dashboard/wicket-package.properties
similarity index 100%
rename from core/src/main/resources/org/apache/karaf/webconsole/core/dashboard/package.properties
rename to core/src/main/resources/org/apache/karaf/webconsole/core/dashboard/wicket-package.properties
diff --git a/core/src/main/resources/org/apache/karaf/webconsole/core/package.properties b/core/src/main/resources/org/apache/karaf/webconsole/core/wicket-package.properties
similarity index 100%
rename from core/src/main/resources/org/apache/karaf/webconsole/core/package.properties
rename to core/src/main/resources/org/apache/karaf/webconsole/core/wicket-package.properties
diff --git a/cxf/src/main/java/org/apache/karaf/webconsole/cxf/internal/services/CxfServicesPage.java b/cxf/src/main/java/org/apache/karaf/webconsole/cxf/internal/services/CxfServicesPage.java
index a3c4b09..559342e 100644
--- a/cxf/src/main/java/org/apache/karaf/webconsole/cxf/internal/services/CxfServicesPage.java
+++ b/cxf/src/main/java/org/apache/karaf/webconsole/cxf/internal/services/CxfServicesPage.java
@@ -25,12 +25,12 @@
import org.apache.karaf.webconsole.core.page.SinglePage;
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.AdvancedDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
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.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -49,22 +49,22 @@
@SuppressWarnings("serial")
public CxfServicesPage() {
@SuppressWarnings("unchecked")
- IColumn<Bus>[] columns = new IColumn[] {
+ IColumn<Bus, String>[] columns = new IColumn[] {
new OrdinalColumn<Bus>(),
new PropertyColumnExt<Bus>("Bus id", "id"),
- new AbstractColumn<Bus>(Model.of("Actions")) {
+ new AbstractColumn<Bus, String>(Model.of("Actions")) {
public void populateItem(Item<ICellPopulator<Bus>> cellItem, String componentId, IModel<Bus> rowModel) {
cellItem.add(new CxfBusesActionPanel(componentId, rowModel));
}
}
};
- ISortableDataProvider<Bus> provider = new SortableDataProvider<Bus>() {
- public Iterator<? extends Bus> iterator(int first, int count) {
- return new ArrayList<Bus>(buses).subList(first, first + count).iterator();
+ AdvancedDataProvider<Bus> provider = new BaseDataProvider<Bus>() {
+ public Iterator<? extends Bus> iterator(long first, long count) {
+ return new ArrayList<Bus>(buses).subList((int) first, (int) first + (int) count).iterator();
}
- public int size() {
+ public long size() {
return buses.size();
}
@@ -73,7 +73,7 @@
}
};
- add(new DefaultDataTable<Bus>("buses", Arrays.asList(columns), provider, 20));
+ add(new BaseDataTable<Bus>("buses", Arrays.asList(columns), provider, 20));
}
}
diff --git a/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/list/InstancePage.java b/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/list/InstancePage.java
index 83a0ce5..4fbe0b4 100644
--- a/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/list/InstancePage.java
+++ b/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/list/InstancePage.java
@@ -23,11 +23,11 @@
import org.apache.karaf.admin.Instance;
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.karaf.webconsole.karaf.admin.AdminPage;
import org.apache.karaf.webconsole.karaf.admin.model.InstanceDataProvider;
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.IColumn;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
@@ -43,14 +43,14 @@
@SuppressWarnings("unchecked")
public InstancePage() {
- IColumn<Instance>[] columns = new IColumn[] {
+ IColumn<Instance, String>[] columns = new IColumn[] {
new OrdinalColumn<Instance>(),
new PropertyColumnExt<Instance>("PID", "pid"),
new PropertyColumnExt<Instance>("Name", "name"),
new PropertyColumnExt<Instance>("Root", "root"),
new PropertyColumnExt<Instance>("State", "state"),
new PropertyColumnExt<Instance>("Location", "location"),
- new AbstractColumn<Instance>(of("Actions")) {
+ new AbstractColumn<Instance, String>(of("Actions")) {
private static final long serialVersionUID = 1L;
public void populateItem(Item<ICellPopulator<Instance>> cellItem, String componentId, IModel<Instance> rowModel) {
@@ -59,7 +59,7 @@
}
};
- add(new DefaultDataTable<Instance>("instances", Arrays.asList(columns), new InstanceDataProvider(admin), 20));
+ add(new BaseDataTable<Instance>("instances", Arrays.asList(columns), new InstanceDataProvider(admin), 20));
}
}
diff --git a/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/model/InstanceDataProvider.java b/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/model/InstanceDataProvider.java
index 80bca50..dbb287f 100644
--- a/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/model/InstanceDataProvider.java
+++ b/karaf/admin/src/main/java/org/apache/karaf/webconsole/karaf/admin/model/InstanceDataProvider.java
@@ -23,13 +23,13 @@
import org.apache.karaf.admin.AdminService;
import org.apache.karaf.admin.Instance;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.model.IModel;
/**
* Data provider for instances list.
*/
-public class InstanceDataProvider extends SortableDataProvider<Instance> {
+public class InstanceDataProvider extends BaseDataProvider<Instance> {
private static final long serialVersionUID = 1L;
@@ -39,13 +39,13 @@
this.admin = admin;
}
- public Iterator<? extends Instance> iterator(int first, int count) {
+ public Iterator<? extends Instance> iterator(long first, long count) {
List<Instance> list = new ArrayList<Instance>();
Collections.addAll(list, admin.getInstances());
- return list.subList(first, count).iterator();
+ return list.subList((int) first, (int) count).iterator();
}
- public int size() {
+ public long size() {
return admin.getInstances().length;
}
diff --git a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/FeaturesProvider.java b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/FeaturesProvider.java
index fa4c397..190a3d1 100644
--- a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/FeaturesProvider.java
+++ b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/FeaturesProvider.java
@@ -25,14 +25,14 @@
import org.apache.karaf.features.Feature;
import org.apache.karaf.features.FeaturesService;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
/**
* Feature list data provider.
*/
-public class FeaturesProvider extends SortableDataProvider<Feature> {
+public class FeaturesProvider extends BaseDataProvider<Feature> {
private static final long serialVersionUID = 1L;
@@ -44,7 +44,7 @@
setSort("name", SortOrder.ASCENDING);
}
- public Iterator<Feature> iterator(int first, int count) {
+ public Iterator<Feature> iterator(long first, long count) {
List<Feature> data = new ArrayList<Feature>();
try {
data = Arrays.asList(service.listFeatures());
@@ -69,11 +69,11 @@
return 0;
}
});
- return data.subList(first, Math.min(first + count, data.size()))
+ return data.subList((int) first, (int) Math.min(first + count, data.size()))
.iterator();
}
- public int size() {
+ public long size() {
try {
return service.listFeatures().length;
} catch (Exception e) {
diff --git a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/RepositoriesProvider.java b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/RepositoriesProvider.java
index 155b130..4e3e446 100644
--- a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/RepositoriesProvider.java
+++ b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/RepositoriesProvider.java
@@ -21,14 +21,14 @@
import org.apache.karaf.features.FeaturesService;
import org.apache.karaf.features.Repository;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.karaf.webconsole.karaf.feature.model.RepositoryModel;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
/**
* Data provider for repository list.
*/
-public class RepositoriesProvider extends SortableDataProvider<Repository> {
+public class RepositoriesProvider extends BaseDataProvider<Repository> {
private static final long serialVersionUID = 1L;
@@ -36,19 +36,19 @@
public RepositoriesProvider(FeaturesService service) {
this.service = service;
-
}
- public Iterator<Repository> iterator(int first, int count) {
+ public Iterator<Repository> iterator(long first, long count) {
return Arrays.asList(service.listRepositories())
- .subList(first, first + count).iterator();
+ .subList((int) first, (int) first + (int) count).iterator();
}
- public int size() {
+ public long size() {
return service.listRepositories().length;
}
public IModel<Repository> model(Repository object) {
return new RepositoryModel(service, object);
}
-}
\ No newline at end of file
+
+}
diff --git a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/feature/FeaturesPage.java b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/feature/FeaturesPage.java
index e989728..d52e8d4 100644
--- a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/feature/FeaturesPage.java
+++ b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/feature/FeaturesPage.java
@@ -24,11 +24,11 @@
import org.apache.karaf.features.Feature;
import org.apache.karaf.features.Repository;
import org.apache.karaf.webconsole.core.behavior.CssBehavior;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.karaf.webconsole.karaf.feature.FeaturesProvider;
import org.apache.karaf.webconsole.karaf.feature.KarafFeaturesPage;
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.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.html.basic.Label;
@@ -66,27 +66,27 @@
IModel repository = Model.of("repository");
IModel description = Model.of("description");
- List<IColumn<Feature>> columns = new ArrayList<IColumn<Feature>>();
- columns.add(new PropertyColumn<Feature>(new StringResourceModel("table.version", this, version), "version", "version"));
- columns.add(new PropertyColumn<Feature>(new StringResourceModel("table.name", this, name), "name", "name"));
- columns.add(new AbstractColumn<Feature>(new StringResourceModel("table.repository", this, repository), "repository") {
+ List<IColumn<Feature, String>> columns = new ArrayList<IColumn<Feature, String>>();
+ columns.add(new PropertyColumn<Feature, String>(new StringResourceModel("table.version", this, version), "version", "version"));
+ columns.add(new PropertyColumn<Feature, String>(new StringResourceModel("table.name", this, name), "name", "name"));
+ columns.add(new AbstractColumn<Feature, String>(new StringResourceModel("table.repository", this, repository), "repository") {
public void populateItem(Item<ICellPopulator<Feature>> cellItem, String componentId, IModel<Feature> rowModel) {
cellItem.add(new Label(componentId, feature2repo.get(rowModel.getObject().getId())));
}
});
- columns.add(new PropertyColumn<Feature>(new StringResourceModel("table.description", this, description), "description", "description"));
- columns.add(new AbstractColumn<Feature>(new StringResourceModel("table.state", this, state), "state") {
+ columns.add(new PropertyColumn<Feature, String>(new StringResourceModel("table.description", this, description), "description", "description"));
+ columns.add(new AbstractColumn<Feature, String>(new StringResourceModel("table.state", this, state), "state") {
public void populateItem(Item<ICellPopulator<Feature>> cellItem, String componentId, IModel<Feature> rowModel) {
cellItem.add(new Label(componentId, featuresService.isInstalled(rowModel.getObject()) ? "Installed" : "Uninstalled"));
}
});
- columns.add(new AbstractColumn<Feature>(new ResourceModel("table.actions")) {
+ columns.add(new AbstractColumn<Feature, String>(new ResourceModel("table.actions")) {
public void populateItem(Item<ICellPopulator<Feature>> cellItem, String componentId, IModel<Feature> model) {
cellItem.add(new FeaturesActionsPanel(componentId, model));
}
});
- add(new DefaultDataTable<Feature>("features", columns, new FeaturesProvider(featuresService), 20));
+ add(new BaseDataTable<Feature>("features", columns, new FeaturesProvider(featuresService), 20));
}
diff --git a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/model/RepositoryModel.java b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/model/RepositoryModel.java
index 2754a9c..ecf1cdb 100644
--- a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/model/RepositoryModel.java
+++ b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/model/RepositoryModel.java
@@ -33,6 +33,7 @@
private URI uri;
public RepositoryModel(FeaturesService service, Repository object) {
+ super(object);
this.service = service;
this.uri = object.getURI();
}
diff --git a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/repository/RepositoriesPage.java b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/repository/RepositoriesPage.java
index 097fd20..82c66cf 100644
--- a/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/repository/RepositoriesPage.java
+++ b/karaf/feature/src/main/java/org/apache/karaf/webconsole/karaf/feature/repository/RepositoriesPage.java
@@ -20,13 +20,13 @@
import org.apache.karaf.features.Repository;
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.karaf.webconsole.karaf.feature.KarafFeaturesPage;
import org.apache.karaf.webconsole.karaf.feature.RepositoriesProvider;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
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.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.repeater.Item;
@@ -45,12 +45,12 @@
@SuppressWarnings({"rawtypes", "serial", "unchecked"})
public RepositoriesPage() {
- IColumn<Repository>[] columns = new IColumn[] {
+ IColumn<Repository, String>[] columns = new IColumn[] {
new OrdinalColumn<Repository>(),
- new PropertyColumn<Repository>(Model.of("name"), "name", "name"),
- new PropertyColumn<Repository>(Model.of("URI"), "URI", "URI"),
- new PropertyColumn<Repository>(Model.of("valid"), "valid", "valid"),
- new AbstractColumn<Repository>(Model.of("Operations")) {
+ new PropertyColumn<Repository, String>(Model.of("name"), "name", "name"),
+ new PropertyColumn<Repository, String>(Model.of("URI"), "URI", "URI"),
+ new PropertyColumn<Repository, String>(Model.of("valid"), "valid", "valid"),
+ new AbstractColumn<Repository, String>(Model.of("Operations")) {
public void populateItem(Item<ICellPopulator<Repository>> cellItem, String componentId, IModel<Repository> rowModel) {
cellItem.add(new RepositoriesActionPanel(componentId, rowModel));
}
@@ -68,7 +68,7 @@
}
});
- add(new DefaultDataTable<Repository>("repositories", Arrays.asList(columns), new RepositoriesProvider(featuresService), 20));
+ add(new BaseDataTable<Repository>("repositories", Arrays.asList(columns), new RepositoriesProvider(featuresService), 20));
}
}
diff --git a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/BlueprintDataProvider.java b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/BlueprintDataProvider.java
index a39ad63..8effe94 100644
--- a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/BlueprintDataProvider.java
+++ b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/BlueprintDataProvider.java
@@ -20,15 +20,15 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.karaf.webconsole.osgi.core.shared.ServiceReferenceModel;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
import org.osgi.framework.ServiceReference;
/**
* Data provider for bundle list.
*/
-public class BlueprintDataProvider extends SortableDataProvider<ServiceReference> {
+public class BlueprintDataProvider extends BaseDataProvider<ServiceReference> {
private static final long serialVersionUID = 1L;
@@ -38,15 +38,15 @@
this.containers = containers;
}
- public Iterator<ServiceReference> iterator(int first, int count) {
- return new ArrayList<ServiceReference>(containers).subList(first, first+count).iterator();
+ public Iterator<ServiceReference> iterator(long first, long count) {
+ return new ArrayList<ServiceReference>(containers).subList((int) first, (int) first + (int) count).iterator();
}
public IModel<ServiceReference> model(ServiceReference object) {
return new ServiceReferenceModel(object);
}
- public int size() {
+ public long size() {
return containers.size();
}
diff --git a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java
index 787cc2c..e063d49 100644
--- a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java
+++ b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumn.java
@@ -27,7 +27,7 @@
/**
* Column representing items blueprint state.
*/
-class BlueprintColumn extends AbstractColumn<Bundle> {
+class BlueprintColumn extends AbstractColumn<Bundle, String> {
private static final long serialVersionUID = 1L;
diff --git a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java
index 430dc78..7ea6fa9 100644
--- a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java
+++ b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/bundle/BlueprintColumnProvider.java
@@ -25,7 +25,7 @@
*/
public class BlueprintColumnProvider implements IColumnProvider {
- public IColumn<Bundle> getColumn() {
+ public IColumn<Bundle, String> getColumn() {
return new BlueprintColumn();
}
diff --git a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/BlueprintDataTable.java b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/BlueprintDataTable.java
index 13c3936..19ef5ac 100644
--- a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/BlueprintDataTable.java
+++ b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/BlueprintDataTable.java
@@ -19,10 +19,10 @@
import java.util.Arrays;
import java.util.List;
+import org.apache.karaf.webconsole.core.table.advanced.AdvancedDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
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;
@@ -31,16 +31,16 @@
/**
* Table with blueprint containers.
*/
-public class BlueprintDataTable extends DefaultDataTable<ServiceReference> {
+public class BlueprintDataTable extends BaseDataTable<ServiceReference> {
private static final long serialVersionUID = 1L;
- @SuppressWarnings({"rawtypes", "unchecked", "serial"})
+ @SuppressWarnings({"rawtypes", "serial"})
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")) {
+ new AbstractColumn<ServiceReference, String>(Model.of("Operations")) {
public void populateItem(Item<ICellPopulator<ServiceReference>> cellItem, String componentId, IModel<ServiceReference> rowModel) {
cellItem.add(new BlueprintActionsPanel(componentId, rowModel));
}
@@ -48,7 +48,7 @@
);
@SuppressWarnings("unchecked")
- public BlueprintDataTable(String id, ISortableDataProvider<ServiceReference> dataProvider, int rowsPerPage) {
+ public BlueprintDataTable(String id, AdvancedDataProvider<ServiceReference> dataProvider, int rowsPerPage) {
super(id, COLUMNS, dataProvider, rowsPerPage);
}
diff --git a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/ServiceReferencePropertyColumn.java b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/ServiceReferencePropertyColumn.java
index 0841b64..9960c9a 100644
--- a/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/ServiceReferencePropertyColumn.java
+++ b/osgi/blueprint/src/main/java/org/apache/karaf/webconsole/osgi/blueprint/view/ServiceReferencePropertyColumn.java
@@ -27,7 +27,7 @@
/**
* Column representing single service reference property.
*/
-public abstract class ServiceReferencePropertyColumn extends AbstractColumn<ServiceReference> {
+public abstract class ServiceReferencePropertyColumn extends AbstractColumn<ServiceReference, String> {
private static final long serialVersionUID = 1L;
diff --git a/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/ConfigurationProvider.java b/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/ConfigurationProvider.java
index a6945f6..ec03494 100644
--- a/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/ConfigurationProvider.java
+++ b/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/ConfigurationProvider.java
@@ -19,9 +19,9 @@
import java.util.Arrays;
import java.util.Iterator;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.karaf.webconsole.osgi.config.model.ConfigurationModel;
import org.apache.karaf.webconsole.osgi.config.model.ConfigurationNotFoundException;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
@@ -29,7 +29,7 @@
/**
* Data provider for configuration list.
*/
-public class ConfigurationProvider extends SortableDataProvider<Configuration> {
+public class ConfigurationProvider extends BaseDataProvider<Configuration> {
private static final long serialVersionUID = 1L;
@@ -40,15 +40,15 @@
this.configurationAdmin = configurationAdmin;
}
- public Iterator<? extends Configuration> iterator(int from, int count) {
- return Arrays.asList(Arrays.copyOfRange(getConfigurations(), from, from + count)).iterator();
+ public Iterator<? extends Configuration> iterator(long from, long count) {
+ return Arrays.asList(Arrays.copyOfRange(getConfigurations(), (int) from, (int) from + (int) count)).iterator();
}
public IModel<Configuration> model(Configuration object) {
return new ConfigurationModel(object, configurationAdmin);
}
- public int size() {
+ public long size() {
return getConfigurations().length;
}
diff --git a/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/view/ConfigurationsDataTable.java b/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/view/ConfigurationsDataTable.java
index 4911867..ee273e1 100644
--- a/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/view/ConfigurationsDataTable.java
+++ b/osgi/config/src/main/java/org/apache/karaf/webconsole/osgi/config/view/ConfigurationsDataTable.java
@@ -19,11 +19,11 @@
import java.util.Arrays;
import java.util.List;
+import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.AdvancedDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
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.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -33,14 +33,14 @@
/**
* Datatable which shows list of configurations from OSGi {@link ConfigurationAdmin}.
*/
-public class ConfigurationsDataTable extends DefaultDataTable<Configuration> {
+public class ConfigurationsDataTable extends BaseDataTable<Configuration> {
private static final long serialVersionUID = 1L;
@SuppressWarnings({"rawtypes", "serial", "unchecked"})
private static List COLUMNS = Arrays.asList(
- new PropertyColumn<Configuration>(Model.of("pid"), "pid"),
- new AbstractColumn<Configuration>(Model.of("operations")) {
+ new PropertyColumnExt<Configuration>("pid"),
+ new AbstractColumn<Configuration, String>(Model.of("operations")) {
public void populateItem(Item<ICellPopulator<Configuration>> cellItem, String componentId, IModel<Configuration> model) {
cellItem.add(new ConfigurationsActionPanel(componentId, model));
}
@@ -48,13 +48,12 @@
);
@SuppressWarnings("unchecked")
- public ConfigurationsDataTable(String id, ISortableDataProvider<Configuration> dataProvider, int rowsPerPage) {
+ public ConfigurationsDataTable(String id, AdvancedDataProvider<Configuration> dataProvider, int rowsPerPage) {
super(id, COLUMNS, dataProvider, rowsPerPage);
}
@Override
- protected Item<Configuration> newRowItem(String id, int index,
- IModel<Configuration> model) {
+ protected Item<Configuration> newRowItem(String id, int index, IModel<Configuration> model) {
Configuration cfg = model.getObject();
if (cfg.getFactoryPid() != null) {
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java
index 33e9ad7..5e589cc 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/bundle/list/BundlePage.java
@@ -22,6 +22,7 @@
import java.util.List;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.karaf.webconsole.osgi.core.bundle.install.InstallBundlePage;
import org.apache.karaf.webconsole.osgi.core.shared.BundleDataProvider;
import org.apache.karaf.webconsole.osgi.core.shared.OsgiPage;
@@ -31,7 +32,6 @@
import org.apache.wicket.Page;
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.IColumn;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
@@ -61,8 +61,8 @@
private StartLevel startLevel;
public BundlePage() {
- List<IColumn<Bundle>> columns = new ArrayList<IColumn<Bundle>>();
- columns.add(new AbstractColumn<Bundle>(of("")) {
+ List<IColumn<Bundle, String>> columns = new ArrayList<IColumn<Bundle, String>>();
+ columns.add(new AbstractColumn<Bundle, String>(of("")) {
private static final long serialVersionUID = 1L;
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
@@ -70,7 +70,7 @@
}
});
columns.add(new PropertyColumnExt<Bundle>("Bundle Id", "bundleId"));
- columns.add(new AbstractColumn<Bundle>(of("State")) {
+ columns.add(new AbstractColumn<Bundle, String>(of("State")) {
private static final long serialVersionUID = 1L;
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
@@ -78,7 +78,7 @@
}
});
- columns.add(new AbstractColumn<Bundle>(of("Start level")) {
+ columns.add(new AbstractColumn<Bundle, String>(of("Start level")) {
private static final long serialVersionUID = 1L;
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
@@ -93,7 +93,7 @@
columns.add(new PropertyColumnExt<Bundle>("Name", "symbolicName"));
columns.add(new PropertyColumnExt<Bundle>("Version", "version.toString"));
- columns.add(new AbstractColumn<Bundle>(Model.of("Operations")) {
+ columns.add(new AbstractColumn<Bundle, String>(Model.of("Operations")) {
private static final long serialVersionUID = 1L;
public void populateItem(Item<ICellPopulator<Bundle>> cellItem, final String componentId, final IModel<Bundle> rowModel) {
@@ -101,7 +101,7 @@
}
});
- add(new DefaultDataTable<Bundle>("bundles", columns, new BundleDataProvider(context), 100));
+ add(new BaseDataTable<Bundle>("bundles", columns, new BundleDataProvider(context), 100));
add(new BookmarkablePageLink<Page>("install", InstallBundlePage.class));
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ExportPackageTable.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ExportPackageTable.java
index c602ca4..d5b22dd 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ExportPackageTable.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ExportPackageTable.java
@@ -30,7 +30,7 @@
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
- static IColumn<Clause>[] columns = new IColumn[] {
+ static IColumn<Clause, String>[] columns = new IColumn[] {
new OrdinalColumn<Clause>(),
new PackageColumn("Export"),
// new ResolutionColumn("Resolution"),
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderDataProvider.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderDataProvider.java
index a0d9789..7607a57 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderDataProvider.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderDataProvider.java
@@ -23,14 +23,14 @@
import java.util.List;
import org.apache.felix.utils.manifest.Clause;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.karaf.webconsole.osgi.core.manifest.ManifestUtil;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
import org.osgi.framework.Bundle;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class HeaderDataProvider extends SortableDataProvider<Clause> {
+public class HeaderDataProvider extends BaseDataProvider<Clause> {
private static final long serialVersionUID = 1L;
private transient Logger logger = LoggerFactory.getLogger(getClass());
@@ -50,13 +50,13 @@
}
}
- public Iterator<? extends Clause> iterator(int first, int count) {
+ public Iterator<? extends Clause> iterator(long first, long count) {
List<Clause> clauses = new ArrayList<Clause>();
clauses.addAll(Arrays.asList(this.clauses));
- return clauses.subList(first, count).iterator();
+ return clauses.subList((int) first, (int) count).iterator();
}
- public int size() {
+ public long size() {
return clauses.length;
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderTable.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderTable.java
index 99aacca..f1c787c 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderTable.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/HeaderTable.java
@@ -19,16 +19,16 @@
import java.util.Arrays;
import org.apache.felix.utils.manifest.Clause;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.osgi.framework.Bundle;
-public class HeaderTable extends DefaultDataTable<Clause> {
+public class HeaderTable extends BaseDataTable<Clause> {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- public HeaderTable(String id, IColumn<Clause>[] columns, Bundle bundle, String header) {
- super(id, Arrays.asList(columns), new HeaderDataProvider(bundle, header), Integer.MAX_VALUE);
- }
+ public HeaderTable(String id, IColumn<Clause, String>[] columns, Bundle bundle, String header) {
+ super(id, Arrays.asList(columns), new HeaderDataProvider(bundle, header), Integer.MAX_VALUE);
+ }
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ImportPackageTable.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ImportPackageTable.java
index 3b7e14e..ba6b788 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ImportPackageTable.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/ImportPackageTable.java
@@ -32,7 +32,7 @@
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
- static IColumn<Clause>[] columns = new IColumn[] {
+ static IColumn<Clause, String>[] columns = new IColumn[] {
new OrdinalColumn<Clause>(),
new PackageColumn("Import"),
new ResolutionColumn("Resolution"),
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackageDataProvider.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackageDataProvider.java
index 01bcc47..f02e810 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackageDataProvider.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackageDataProvider.java
@@ -21,13 +21,13 @@
import java.util.Iterator;
import java.util.List;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.model.IModel;
import org.osgi.framework.Bundle;
import org.osgi.service.packageadmin.ExportedPackage;
import org.osgi.service.packageadmin.PackageAdmin;
-public class PackageDataProvider extends SortableDataProvider<ExportedPackage> {
+public class PackageDataProvider extends BaseDataProvider<ExportedPackage> {
private static final long serialVersionUID = 1L;
@@ -40,13 +40,13 @@
packages = admin.getExportedPackages((Bundle) null);
}
- public Iterator<? extends ExportedPackage> iterator(int first, int count) {
+ public Iterator<? extends ExportedPackage> iterator(long first, long count) {
List<ExportedPackage> list = new ArrayList<ExportedPackage>();
Collections.addAll(list, packages);
- return list.subList(first, count).iterator();
+ return list.subList((int) first, (int) count).iterator();
}
- public int size() {
+ public long size() {
return packages.length;
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.java
index 219d345..eeed03b 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/pkg/list/PackagePage.java
@@ -21,8 +21,8 @@
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.karaf.webconsole.osgi.core.shared.OsgiPage;
-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.request.mapper.parameter.PageParameters;
import org.ops4j.pax.wicket.api.PaxWicketBean;
@@ -42,12 +42,12 @@
private PackageAdmin admin;
public PackagePage(PageParameters params) {
- List<IColumn<ExportedPackage>> columns = new ArrayList<IColumn<ExportedPackage>>();
+ List<IColumn<ExportedPackage, String>> columns = new ArrayList<IColumn<ExportedPackage, String>>();
columns.add(new OrdinalColumn<ExportedPackage>());
columns.add(new PropertyColumnExt<ExportedPackage>("Package name", "name"));
columns.add(new PropertyColumnExt<ExportedPackage>("Version", "version.toString"));
columns.add(new PropertyColumnExt<ExportedPackage>("Provider", "exportingBundle.symbolicName"));
- add(new DefaultDataTable<ExportedPackage>("packages", columns, new PackageDataProvider(admin), Integer.MAX_VALUE));
+ add(new BaseDataTable<ExportedPackage>("packages", columns, new PackageDataProvider(admin), Integer.MAX_VALUE));
}
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ExportServiceTable.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ExportServiceTable.java
index 794d6e3..aa1682a 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ExportServiceTable.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ExportServiceTable.java
@@ -18,22 +18,22 @@
import java.util.Arrays;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
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.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 ExportServiceTable extends DefaultDataTable<ServiceReference> {
+public class ExportServiceTable extends BaseDataTable<ServiceReference> {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
- private static IColumn<ServiceReference>[] columns = new IColumn[] {
+ private static IColumn<ServiceReference, String>[] columns = new IColumn[] {
new ServicePropertyColumn("Service Id", Constants.SERVICE_ID),
new ObjectClassColumn(Model.of("Object classes")),
new ServiceConsumerColumn("Consumers"),
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java
index a7d3366..60ea5d9 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/ImportServiceTable.java
@@ -18,22 +18,22 @@
import java.util.Arrays;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
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> {
+public class ImportServiceTable extends BaseDataTable<ServiceReference> {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
- private static IColumn<ServiceReference>[] columns = new IColumn[] {
+ private static IColumn<ServiceReference, String>[] columns = new IColumn[] {
new ServicePropertyColumn("Service Id", Constants.SERVICE_ID),
new ObjectClassColumn(Model.of("Object classes")),
new ServiceProviderColumn(Model.of("Provider")),
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java
index 32d8c56..af03eb2 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ObjectClassColumn.java
@@ -22,7 +22,7 @@
import org.apache.wicket.model.IModel;
import org.osgi.framework.ServiceReference;
-public class ObjectClassColumn extends AbstractColumn<ServiceReference> {
+public class ObjectClassColumn extends AbstractColumn<ServiceReference, String> {
private static final long serialVersionUID = 1L;
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java
index 2c5998e..08726b1 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/column/ServiceProviderColumn.java
@@ -22,7 +22,7 @@
import org.apache.wicket.model.IModel;
import org.osgi.framework.ServiceReference;
-public class ServiceProviderColumn extends AbstractColumn<ServiceReference> {
+public class ServiceProviderColumn extends AbstractColumn<ServiceReference, String> {
private static final long serialVersionUID = 1L;
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java
index b295062..af29927 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/service/list/ServicePage.java
@@ -19,13 +19,13 @@
import java.util.ArrayList;
import java.util.List;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
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.Model;
import org.ops4j.pax.wicket.api.PaxWicketMountPoint;
@@ -41,13 +41,13 @@
private static final long serialVersionUID = 1L;
public ServicePage() {
- List<IColumn<ServiceReference>> columns = new ArrayList<IColumn<ServiceReference>>();
+ List<IColumn<ServiceReference, String>> columns = new ArrayList<IColumn<ServiceReference, String>>();
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), Integer.MAX_VALUE));
+ add(new BaseDataTable<ServiceReference>("services", columns, new ServiceDataProvider(context, (String) null), Integer.MAX_VALUE));
}
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/BundleDataProvider.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/BundleDataProvider.java
index f0bdcbd..71eeb54 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/BundleDataProvider.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/BundleDataProvider.java
@@ -20,7 +20,7 @@
import java.util.Iterator;
import java.util.List;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.model.IModel;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -28,7 +28,7 @@
/**
* Data provider to which lists all installed bundles.
*/
-public class BundleDataProvider extends SortableDataProvider<Bundle> {
+public class BundleDataProvider extends BaseDataProvider<Bundle> {
private static final long serialVersionUID = 1L;
private BundleContext context;
@@ -37,17 +37,17 @@
this.context = context;
}
- public Iterator<? extends Bundle> iterator(int first, int count) {
+ public Iterator<? extends Bundle> iterator(long first, long count) {
List<Bundle> bundles = Arrays.asList(context.getBundles());
- return bundles.subList(first, first + count).iterator();
+ return bundles.subList((int) first, (int) first + (int) count).iterator();
}
public IModel<Bundle> model(Bundle object) {
return new BundleModel(context, object);
}
- public int size() {
+ public long size() {
return context.getBundles().length;
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java
index 549013f..253259d 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceDataProvider.java
@@ -21,7 +21,7 @@
import java.util.Iterator;
import java.util.List;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.model.IModel;
import org.osgi.framework.BundleContext;
import org.osgi.framework.InvalidSyntaxException;
@@ -32,7 +32,7 @@
* given criteria.
* <strong>The service list might be outdated before model is used!</strong>
*/
-public class ServiceDataProvider extends SortableDataProvider<ServiceReference> {
+public class ServiceDataProvider extends BaseDataProvider<ServiceReference> {
private static final long serialVersionUID = 1L;
@@ -81,16 +81,16 @@
this(context, clazz.getName());
}
- // provide methods
- public Iterator<? extends ServiceReference> iterator(int first, int count) {
- return services.subList(first, count).iterator();
+ // provider methods
+ public Iterator<? extends ServiceReference> iterator(long first, long count) {
+ return services.subList((int) first, (int) count).iterator();
}
public IModel<ServiceReference> model(ServiceReference object) {
return new ServiceReferenceModel(object);
}
- public int size() {
+ public long size() {
return services.size();
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceReferenceModel.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceReferenceModel.java
index 096b32b..884be3f 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceReferenceModel.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/shared/ServiceReferenceModel.java
@@ -36,6 +36,7 @@
}
public ServiceReferenceModel(ServiceReference object, Bundle bundle) {
+ super(object);
this.bundle = bundle;
serviceId = (Long) object.getProperty(Constants.SERVICE_ID);
}
diff --git a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/spi/IColumnProvider.java b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/spi/IColumnProvider.java
index aa3c76d..49fd3a7 100644
--- a/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/spi/IColumnProvider.java
+++ b/osgi/core/src/main/java/org/apache/karaf/webconsole/osgi/core/spi/IColumnProvider.java
@@ -21,6 +21,6 @@
public interface IColumnProvider {
- IColumn<Bundle> getColumn();
+ IColumn<Bundle, String> getColumn();
}
diff --git a/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties b/osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/wicket-package.properties
similarity index 100%
rename from osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/package.properties
rename to osgi/core/src/main/resources/org/apache/karaf/webconsole/osgi/core/wicket-package.properties
diff --git a/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/EventsPage.java b/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/EventsPage.java
index a74a81e..7f7ca0b 100644
--- a/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/EventsPage.java
+++ b/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/EventsPage.java
@@ -21,10 +21,10 @@
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.karaf.webconsole.osgi.core.shared.OsgiPage;
import org.apache.karaf.webconsole.osgi.event.model.EventTopicInfo;
import org.apache.karaf.webconsole.osgi.event.model.EventTopicsProvider;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.ops4j.pax.wicket.api.PaxWicketMountPoint;
@@ -37,12 +37,12 @@
private static final long serialVersionUID = 1L;
public EventsPage() {
- List<IColumn<EventTopicInfo>> columns = new ArrayList<IColumn<EventTopicInfo>>();
+ List<IColumn<EventTopicInfo, String>> columns = new ArrayList<IColumn<EventTopicInfo, String>>();
columns.add(new OrdinalColumn<EventTopicInfo>());
columns.add(new PropertyColumnExt<EventTopicInfo>("Topic", "topic"));
columns.add(new PropertyColumnExt<EventTopicInfo>("Number of consumers", "consumers"));
- add(new DefaultDataTable<EventTopicInfo>("topics", columns, new EventTopicsProvider(context), 100));
+ add(new BaseDataTable<EventTopicInfo>("topics", columns, new EventTopicsProvider(context), 100));
}
}
diff --git a/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/model/EventTopicsProvider.java b/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/model/EventTopicsProvider.java
index 8df9cfe..a24da9a 100644
--- a/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/model/EventTopicsProvider.java
+++ b/osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/model/EventTopicsProvider.java
@@ -20,7 +20,7 @@
import java.util.Iterator;
import java.util.Map;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.osgi.framework.BundleContext;
@@ -32,7 +32,7 @@
/**
* Simple data provider which collects topic names from a registered listeners.
*/
-public class EventTopicsProvider extends SortableDataProvider<EventTopicInfo> {
+public class EventTopicsProvider extends BaseDataProvider<EventTopicInfo> {
private static final long serialVersionUID = 1L;
@@ -69,11 +69,11 @@
topics.get(topic).addConsumer();
}
- public Iterator<? extends EventTopicInfo> iterator(int first, int count) {
+ public Iterator<? extends EventTopicInfo> iterator(long first, long count) {
return topics.values().iterator();
}
- public int size() {
+ public long size() {
return topics.size();
}
diff --git a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java
index 1e61090..c00e214 100644
--- a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java
+++ b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogEntriesDataProvider.java
@@ -21,8 +21,8 @@
import java.util.LinkedList;
import java.util.List;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
import org.apache.karaf.webconsole.osgi.log.search.Matcher;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
import org.osgi.service.log.LogEntry;
import org.osgi.service.log.LogReaderService;
@@ -30,7 +30,7 @@
/**
* Data provider for log table.
*/
-final class LogEntriesDataProvider extends SortableDataProvider<LogEntry> {
+final class LogEntriesDataProvider extends BaseDataProvider<LogEntry> {
private static final long serialVersionUID = 1L;
@@ -48,8 +48,8 @@
this.matchers = matchers;
}
- public Iterator<? extends LogEntry> iterator(int first, int count) {
- return getEntries().subList(first, first + count).iterator();
+ public Iterator<? extends LogEntry> iterator(long first, long count) {
+ return getEntries().subList((int) first, (int) first + (int) count).iterator();
}
private List<LogEntry> getEntries() {
@@ -78,7 +78,7 @@
return new LogEntryModel(this.logReader, object);
}
- public int size() {
+ public long size() {
return getEntries().size();
}
diff --git a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java
index 838d8f5..3aaef7c 100644
--- a/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java
+++ b/osgi/log/src/main/java/org/apache/karaf/webconsole/osgi/log/LogsPage.java
@@ -22,11 +22,11 @@
import java.util.List;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.karaf.webconsole.osgi.core.shared.OsgiPage;
import org.apache.karaf.webconsole.osgi.log.search.Matcher;
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.IColumn;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
@@ -61,15 +61,15 @@
setDefaultModel(model);
@SuppressWarnings("unchecked")
- IColumn<LogEntry>[] columns = new IColumn[] {
- new AbstractColumn<LogEntry>(Model.of("time")) {
+ IColumn<LogEntry, String>[] columns = new IColumn[] {
+ new AbstractColumn<LogEntry, String>(Model.of("time")) {
public void populateItem(Item<ICellPopulator<LogEntry>> cellItem, String componentId, IModel<LogEntry> rowModel) {
long time = rowModel.getObject().getTime();
DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.FULL);
cellItem.add(new Label(componentId, format.format(new Date(time))));
}
},
- new AbstractColumn<LogEntry>(Model.of("level")) {
+ new AbstractColumn<LogEntry, String>(Model.of("level")) {
public void populateItem(Item<ICellPopulator<LogEntry>> cellItem, String componentId, IModel<LogEntry> rowModel) {
cellItem.add(new Label(componentId, Priority.valueOf(rowModel.getObject()).name()));
}
@@ -80,12 +80,9 @@
new PropertyColumnExt<LogEntry>("Exception", "exception"),
};
- OptionsForm form = new OptionsForm("filters", model);
+ add(new OptionsForm("filters", model));
LogEntriesDataProvider provider = new LogEntriesDataProvider(logReader, options, matchers);
- DefaultDataTable<LogEntry> table = new DefaultDataTable<LogEntry>("logs", Arrays.asList(columns), provider, 20);
-
- add(table);
- add(form);
+ add(new BaseDataTable<LogEntry>("logs", Arrays.asList(columns), provider, 20));
}
}
diff --git a/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumn.java b/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumn.java
index 44dfb53..52b48eb 100644
--- a/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumn.java
+++ b/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumn.java
@@ -30,7 +30,7 @@
/**
* A dedicated column to display scr component states.
*/
-public class ScrColumn extends AbstractColumn<Bundle> {
+public class ScrColumn extends AbstractColumn<Bundle, String> {
private static final long serialVersionUID = 1L;
diff --git a/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumnProvider.java b/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumnProvider.java
index b4bdd3e..029b266 100644
--- a/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumnProvider.java
+++ b/osgi/scr/src/main/java/org/apache/karaf/webconsole/osgi/scr/ScrColumnProvider.java
@@ -25,7 +25,7 @@
*/
public class ScrColumnProvider implements IColumnProvider {
- public IColumn<Bundle> getColumn() {
+ public IColumn<Bundle, String> getColumn() {
return new ScrColumn("SCR");
}
diff --git a/pom.xml b/pom.xml
index 9e3f661..73312ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,11 +63,13 @@
<pax-exam-karaf.version>0.5.0</pax-exam-karaf.version>
<pax-exam-junit.version>2.3.0</pax-exam-junit.version>
<pax-logging.version>1.6.4</pax-logging.version>
- <pax-wicket.version>1.1.0</pax-wicket.version>
+ <pax-wicket.version>2.0.1</pax-wicket.version>
<scala.version>2.9.1</scala.version>
<scala-plugin.version>2.15.2</scala-plugin.version>
<servicemix-nmr.version>1.4.0</servicemix-nmr.version>
<slf4j.version>1.6.1</slf4j.version>
+ <!-- should be in sync with pax-wicket dependencies -->
+ <wicket.version>6.2.0</wicket.version>
</properties>
<modules>
diff --git a/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/EndpointsPage.java b/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/EndpointsPage.java
index 8ee4ebf..12397ce 100644
--- a/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/EndpointsPage.java
+++ b/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/EndpointsPage.java
@@ -24,12 +24,12 @@
import org.apache.karaf.webconsole.core.table.OrdinalColumn;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.AdvancedDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.servicemix.nmr.api.Endpoint;
import org.apache.servicemix.nmr.api.EndpointRegistry;
-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.extensions.markup.html.repeater.data.table.ISortableDataProvider;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -42,7 +42,7 @@
@SuppressWarnings({"unchecked", "serial"})
public EndpointsPage() {
- IColumn<Map<String, Object>>[] columns = new IColumn[] {
+ IColumn<Map<String, Object>, String>[] columns = new IColumn[] {
new OrdinalColumn<Map<String, Object>>(),
new PropertyColumnExt<Map<String, Object>>("Name", Endpoint.NAME),
new PropertyColumnExt<Map<String, Object>>("Version", Endpoint.VERSION),
@@ -54,9 +54,9 @@
new PropertyColumnExt<Map<String, Object>>("Wsdl url", Endpoint.WSDL_URL)
};
- ISortableDataProvider<Map<String, Object>> provider = new SortableDataProvider<Map<String, Object>>() {
+ AdvancedDataProvider<Map<String, Object>> provider = new BaseDataProvider<Map<String, Object>>() {
- public Iterator<? extends Map<String, Object>> iterator(int first, int count) {
+ public Iterator<? extends Map<String, Object>> iterator(long first, long count) {
List<Map<String, Object>> props = new ArrayList<Map<String,Object>>();
EndpointRegistry endpointRegistry = nmr.getEndpointRegistry();
@@ -64,10 +64,10 @@
props.add((Map<String, Object>) endpointRegistry.getProperties(endpoint));
}
- return props.subList(first, count).iterator();
+ return props.subList((int) first, (int) count).iterator();
}
- public int size() {
+ public long size() {
return nmr.getEndpointRegistry().getServices().size();
}
@@ -76,7 +76,7 @@
}
};
- add(new DefaultDataTable<Map<String, Object>>("endpoints", Arrays.asList(columns), provider, 20));
+ add(new BaseDataTable<Map<String, Object>>("endpoints", Arrays.asList(columns), provider, 20));
}
}
diff --git a/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/TrackNmrPage.java b/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/TrackNmrPage.java
index e3f7905..5bd2984 100644
--- a/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/TrackNmrPage.java
+++ b/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/TrackNmrPage.java
@@ -21,13 +21,13 @@
import java.util.Iterator;
import org.apache.karaf.webconsole.core.table.PropertyColumnExt;
+import org.apache.karaf.webconsole.core.table.advanced.AdvancedDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataProvider;
+import org.apache.karaf.webconsole.core.table.advanced.BaseDataTable;
import org.apache.servicemix.nmr.api.Exchange;
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.IColumn;
-import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
-import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -45,26 +45,26 @@
@SuppressWarnings({"unchecked", "serial", "rawtypes"})
public TrackNmrPage() {
- IColumn<Exchange>[] columns = new IColumn[] {
+ IColumn<Exchange, String>[] columns = new IColumn[] {
new PropertyColumnExt<Exchange>("Id", "id"),
new PropertyColumnExt<Exchange>("Role", "role"),
new PropertyColumnExt<Exchange>("Status", "status"),
new PropertyColumnExt<Exchange>("Pattern", "pattern"),
new PropertyColumnExt<Exchange>("Operation", "operation"),
- new AbstractColumn<Exchange>(Model.of("Operations")) {
+ new AbstractColumn<Exchange, String>(Model.of("Operations")) {
public void populateItem(Item<ICellPopulator<Exchange>> cellItem, String componentId, IModel<Exchange> rowModel) {
cellItem.add(new ExchangeActionsPanel(componentId, rowModel));
}
}
};
- ISortableDataProvider<Exchange> dataProvider = new SortableDataProvider<Exchange>() {
+ AdvancedDataProvider<Exchange> dataProvider = new BaseDataProvider<Exchange>() {
- public Iterator<? extends Exchange> iterator(int first, int count) {
- return new ArrayList(listener.getExchanges()).subList(first, first + count).iterator();
+ public Iterator<? extends Exchange> iterator(long first, long count) {
+ return new ArrayList(listener.getExchanges()).subList((int) first, (int) first + (int) count).iterator();
}
- public int size() {
+ public long size() {
return listener.getExchanges().size();
}
@@ -74,7 +74,7 @@
};
- add(new DefaultDataTable<Exchange>("exchanges", Arrays.asList(columns), dataProvider, 20));
+ add(new BaseDataTable<Exchange>("exchanges", Arrays.asList(columns), dataProvider, 20));
}