So far I don't know any... 

> Outsch; in that case it is a little bit more complicated. Doing this:
> "@PaxWicketBean NMR : nmr = null" is the same as that :
> "@PaxWicketBean(name="NMR") NMR nmr = null" in Java? Because that line is
> not allowed by the way wicket injects properties. Since the super-class (and
> therefore the component-injector) is called BEFORE the fields are set with
> the values you overwrite the bean with null :-( this is rather a general
> Wicket problem... I assume there isn't any workaround for this in Scala?
> 
> Kind regards,
> Andreas
> 
> 2011/8/30 Łukasz Dywicki <[email protected]>
> 
>> 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
>>>> 
>>>> 
>>>> 
>> 
>> 

Reply via email to