Hey Achim, Take a look on this code: @PaxWicketBean NMR : nmr = null
The problem is field injection with Scala and scala constructors. With Scala all not initialized fields (without default value) needs to be set in constructor. Because I haven't got any reference in constructor I've set nmr to null as below. When I use nmr reference in constructor I simply have NullPointerException with first usage of nmr. That's definitely is not a PaxWicket issue, but problem with Scala authors assumption. You can turn back to scala simply uncomment fragments in pom.xml. Best regards, Lukasz > What should I do to reproduce this problem? I'm curious if it is osgi, > pax-wicket or something else that scala does not work here? > > On Fri, Aug 26, 2011 at 17:17, <[email protected]> wrote: > >> Author: ldywicki >> Date: Fri Aug 26 15:17:36 2011 >> New Revision: 1162137 >> >> URL: http://svn.apache.org/viewvc?rev=1162137&view=rev >> Log: >> Dummy ServiceMix plugin which shows NMR endpoints. Tried to do same with >> scala, without luck. >> >> Added: >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/pom.xml >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.java >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/navigation/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/navigation/ServiceMixConsoleTab.java >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/OSGI-INF/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/OSGI-INF/blueprint/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/OSGI-INF/blueprint/servicemix.xml >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/servicemix/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/servicemix/internal/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.html >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.scala >> >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixWidgetProvider.scala >> Modified: >> karaf/sandbox/pieber/karaf-webconsole/trunk/pom.xml >> >> Modified: karaf/sandbox/pieber/karaf-webconsole/trunk/pom.xml >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/pom.xml?rev=1162137&r1=1162136&r2=1162137&view=diff >> >> ============================================================================== >> --- karaf/sandbox/pieber/karaf-webconsole/trunk/pom.xml (original) >> +++ karaf/sandbox/pieber/karaf-webconsole/trunk/pom.xml Fri Aug 26 15:17:36 >> 2011 >> @@ -32,6 +32,7 @@ >> <log4j.version>1.2.14</log4j.version> >> <ops4j.paxwicket.version>0.8.0-SNAPSHOT</ops4j.paxwicket.version> >> <karaf.version>2.2.2</karaf.version> >> + <nmr.version>1.4.0</nmr.version> >> </properties> >> >> <modules> >> @@ -40,6 +41,7 @@ >> <module>blueprint</module> >> <module>karaf</module> >> <module>features</module> >> + <module>servicemix</module> >> >> <module>examples</module> >> <module>manual</module> >> >> Added: karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/pom.xml >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/pom.xml?rev=1162137&view=auto >> >> ============================================================================== >> --- karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/pom.xml (added) >> +++ karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/pom.xml Fri Aug >> 26 15:17:36 2011 >> @@ -0,0 +1,100 @@ >> +<?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. >> +--> >> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" >> http://www.w3.org/2001/XMLSchema-instance" >> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/maven-v4_0_0.xsd"> >> + <modelVersion>4.0.0</modelVersion> >> + >> + <parent> >> + <groupId>org.apache.karaf</groupId> >> + <artifactId>webconsole</artifactId> >> + <version>1.0.0-SNAPSHOT</version> >> + </parent> >> + >> + <groupId>org.apache.karaf.webconsole</groupId> >> + <artifactId>org.apache.karaf.webconsole.servicemix</artifactId> >> + <packaging>bundle</packaging> >> + <name>Apache Karaf :: Karaf Webconsole Prototype :: ServiceMix >> extension</name> >> + <version>1.0.0-SNAPSHOT</version> >> + >> + <dependencies> >> + <dependency> >> + <groupId>org.apache.karaf.webconsole</groupId> >> + <artifactId>org.apache.karaf.webconsole.core</artifactId> >> + <version>${project.version}</version> >> + </dependency> >> + >> + <dependency> >> + <groupId>org.apache.servicemix.nmr</groupId> >> + <artifactId>org.apache.servicemix.nmr.api</artifactId> >> + <version>${nmr.version}</version> >> + </dependency> >> + >> + <!-- >> + <dependency> >> + <groupId>org.scala-lang</groupId> >> + <artifactId>scala-library</artifactId> >> + <version>2.9.0</version> >> + </dependency> >> + --> >> + >> + </dependencies> >> + >> + <build> >> + <!-- >> + <sourceDirectory>src/main/scala</sourceDirectory> >> + --> >> + <plugins> >> + <!-- >> + <plugin> >> + <groupId>org.scala-tools</groupId> >> + <artifactId>maven-scala-plugin</artifactId> >> + <version>2.15.2</version> >> + <executions> >> + <execution> >> + <goals> >> + <goal>compile</goal> >> + <goal>testCompile</goal> >> + </goals> >> + </execution> >> + </executions> >> + </plugin> >> + --> >> + <plugin> >> + <groupId>org.apache.felix</groupId> >> + <artifactId>maven-bundle-plugin</artifactId> >> + <version>2.3.5</version> >> + <extensions>true</extensions> >> + <configuration> >> + <instructions> >> + >> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> >> + <Import-Package> >> + !org.apache.karaf.webconsole.servicemix*, >> + *, >> + <!-- transient dependencies --> >> + org.ops4j.pax.wicket.api, >> + org.ops4j.pax.wicket.util, >> + org.ops4j.pax.wicket.util.proxy, >> + <!-- karaf --> >> + org.apache.servicemix.nmr.api >> + </Import-Package> >> + </instructions> >> + </configuration> >> + </plugin> >> + </plugins> >> + </build> >> +</project> >> >> Added: >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.java >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.java?rev=1162137&view=auto >> >> ============================================================================== >> --- >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.java >> (added) >> +++ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.java >> Fri Aug 26 15:17:36 2011 >> @@ -0,0 +1,64 @@ >> +package org.apache.karaf.webconsole.servicemix.internal; >> + >> +import java.util.ArrayList; >> +import java.util.Iterator; >> +import java.util.List; >> +import java.util.Map; >> + >> +import org.apache.karaf.webconsole.core.BasePage; >> +import org.apache.karaf.webconsole.core.table.OrdinalColumn; >> +import org.apache.karaf.webconsole.core.table.PropertyColumnExt; >> +import org.apache.servicemix.nmr.api.Endpoint; >> +import org.apache.servicemix.nmr.api.EndpointRegistry; >> +import org.apache.servicemix.nmr.api.NMR; >> +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; >> +import org.ops4j.pax.wicket.api.PaxWicketBean; >> + >> +public class ServiceMixPage extends BasePage { >> + >> + @PaxWicketBean(name = "nmr") >> + private NMR nmr; >> + >> + public ServiceMixPage() { >> + IColumn[] columns = new IColumn[] { >> + new OrdinalColumn<Map<String, Object>>(), >> + new PropertyColumnExt<Map<String, Object>>("Name", >> Endpoint.NAME), >> + new PropertyColumnExt<Map<String, Object>>("Version", >> Endpoint.VERSION), >> + new PropertyColumnExt<Map<String, Object>>("Endpoint Name", >> Endpoint.ENDPOINT_NAME), >> + new PropertyColumnExt<Map<String, Object>>("Interface", >> Endpoint.INTERFACE_NAME), >> + new PropertyColumnExt<Map<String, Object>>("Service name", >> Endpoint.SERVICE_NAME), >> + new PropertyColumnExt<Map<String, Object>>("Sync?", >> Endpoint.CHANNEL_SYNC_DELIVERY), >> + new PropertyColumnExt<Map<String, Object>>("Untargetable?", >> Endpoint.UNTARGETABLE), >> + new PropertyColumnExt<Map<String, Object>>("Wsdl url", >> Endpoint.WSDL_URL) >> + }; >> + >> + ISortableDataProvider<Map<String, Object>> provider = new >> SortableDataProvider<Map<String, Object>>() { >> + >> + public Iterator<? extends Map<String, Object>> iterator(int >> first, int count) { >> + List<Map<String, Object>> props = new >> ArrayList<Map<String,Object>>(); >> + >> + EndpointRegistry endpointRegistry = >> nmr.getEndpointRegistry(); >> + for (Endpoint endpoint : endpointRegistry.getServices()) { >> + props.add((Map<String, Object>) >> endpointRegistry.getProperties(endpoint)); >> + } >> + >> + return props.subList(first, count).iterator(); >> + } >> + >> + public int size() { >> + return nmr.getEndpointRegistry().getServices().size(); >> + } >> + >> + public IModel<Map<String, Object>> model(Map<String, Object> >> object) { >> + return Model.ofMap(object); >> + } >> + }; >> + >> + add(new DefaultDataTable<Map<String, Object>>("endpoints", >> columns, provider, 20)); >> + } >> +} >> >> Added: >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/navigation/ServiceMixConsoleTab.java >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/navigation/ServiceMixConsoleTab.java?rev=1162137&view=auto >> >> ============================================================================== >> --- >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/navigation/ServiceMixConsoleTab.java >> (added) >> +++ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/navigation/ServiceMixConsoleTab.java >> Fri Aug 26 15:17:36 2011 >> @@ -0,0 +1,26 @@ >> +package org.apache.karaf.webconsole.servicemix.internal.navigation; >> + >> +import java.util.Collections; >> +import java.util.Map; >> + >> +import org.apache.karaf.webconsole.core.navigation.ConsoleTab; >> +import org.apache.karaf.webconsole.servicemix.internal.ServiceMixPage; >> +import org.apache.wicket.Page; >> + >> +public class ServiceMixConsoleTab implements ConsoleTab { >> + >> + public Map<String, Class<? extends Page>> getItems() { >> + return Collections.emptyMap(); >> + } >> + >> + public String getLabel() { >> + return "servicemix"; >> + } >> + >> + public Class<? extends Page> getModuleHomePage() { >> + return ServiceMixPage.class; >> + } >> + >> + >> + >> +} >> >> Added: >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/OSGI-INF/blueprint/servicemix.xml >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/OSGI-INF/blueprint/servicemix.xml?rev=1162137&view=auto >> >> ============================================================================== >> --- >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/OSGI-INF/blueprint/servicemix.xml >> (added) >> +++ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/OSGI-INF/blueprint/servicemix.xml >> Fri Aug 26 15:17:36 2011 >> @@ -0,0 +1,38 @@ >> +<?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. >> +--> >> +<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> >> + >> + <service >> interface="org.apache.karaf.webconsole.core.navigation.ConsoleTab"> >> + <bean >> class="org.apache.karaf.webconsole.servicemix.internal.navigation.ServiceMixConsoleTab" >> /> >> + </service> >> + >> + <reference id="nmr" interface="org.apache.servicemix.nmr.api.NMR"/> >> + >> + <!-- >> + <service ref="widgetProvider" >> interface="org.apache.karaf.webconsole.core.widget.WidgetProvider"> >> + <service-properties> >> + <entry key="intention" value="dashboard" /> >> + </service-properties> >> + </service> >> + >> + <bean id="widgetProvider" >> class="org.apache.karaf.webconsole.servicemix.internal.widget.ServiceMixWidgetProvider"> >> + <argument ref="featuresService" /> >> + </bean> >> + --> >> + >> +</blueprint> >> >> Added: >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.html >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.html?rev=1162137&view=auto >> >> ============================================================================== >> --- >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.html >> (added) >> +++ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/resources/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.html >> Fri Aug 26 15:17:36 2011 >> @@ -0,0 +1,32 @@ >> +<?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. >> +--> >> +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket=" >> http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> >> +<head> >> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> >> + <title>Karaf WebConsole</title> >> +</head> >> +<body> >> + >> + <wicket:extend> >> + <h1>ServiceMix page</h1> >> + >> + <table wicket:id="endpoints" class="dataview" /> >> + </wicket:extend> >> + >> +</body> >> +</html> >> \ No newline at end of file >> >> Added: >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.scala >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.scala?rev=1162137&view=auto >> >> ============================================================================== >> --- >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.scala >> (added) >> +++ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixPage.scala >> Fri Aug 26 15:17:36 2011 >> @@ -0,0 +1,50 @@ >> +package org.apache.karaf.webconsole.servicemix.internal >> + >> +import org.apache.karaf.webconsole.core.BasePage >> +import org.apache.karaf.webconsole.core.table.{PropertyColumnExt, >> OrdinalColumn} >> +import org.apache.servicemix.nmr.api.{NMR, Endpoint} >> +import org.ops4j.pax.wicket.api.PaxWicketBean >> +import >> org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider >> +import java.util._ >> +import collection.JavaConversions._ >> +import org.apache.wicket.model.{Model} >> +import >> org.apache.wicket.extensions.markup.html.repeater.data.table.{IColumn, >> DefaultDataTable} >> +import collection.mutable.{ListBuffer} >> +import org.apache.wicket.PageParameters >> + >> +class ServiceMixPage extends BasePage { >> + >> + @PaxWicketBean private val nmr : NMR = _ >> + >> + val columns = Array[IColumn[Map[String, Any]]]( >> + new OrdinalColumn[Map[String, Any]](), >> + new PropertyColumnExt[Map[String, Any]]("Name", Endpoint.NAME), >> + new PropertyColumnExt[Map[String, Any]]("Version", Endpoint.VERSION), >> + new PropertyColumnExt[Map[String, Any]]("Endpoint Name", >> Endpoint.ENDPOINT_NAME), >> + new PropertyColumnExt[Map[String, Any]]("Interface", >> Endpoint.INTERFACE_NAME), >> + new PropertyColumnExt[Map[String, Any]]("Service name", >> Endpoint.SERVICE_NAME), >> + new PropertyColumnExt[Map[String, Any]]("Sync?", >> Endpoint.CHANNEL_SYNC_DELIVERY), >> + new PropertyColumnExt[Map[String, Any]]("Untargetable?", >> Endpoint.UNTARGETABLE), >> + new PropertyColumnExt[Map[String, Any]]("Wsdl url", Endpoint.WSDL_URL) >> + ) >> + >> + val provider = new SortableDataProvider[Map[String, Any]]() { >> + override def model(properties : Map[String, Any]) = >> Model.ofMap(properties) >> + >> + override def size() = nmr.getEndpointRegistry.getServices.size >> + >> + override def iterator(first: Int, count: Int) = { >> + val endpoints = nmr.getEndpointRegistry.getServices >> + >> + val b = new ListBuffer[Map[String, Any]] >> + for (endpoint <- endpoints) { >> + >> b.add(nmr.getEndpointRegistry.getProperties(endpoint).asInstanceOf[Map[String, >> Any]]) >> + } >> + >> + b.slice(first, first + count).iterator >> + } >> + } >> + >> + add(new DefaultDataTable[Map[String, Any]]("endpoints", columns, >> provider, 20)); >> + >> +} >> >> Added: >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixWidgetProvider.scala >> URL: >> http://svn.apache.org/viewvc/karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixWidgetProvider.scala?rev=1162137&view=auto >> >> ============================================================================== >> --- >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixWidgetProvider.scala >> (added) >> +++ >> karaf/sandbox/pieber/karaf-webconsole/trunk/servicemix/src/main/scala/org/apache/karaf/webconsole/servicemix/internal/ServiceMixWidgetProvider.scala >> Fri Aug 26 15:17:36 2011 >> @@ -0,0 +1,17 @@ >> +package org.apache.karaf.webconsole.servicemix.internal >> +/* >> +import org.apache.karaf.webconsole.core.navigation.ConsoleTab >> +import java.util._ >> +import org.apache.wicket.Page >> + >> +object ServiceMixWidgetProvider extends ConsoleTab { >> + >> + def getLabel() = "servicemix" >> + >> + def getModuleHomePage() : Class[Page] = classOf[ServiceMixPage] >> + >> + def getItems() : Map[String, Class[Page]] = { >> + return new HashMap[String, Class[Page]](); >> + } >> + >> +}*/ >> \ No newline at end of file >> >> >>
