Vaadin Flow and Apache Karaf

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Vaadin Flow and Apache Karaf

Julian Feinauer

Hi all,

 

we use the Vaadin Framework [1] in multiple projects as Frontend technology.

As I just recently started with Karaf I wanted to build a small example app based on Vaadin and OSGI.

Although Vaadin claims to have OSGi support [2], it really doesn’t feel well documented, properly tested and up to date. And it is lacking a good Karaf integration like a feature or so.

An Example project is shown here [3] but its very implicit (uses embedded Felix and tons of maven shenanigans as it looks).

 

Does anyone here have experience with Vaadin or an idea on how one would approach a Vaadin-OSGi Application?

 

Thanks!

Julian

 

[1] https://vaadin.com/

[2] https://vaadin.com/docs/v14/flow/osgi/tutorial-osgi-basic.html

[3] https://github.com/vaadin/base-starter-flow-osgi

Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

jbonofre
Hi Julian,

I don't have personal experience but I helped some guys on Vaadin.

IMHO, Vaadin should provide a clean features XML.

This is one that I created for Vaadin 7:

<?xml version="1.0" encoding="UTF-8"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0
http://karaf.apache.org/xmlns/features/v1.0.0"
    name="vaadin7-feature">

    <feature install="true" name="vaadin7-feature" version="1.0.0-SNAPSHOT">
        <feature>vaadin7-common</feature>
        <bundle>mvn:com.vaadin/vaadin-themes/7.3.0</bundle>
        <bundle>mvn:com.vaadin/vaadin-shared/7.3.0</bundle>
        <bundle>mvn:com.vaadin/vaadin-server/7.3.0</bundle>
        <bundle>mvn:com.vaadin/vaadin-client/7.3.0</bundle>
        <bundle>mvn:com.vaadin/vaadin-client-compiled/7.3.0</bundle>
        <bundle>mvn:com.vaadin/vaadin-push/7.3.0</bundle>
        <bundle>mvn:com.vaadin/vaadin-sass-compiler/0.9.2</bundle>
    </feature>

    <feature name="vaadin7-common" version="1.0.0-SNAPSHOT">

<bundle>mvn:com.vaadin.external.google/android-json/0.0.20131108.vaadin1</bundle>

<bundle>mvn:org.jbundle.util.osgi.wrapped/org.jbundle.util.osgi.wrapped.c3p0/0.9.1.2</bundle>
        <bundle>mvn:org.quartz-scheduler/quartz/2.2.1</bundle>
        <bundle>mvn:joda-time/joda-time/2.4</bundle>

<bundle>wrap:mvn:org.springframework/spring-core/3.2.6.RELEASE$Bundle-SymbolicName=Spring-Framework&amp;Bundle-Version=3.2.6.RELEASE</bundle>

<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7</bundle>
        <bundle>mvn:com.google.guava/guava/16.0.1</bundle>
        <bundle>mvn:io.netty/netty/3.9.0.Final</bundle>
        <bundle>mvn:org.apache.commons/commons-lang3/3.3.2</bundle>

        <bundle>mvn:com.vaadin.external.flute/flute/1.3.0.gg2</bundle>

<bundle>mvn:com.vaadin.external.streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1</bundle>
        <bundle>mvn:com.vaadin.external.google/guava/16.0.1.vaadin1</bundle>


<bundle>mvn:org.eclipse.jetty.orbit/javax.servlet/3.0.0.v201112011016</bundle>

<bundle>wrap:mvn:org.w3c.css/sac/1.3$Bundle-SymbolicName=org-w3c-css-sac&amp;Bundle-Version=1.3</bundle>
        <bundle>mvn:org.jsoup/jsoup/1.6.3</bundle>

<bundle>mvn:com.vaadin.external.slf4j/vaadin-slf4j-jdk14/1.6.1</bundle>

<bundle>mvn:com.vaadin.external.atmosphere/atmosphere-runtime/2.1.2.vaadin3</bundle>

<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-dev/2.4.0_1</bundle>
        <bundle>mvn:org.apache.commons/commons-jexl/2.1.1</bundle>
        <bundle>mvn:com.vaadin.external.json/json/0.0.20080701</bundle>

<bundle>wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=validation-api&amp;Bundle-Version=1.0.0.GA</bundle>

<bundle>wrap:mvn:net.sourceforge.cssparser/cssparser/0.9.11$Bundle-SymbolicName=cssparser&amp;Bundle-Version=0.9.11</bundle>
    </feature>
</features>

It's not up to date, but could be a good starting point to update ;)

I would propose a updated features XML as Vaadin PR.

Regards
JB

On 16/09/2019 18:27, Julian Feinauer wrote:

> Hi all,
>
>  
>
> we use the Vaadin Framework [1] in multiple projects as Frontend technology.
>
> As I just recently started with Karaf I wanted to build a small example
> app based on Vaadin and OSGI.
>
> Although Vaadin claims to have OSGi support [2], it really doesn’t feel
> well documented, properly tested and up to date. And it is lacking a
> good Karaf integration like a feature or so.
>
> An Example project is shown here [3] but its very implicit (uses
> embedded Felix and tons of maven shenanigans as it looks).
>
>  
>
> Does anyone here have experience with Vaadin or an idea on how one would
> approach a Vaadin-OSGi Application?
>
>  
>
> Thanks!
>
> Julian
>
>  
>
> [1] https://vaadin.com/
>
> [2] https://vaadin.com/docs/v14/flow/osgi/tutorial-osgi-basic.html
>
> [3] https://github.com/vaadin/base-starter-flow-osgi
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

Julian Feinauer
Hi JB,

thank you very much for  the fast reply.
Indeed, I agree that a vaadin feature as PR to vaadin would be the best way.
So I'll check your feature and see what I can do from it.

Really appreciated!
Julian

Am 16.09.19, 09:33 schrieb "Jean-Baptiste Onofré" <[hidden email]>:

    Hi Julian,
   
    I don't have personal experience but I helped some guys on Vaadin.
   
    IMHO, Vaadin should provide a clean features XML.
   
    This is one that I created for Vaadin 7:
   
    <?xml version="1.0" encoding="UTF-8"?>
    <features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0
    http://karaf.apache.org/xmlns/features/v1.0.0"
        name="vaadin7-feature">
   
        <feature install="true" name="vaadin7-feature" version="1.0.0-SNAPSHOT">
            <feature>vaadin7-common</feature>
            <bundle>mvn:com.vaadin/vaadin-themes/7.3.0</bundle>
            <bundle>mvn:com.vaadin/vaadin-shared/7.3.0</bundle>
            <bundle>mvn:com.vaadin/vaadin-server/7.3.0</bundle>
            <bundle>mvn:com.vaadin/vaadin-client/7.3.0</bundle>
            <bundle>mvn:com.vaadin/vaadin-client-compiled/7.3.0</bundle>
            <bundle>mvn:com.vaadin/vaadin-push/7.3.0</bundle>
            <bundle>mvn:com.vaadin/vaadin-sass-compiler/0.9.2</bundle>
        </feature>
   
        <feature name="vaadin7-common" version="1.0.0-SNAPSHOT">
   
    <bundle>mvn:com.vaadin.external.google/android-json/0.0.20131108.vaadin1</bundle>
   
    <bundle>mvn:org.jbundle.util.osgi.wrapped/org.jbundle.util.osgi.wrapped.c3p0/0.9.1.2</bundle>
            <bundle>mvn:org.quartz-scheduler/quartz/2.2.1</bundle>
            <bundle>mvn:joda-time/joda-time/2.4</bundle>
   
    <bundle>wrap:mvn:org.springframework/spring-core/3.2.6.RELEASE$Bundle-SymbolicName=Spring-Framework&amp;Bundle-Version=3.2.6.RELEASE</bundle>
   
    <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7</bundle>
            <bundle>mvn:com.google.guava/guava/16.0.1</bundle>
            <bundle>mvn:io.netty/netty/3.9.0.Final</bundle>
            <bundle>mvn:org.apache.commons/commons-lang3/3.3.2</bundle>
   
            <bundle>mvn:com.vaadin.external.flute/flute/1.3.0.gg2</bundle>
   
    <bundle>mvn:com.vaadin.external.streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1</bundle>
            <bundle>mvn:com.vaadin.external.google/guava/16.0.1.vaadin1</bundle>
   
   
    <bundle>mvn:org.eclipse.jetty.orbit/javax.servlet/3.0.0.v201112011016</bundle>
   
    <bundle>wrap:mvn:org.w3c.css/sac/1.3$Bundle-SymbolicName=org-w3c-css-sac&amp;Bundle-Version=1.3</bundle>
            <bundle>mvn:org.jsoup/jsoup/1.6.3</bundle>
   
    <bundle>mvn:com.vaadin.external.slf4j/vaadin-slf4j-jdk14/1.6.1</bundle>
   
    <bundle>mvn:com.vaadin.external.atmosphere/atmosphere-runtime/2.1.2.vaadin3</bundle>
   
    <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-dev/2.4.0_1</bundle>
            <bundle>mvn:org.apache.commons/commons-jexl/2.1.1</bundle>
            <bundle>mvn:com.vaadin.external.json/json/0.0.20080701</bundle>
   
    <bundle>wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=validation-api&amp;Bundle-Version=1.0.0.GA</bundle>
   
    <bundle>wrap:mvn:net.sourceforge.cssparser/cssparser/0.9.11$Bundle-SymbolicName=cssparser&amp;Bundle-Version=0.9.11</bundle>
        </feature>
    </features>
   
    It's not up to date, but could be a good starting point to update ;)
   
    I would propose a updated features XML as Vaadin PR.
   
    Regards
    JB
   
    On 16/09/2019 18:27, Julian Feinauer wrote:
    > Hi all,
    >
    >  
    >
    > we use the Vaadin Framework [1] in multiple projects as Frontend technology.
    >
    > As I just recently started with Karaf I wanted to build a small example
    > app based on Vaadin and OSGI.
    >
    > Although Vaadin claims to have OSGi support [2], it really doesn’t feel
    > well documented, properly tested and up to date. And it is lacking a
    > good Karaf integration like a feature or so.
    >
    > An Example project is shown here [3] but its very implicit (uses
    > embedded Felix and tons of maven shenanigans as it looks).
    >
    >  
    >
    > Does anyone here have experience with Vaadin or an idea on how one would
    > approach a Vaadin-OSGi Application?
    >
    >  
    >
    > Thanks!
    >
    > Julian
    >
    >  
    >
    > [1] https://vaadin.com/
    >
    > [2] https://vaadin.com/docs/v14/flow/osgi/tutorial-osgi-basic.html
    >
    > [3] https://github.com/vaadin/base-starter-flow-osgi
    >
   
    --
    Jean-Baptiste Onofré
    [hidden email]
    http://blog.nanthrax.net
    Talend - http://www.talend.com
   

Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

Steinar Bang
In reply to this post by Julian Feinauer
>>>>> Julian Feinauer <[hidden email]>:

> Hi all,
> we use the Vaadin Framework [1] in multiple projects as Frontend technology.
> As I just recently started with Karaf I wanted to build a small example app based on Vaadin and OSGI.
> Although Vaadin claims to have OSGi support [2], it really doesn’t feel well documented, properly tested and up to date. And it is lacking a good Karaf integration like a feature or so.
> An Example project is shown here [3] but its very implicit (uses embedded Felix and tons of maven shenanigans as it looks).

> Does anyone here have experience with Vaadin or an idea on how one would approach a Vaadin-OSGi Application?

My ukelonn web application[1] has gone through several iterations:
 1. A JSF application using PrimeFaces[2] (started in July 2016 and
    abandoned in December 2016)
 2. A Vaadin application[3] (on master from December 2016 abandoned in August 2018)
 3. A react.js application, with a REST API written using jersey[4],
    initially (ie from August 2018 to July 2019) styled with Material
    Design Lite (MDL)[5], but currently  styled with bootstrap 4[6]

In Vaadin I was using an extension called TouchKit[7] to get a mobile
app'ish look on the application.  However TouchKit was kind of, sort of,
abandoned when moving to Vaadin 8.  I tried getting the open sourced
version of TouchKit[8] working, providing some Pull Requests to the
project.

But I never got the Vaadin8 version working[9], and sometime in the spring
of 2018 gave up on TouchKit and started moving towards making ukelonn a
react.js application, backed a REST API.

And that approach proved to be so much conceptually simpler and so much
easier to maintain, that I will never be going back again, I think.

(I may switch react.js with something else, like Vue.js or Svelte.js,
but for now react/redux with sagas seems like the simplest to program
and debug)

If anyone are interest I can try to outline the architecture of the
react.js solution (can't do the same for the older versions,
unfortunately, because I can't quite remember how they were put
together...:-) ).


References:
[1] <https://github.com/steinarb/ukelonn>
[2] <https://github.com/steinarb/ukelonn/tree/using-primefaces>
[3] <https://github.com/steinarb/ukelonn/tree/using-vaadin>
[4] <https://github.com/steinarb/ukelonn/tree/using-react>
[5] <https://github.com/steinarb/ukelonn/tree/work/using-react-with-material-design-lite>
[6] <https://github.com/steinarb/ukelonn/tree/work/using-react-with-bootstrap4>
[7] <https://vaadin.com/docs/v7/touchkit/mobile-components.html>
[8] <https://vaadin.com/blog/touchkit-is-dead-long-live-touchkit>
[9] <https://github.com/steinarb/ukelonn/tree/work/using-vaadin-with-vaadin8>

Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

jbonofre
In reply to this post by Julian Feinauer
Thanks for the update Julian.

I will take a look on vaadin example, and eventually update it if needed.

I keep you posted.

Regards
JB

On 18/09/2019 06:56, Julian Feinauer wrote:

> Hey, short update on that one…
>
>  
>
> In fact, I quickly went through it and I didn’t get much out of it (in
> fact, I didn’t even get it to run).
>
> But what there is now, is this vaadin example for OSGi which is not that
> great… I think.
>
> Its located here:
>
>  
>
> https://github.com/vaadin/base-starter-flow-osgi/commit/47aac30104092a15c2744e39e6ed10a79d11ea12
>
>  
>
> (this is the last version for the vaadin 13.x.x release).
>
>  
>
> I get it to start its own felix distro and show the site.
>
> Is there an ‘easy’ trick to get all necessary parts out of it for a
> karaf feature?
>
> I didn’t get it straightforward as it brings its own jetty and stuff
> which leads then to some NPEs in my karaf setup.
>
>  
>
> Any help is appreciated!
>
> Julian
>
>  
>
> On 2019/09/16 16:33:15, Jean-Baptiste Onofré <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>> Hi Julian,>
>
>>
>
>> I don't have personal experience but I helped some guys on Vaadin.>
>
>>
>
>> IMHO, Vaadin should provide a clean features XML.>
>
>>
>
>> This is one that I created for Vaadin 7:>
>
>>
>
>> <?xml version="1.0" encoding="UTF-8"?>>
>
>> <features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"
> <http://karaf.apache.org/xmlns/features/v1.0.0%22>>
>
>>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> <http://www.w3.org/2001/XMLSchema-instance%22>>
>
>>     xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0>
>
>> http://karaf.apache.org/xmlns/features/v1.0.0"
> <http://karaf.apache.org/xmlns/features/v1.0.0%22>>
>
>>     name="vaadin7-feature">>
>
>>
>
>>     <feature install="true" name="vaadin7-feature" version="1.0.0-SNAPSHOT">>
>
>>         <feature>vaadin7-common</feature>>
>
>>         <bundle>mvn:com.vaadin/vaadin-themes/7.3.0</bundle>>
>
>>         <bundle>mvn:com.vaadin/vaadin-shared/7.3.0</bundle>>
>
>>         <bundle>mvn:com.vaadin/vaadin-server/7.3.0</bundle>>
>
>>         <bundle>mvn:com.vaadin/vaadin-client/7.3.0</bundle>>
>
>>         <bundle>mvn:com.vaadin/vaadin-client-compiled/7.3.0</bundle>>
>
>>         <bundle>mvn:com.vaadin/vaadin-push/7.3.0</bundle>>
>
>>         <bundle>mvn:com.vaadin/vaadin-sass-compiler/0.9.2</bundle>>
>
>>     </feature>>
>
>>
>
>>     <feature name="vaadin7-common" version="1.0.0-SNAPSHOT">>
>
>>
>
>> <bundle>mvn:com.vaadin.external.google/android-json/0.0.20131108.vaadin1</bundle>>
>
>>
>
>> <bundle>mvn:org.jbundle.util.osgi.wrapped/org.jbundle.util.osgi.wrapped.c3p0/0.9.1.2</bundle>>
>
>>         <bundle>mvn:org.quartz-scheduler/quartz/2.2.1</bundle>>
>
>>         <bundle>mvn:joda-time/joda-time/2.4</bundle>>
>
>>
>
>> <bundle>wrap:mvn:org.springframework/spring-core/3.2.6.RELEASE$Bundle-SymbolicName=Spring-Framework&amp;Bundle-Version=3.2.6.RELEASE</bundle>>
>
>>
>
>> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7</bundle>>
>
>>         <bundle>mvn:com.google.guava/guava/16.0.1</bundle>>
>
>>         <bundle>mvn:io.netty/netty/3.9.0.Final</bundle>>
>
>>         <bundle>mvn:org.apache.commons/commons-lang3/3.3.2</bundle>>
>
>>
>
>>         <bundle>mvn:com.vaadin.external.flute/flute/1.3.0.gg2</bundle>>
>
>>
>
>>
> <bundle>mvn:com.vaadin.external.streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1</bundle>>
>
>
>>        
> <bundle>mvn:com.vaadin.external.google/guava/16.0.1.vaadin1</bundle>>
>
>>
>
>>
>
>>
> <bundle>mvn:org.eclipse.jetty.orbit/javax.servlet/3.0.0.v201112011016</bundle>>
>
>
>>
>
>>
> <bundle>wrap:mvn:org.w3c.css/sac/1.3$Bundle-SymbolicName=org-w3c-css-sac&amp;Bundle-Version=1.3</bundle>>
>
>
>>         <bundle>mvn:org.jsoup/jsoup/1.6.3</bundle>>
>
>>
>
>> <bundle>mvn:com.vaadin.external.slf4j/vaadin-slf4j-jdk14/1.6.1</bundle>>
>
>>
>
>>
> <bundle>mvn:com.vaadin.external.atmosphere/atmosphere-runtime/2.1.2.vaadin3</bundle>>
>
>
>>
>
>>
> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-dev/2.4.0_1</bundle>>
>
>
>>         <bundle>mvn:org.apache.commons/commons-jexl/2.1.1</bundle>>
>
>>         <bundle>mvn:com.vaadin.external.json/json/0.0.20080701</bundle>>
>
>>
>
>>
> <bundle>wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=validation-api&amp;Bundle-Version=1.0.0.GA</bundle>>
>
>
>>
>
>>
> <bundle>wrap:mvn:net.sourceforge.cssparser/cssparser/0.9.11$Bundle-SymbolicName=cssparser&amp;Bundle-Version=0.9.11</bundle>>
>
>
>>     </feature>>
>
>> </features>>
>
>>
>
>> It's not up to date, but could be a good starting point to update ;)>
>
>>
>
>> I would propose a updated features XML as Vaadin PR.>
>
>>
>
>> Regards>
>
>> JB>
>
>>
>
>> On 16/09/2019 18:27, Julian Feinauer wrote:>
>
>> > Hi all,>
>
>> > >
>
>> >  >
>
>> > >
>
>> > we use the Vaadin Framework [1] in multiple projects as Frontend technology.>
>
>> > >
>
>> > As I just recently started with Karaf I wanted to build a small example>
>
>> > app based on Vaadin and OSGI.>
>
>> > >
>
>> > Although Vaadin claims to have OSGi support [2], it really doesn’t feel>
>
>> > well documented, properly tested and up to date. And it is lacking a>
>
>> > good Karaf integration like a feature or so.>
>
>> > >
>
>> > An Example project is shown here [3] but its very implicit (uses>
>
>> > embedded Felix and tons of maven shenanigans as it looks).>
>
>> > >
>
>> >  >
>
>> > >
>
>> > Does anyone here have experience with Vaadin or an idea on how one would>
>
>> > approach a Vaadin-OSGi Application?>
>
>> > >
>
>> >  >
>
>> > >
>
>> > Thanks!>
>
>> > >
>
>> > Julian>
>
>> > >
>
>> >  >
>
>> > >
>
>> > [1] https://vaadin.com/>
>
>> > >
>
>> > [2] https://vaadin.com/docs/v14/flow/osgi/tutorial-osgi-basic.html>
>
>> > >
>
>> > [3] https://github.com/vaadin/base-starter-flow-osgi>
>
>> > >
>
>>
>
>> -- >
>
>> Jean-Baptiste Onofré>
>
>> [hidden email] <mailto:[hidden email]>>
>
>> http://blog.nanthrax.net>
>
>> Talend - http://www.talend.com>
>
>>
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

Julian Feinauer
Hey,

I decided to post again an update just to learn something... : )
The Demo I posted sets up a felix instance with the bundles listed below.

I am able to start that in karaf If I copy all over to deploy BUT its not working due to NPEs or stuff and I guess there are some conflicts as things like the servlet container are already in a karaf bundle...

Could it be possible to just take out some jars (and add some bundles / features to karaf) and then make the whole thing run?

Julian

Appendix: List of jars:

animal-sniffer-annotations-1.9.jar
asm-debug-all-5.0.3.jar
atmosphere-runtime-2.4.30.vaadin1.jar
byte-buddy-1.9.3.jar
commons-fileupload-1.3.3.jar
commons-io-2.6.jar
commons-lang3-3.0.jar
flow-client-1.4.3.jar
flow-data-1.4.3.jar
flow-html-components-1.4.3.jar
flow-osgi-1.4.3.jar
flow-push-1.4.3.jar
flow-server-1.4.3.jar
gentyref-1.2.0.vaadin1.jar
gwt-elemental-2.8.2.vaadin2.jar
iron-a11y-announcer-2.1.0.jar
iron-a11y-keys-behavior-2.1.1.jar
iron-fit-behavior-2.2.1.jar
iron-flex-layout-2.0.3.jar
iron-icon-2.1.0.jar
iron-iconset-svg-2.2.1.jar
iron-list-2.0.19.jar
iron-media-query-2.1.0.jar
iron-meta-2.1.1.jar
iron-overlay-behavior-2.3.4.jar
iron-resizable-behavior-2.1.1.jar
iron-scroll-target-behavior-2.1.1.jar
jansi-1.17.1.jar
jetty-client-9.4.12.v20180830.jar
jetty-http-9.4.12.v20180830.jar
jetty-io-9.4.12.v20180830.jar
jetty-jmx-9.4.12.v20180830.jar
jetty-security-9.4.12.v20180830.jar
jetty-server-9.4.12.v20180830.jar
jetty-servlet-9.4.12.v20180830.jar
jetty-util-9.4.12.v20180830.jar
jetty-webapp-9.4.12.v20180830.jar
jetty-xml-9.4.12.v20180830.jar
jline-3.7.0.jar
jsoup-1.11.2.jar
org.apache.aries.spifly.core-internal-1.0.12.jar
org.apache.aries.spifly.dynamic.bundle-1.0.12.jar
org.apache.aries.spifly.static.bundle-1.0.12.jar
org.apache.aries.spifly.static.tool-1.0.12.jar
org.apache.aries.spifly.weaver-internal-1.0.12.jar
org.apache.aries.util-1.1.3.jar
org.apache.felix.bundlerepository-2.0.10.jar
org.apache.felix.gogo.command-1.0.2.jar
org.apache.felix.gogo.jline-1.1.0.jar
org.apache.felix.gogo.runtime-1.1.0.jar
org.apache.felix.http.base-4.0.4.jar
org.apache.felix.http.jetty-4.0.6.jar
org.apache.felix.http.servlet-api-1.1.2.jar
org.apache.felix.scr.annotations-1.12.0.jar
org.apache.felix.scr.compat-1.0.4.jar
org.apache.felix.scr.ds-annotations-1.2.10.jar
org.apache.felix.scr-2.1.10.jar
org.osgi.core-6.0.0.jar
org.osgi.service.serviceloader-1.0.0.jar
ph-commons-9.1.2.jar
ph-css-6.1.1.jar
polymer-2.7.0.jar
project-base-osgi-1.0-SNAPSHOT.jar
shadycss-1.8.0.jar
slf4j-api-1.7.25.jar
slf4j-simple-1.7.25.jar
tomcat-servlet-api-8.0.9.jar
vaadin-accordion-1.0.0.jar
vaadin-accordion-flow-1.0.3.jar
vaadin-app-layout-1.0.2.jar
vaadin-app-layout-flow-1.1.1.jar
vaadin-button-2.1.5.jar
vaadin-button-flow-1.3.2.jar
vaadin-checkbox-2.2.7.jar
vaadin-checkbox-flow-1.3.1.jar
vaadin-combo-box-4.2.8.jar
vaadin-combo-box-flow-2.1.3.jar
vaadin-context-menu-4.3.4.jar
vaadin-context-menu-flow-2.0.1.jar
vaadin-control-state-mixin-2.1.3.jar
vaadin-core-13.0.4.jar
vaadin-custom-field-1.0.1.jar
vaadin-custom-field-flow-2.0.2.jar
vaadin-date-picker-3.3.4.jar
vaadin-date-picker-flow-1.3.0.jar
vaadin-details-1.0.1.jar
vaadin-details-flow-1.0.1.jar
vaadin-development-mode-detector-2.0.0.jar
vaadin-dialog-2.2.1.jar
vaadin-dialog-flow-1.3.0.jar
vaadin-element-mixin-2.1.3.jar
vaadin-form-layout-2.1.2.jar
vaadin-form-layout-flow-1.3.1.jar
vaadin-grid-5.3.3.jar
vaadin-grid-flow-3.0.3.jar
vaadin-icons-4.2.2.jar
vaadin-icons-flow-1.3.1.jar
vaadin-iron-list-flow-1.3.0.jar
vaadin-item-2.1.0.jar
vaadin-list-box-1.1.0.jar
vaadin-list-box-flow-1.3.0.jar
vaadin-list-mixin-2.1.2.jar
vaadin-login-1.0.0.jar
vaadin-login-flow-1.0.0.jar
vaadin-lumo-styles-1.4.2.jar
vaadin-lumo-theme-1.4.3.jar
vaadin-material-styles-1.2.2.jar
vaadin-material-theme-1.4.3.jar
vaadin-notification-1.2.1.jar
vaadin-notification-flow-1.3.0.jar
vaadin-ordered-layout-1.1.0.jar
vaadin-ordered-layout-flow-1.3.0.jar
vaadin-overlay-3.2.11.jar
vaadin-progress-bar-1.1.0.jar
vaadin-progress-bar-flow-1.3.0.jar
vaadin-radio-button-1.1.5.jar
vaadin-radio-button-flow-1.3.1.jar
vaadin-select-2.0.4.jar
vaadin-select-flow-1.0.0.jar
vaadin-slf4j-jdk14-1.6.1.jar
vaadin-split-layout-4.1.0.jar
vaadin-split-layout-flow-1.3.1.jar
vaadin-tabs-2.1.2.jar
vaadin-tabs-flow-1.3.0.jar
vaadin-text-field-2.3.6.jar
vaadin-text-field-flow-1.3.0.jar
vaadin-themable-mixin-1.4.4.jar
vaadin-time-picker-1.2.2.jar
vaadin-time-picker-flow-1.1.2.jar
vaadin-upload-4.2.1.jar
vaadin-upload-flow-1.3.0.jar
vaadin-usage-statistics-2.0.2.jar
validation-api-2.0.0.Final.jar
webcomponentsjs-1.2.6.jar
websocket-api-9.4.12.v20180830.jar
websocket-client-9.4.12.v20180830.jar
websocket-common-9.4.12.v20180830.jar
websocket-server-9.4.12.v20180830.jar
websocket-servlet-9.4.12.v20180830.jar

Am 18.09.19, 02:17 schrieb "Jean-Baptiste Onofré" <[hidden email]>:

    Thanks for the update Julian.
   
    I will take a look on vaadin example, and eventually update it if needed.
   
    I keep you posted.
   
    Regards
    JB
   
    On 18/09/2019 06:56, Julian Feinauer wrote:
    > Hey, short update on that one…
    >
    >  
    >
    > In fact, I quickly went through it and I didn’t get much out of it (in
    > fact, I didn’t even get it to run).
    >
    > But what there is now, is this vaadin example for OSGi which is not that
    > great… I think.
    >
    > Its located here:
    >
    >  
    >
    > https://github.com/vaadin/base-starter-flow-osgi/commit/47aac30104092a15c2744e39e6ed10a79d11ea12
    >
    >  
    >
    > (this is the last version for the vaadin 13.x.x release).
    >
    >  
    >
    > I get it to start its own felix distro and show the site.
    >
    > Is there an ‘easy’ trick to get all necessary parts out of it for a
    > karaf feature?
    >
    > I didn’t get it straightforward as it brings its own jetty and stuff
    > which leads then to some NPEs in my karaf setup.
    >
    >  
    >
    > Any help is appreciated!
    >
    > Julian
    >
    >  
    >
    > On 2019/09/16 16:33:15, Jean-Baptiste Onofré <[hidden email]
    > <mailto:[hidden email]>> wrote:
    >
    >> Hi Julian,>
    >
    >>
    >
    >> I don't have personal experience but I helped some guys on Vaadin.>
    >
    >>
    >
    >> IMHO, Vaadin should provide a clean features XML.>
    >
    >>
    >
    >> This is one that I created for Vaadin 7:>
    >
    >>
    >
    >> <?xml version="1.0" encoding="UTF-8"?>>
    >
    >> <features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"
    > <http://karaf.apache.org/xmlns/features/v1.0.0%22>>
    >
    >>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    > <http://www.w3.org/2001/XMLSchema-instance%22>>
    >
    >>     xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0>
    >
    >> http://karaf.apache.org/xmlns/features/v1.0.0"
    > <http://karaf.apache.org/xmlns/features/v1.0.0%22>>
    >
    >>     name="vaadin7-feature">>
    >
    >>
    >
    >>     <feature install="true" name="vaadin7-feature" version="1.0.0-SNAPSHOT">>
    >
    >>         <feature>vaadin7-common</feature>>
    >
    >>         <bundle>mvn:com.vaadin/vaadin-themes/7.3.0</bundle>>
    >
    >>         <bundle>mvn:com.vaadin/vaadin-shared/7.3.0</bundle>>
    >
    >>         <bundle>mvn:com.vaadin/vaadin-server/7.3.0</bundle>>
    >
    >>         <bundle>mvn:com.vaadin/vaadin-client/7.3.0</bundle>>
    >
    >>         <bundle>mvn:com.vaadin/vaadin-client-compiled/7.3.0</bundle>>
    >
    >>         <bundle>mvn:com.vaadin/vaadin-push/7.3.0</bundle>>
    >
    >>         <bundle>mvn:com.vaadin/vaadin-sass-compiler/0.9.2</bundle>>
    >
    >>     </feature>>
    >
    >>
    >
    >>     <feature name="vaadin7-common" version="1.0.0-SNAPSHOT">>
    >
    >>
    >
    >> <bundle>mvn:com.vaadin.external.google/android-json/0.0.20131108.vaadin1</bundle>>
    >
    >>
    >
    >> <bundle>mvn:org.jbundle.util.osgi.wrapped/org.jbundle.util.osgi.wrapped.c3p0/0.9.1.2</bundle>>
    >
    >>         <bundle>mvn:org.quartz-scheduler/quartz/2.2.1</bundle>>
    >
    >>         <bundle>mvn:joda-time/joda-time/2.4</bundle>>
    >
    >>
    >
    >> <bundle>wrap:mvn:org.springframework/spring-core/3.2.6.RELEASE$Bundle-SymbolicName=Spring-Framework&amp;Bundle-Version=3.2.6.RELEASE</bundle>>
    >
    >>
    >
    >> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7</bundle>>
    >
    >>         <bundle>mvn:com.google.guava/guava/16.0.1</bundle>>
    >
    >>         <bundle>mvn:io.netty/netty/3.9.0.Final</bundle>>
    >
    >>         <bundle>mvn:org.apache.commons/commons-lang3/3.3.2</bundle>>
    >
    >>
    >
    >>         <bundle>mvn:com.vaadin.external.flute/flute/1.3.0.gg2</bundle>>
    >
    >>
    >
    >>
    > <bundle>mvn:com.vaadin.external.streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1</bundle>>
    >
    >
    >>        
    > <bundle>mvn:com.vaadin.external.google/guava/16.0.1.vaadin1</bundle>>
    >
    >>
    >
    >>
    >
    >>
    > <bundle>mvn:org.eclipse.jetty.orbit/javax.servlet/3.0.0.v201112011016</bundle>>
    >
    >
    >>
    >
    >>
    > <bundle>wrap:mvn:org.w3c.css/sac/1.3$Bundle-SymbolicName=org-w3c-css-sac&amp;Bundle-Version=1.3</bundle>>
    >
    >
    >>         <bundle>mvn:org.jsoup/jsoup/1.6.3</bundle>>
    >
    >>
    >
    >> <bundle>mvn:com.vaadin.external.slf4j/vaadin-slf4j-jdk14/1.6.1</bundle>>
    >
    >>
    >
    >>
    > <bundle>mvn:com.vaadin.external.atmosphere/atmosphere-runtime/2.1.2.vaadin3</bundle>>
    >
    >
    >>
    >
    >>
    > <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-dev/2.4.0_1</bundle>>
    >
    >
    >>         <bundle>mvn:org.apache.commons/commons-jexl/2.1.1</bundle>>
    >
    >>         <bundle>mvn:com.vaadin.external.json/json/0.0.20080701</bundle>>
    >
    >>
    >
    >>
    > <bundle>wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=validation-api&amp;Bundle-Version=1.0.0.GA</bundle>>
    >
    >
    >>
    >
    >>
    > <bundle>wrap:mvn:net.sourceforge.cssparser/cssparser/0.9.11$Bundle-SymbolicName=cssparser&amp;Bundle-Version=0.9.11</bundle>>
    >
    >
    >>     </feature>>
    >
    >> </features>>
    >
    >>
    >
    >> It's not up to date, but could be a good starting point to update ;)>
    >
    >>
    >
    >> I would propose a updated features XML as Vaadin PR.>
    >
    >>
    >
    >> Regards>
    >
    >> JB>
    >
    >>
    >
    >> On 16/09/2019 18:27, Julian Feinauer wrote:>
    >
    >> > Hi all,>
    >
    >> > >
    >
    >> >  >
    >
    >> > >
    >
    >> > we use the Vaadin Framework [1] in multiple projects as Frontend technology.>
    >
    >> > >
    >
    >> > As I just recently started with Karaf I wanted to build a small example>
    >
    >> > app based on Vaadin and OSGI.>
    >
    >> > >
    >
    >> > Although Vaadin claims to have OSGi support [2], it really doesn’t feel>
    >
    >> > well documented, properly tested and up to date. And it is lacking a>
    >
    >> > good Karaf integration like a feature or so.>
    >
    >> > >
    >
    >> > An Example project is shown here [3] but its very implicit (uses>
    >
    >> > embedded Felix and tons of maven shenanigans as it looks).>
    >
    >> > >
    >
    >> >  >
    >
    >> > >
    >
    >> > Does anyone here have experience with Vaadin or an idea on how one would>
    >
    >> > approach a Vaadin-OSGi Application?>
    >
    >> > >
    >
    >> >  >
    >
    >> > >
    >
    >> > Thanks!>
    >
    >> > >
    >
    >> > Julian>
    >
    >> > >
    >
    >> >  >
    >
    >> > >
    >
    >> > [1] https://vaadin.com/>
    >
    >> > >
    >
    >> > [2] https://vaadin.com/docs/v14/flow/osgi/tutorial-osgi-basic.html>
    >
    >> > >
    >
    >> > [3] https://github.com/vaadin/base-starter-flow-osgi>
    >
    >> > >
    >
    >>
    >
    >> -- >
    >
    >> Jean-Baptiste Onofré>
    >
    >> [hidden email] <mailto:[hidden email]>>
    >
    >> http://blog.nanthrax.net>
    >
    >> Talend - http://www.talend.com>
    >
    >>
    >
   
    --
    Jean-Baptiste Onofré
    [hidden email]
    http://blog.nanthrax.net
    Talend - http://www.talend.com
   

Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

Mike Hummel
Hello Julian,

I had a similar problem using vaadin flow with karaf and created a post a few months ago. Maybe it will help.


Regards,
Mike


On 18. Sep 2019, at 17:27, Julian Feinauer <[hidden email]> wrote:

Hey,

I decided to post again an update just to learn something... : )
The Demo I posted sets up a felix instance with the bundles listed below.

I am able to start that in karaf If I copy all over to deploy BUT its not working due to NPEs or stuff and I guess there are some conflicts as things like the servlet container are already in a karaf bundle...

Could it be possible to just take out some jars (and add some bundles / features to karaf) and then make the whole thing run?

Julian

Appendix: List of jars:

animal-sniffer-annotations-1.9.jar
asm-debug-all-5.0.3.jar
atmosphere-runtime-2.4.30.vaadin1.jar
byte-buddy-1.9.3.jar
commons-fileupload-1.3.3.jar
commons-io-2.6.jar
commons-lang3-3.0.jar
flow-client-1.4.3.jar
flow-data-1.4.3.jar
flow-html-components-1.4.3.jar
flow-osgi-1.4.3.jar
flow-push-1.4.3.jar
flow-server-1.4.3.jar
gentyref-1.2.0.vaadin1.jar
gwt-elemental-2.8.2.vaadin2.jar
iron-a11y-announcer-2.1.0.jar
iron-a11y-keys-behavior-2.1.1.jar
iron-fit-behavior-2.2.1.jar
iron-flex-layout-2.0.3.jar
iron-icon-2.1.0.jar
iron-iconset-svg-2.2.1.jar
iron-list-2.0.19.jar
iron-media-query-2.1.0.jar
iron-meta-2.1.1.jar
iron-overlay-behavior-2.3.4.jar
iron-resizable-behavior-2.1.1.jar
iron-scroll-target-behavior-2.1.1.jar
jansi-1.17.1.jar
jetty-client-9.4.12.v20180830.jar
jetty-http-9.4.12.v20180830.jar
jetty-io-9.4.12.v20180830.jar
jetty-jmx-9.4.12.v20180830.jar
jetty-security-9.4.12.v20180830.jar
jetty-server-9.4.12.v20180830.jar
jetty-servlet-9.4.12.v20180830.jar
jetty-util-9.4.12.v20180830.jar
jetty-webapp-9.4.12.v20180830.jar
jetty-xml-9.4.12.v20180830.jar
jline-3.7.0.jar
jsoup-1.11.2.jar
org.apache.aries.spifly.core-internal-1.0.12.jar
org.apache.aries.spifly.dynamic.bundle-1.0.12.jar
org.apache.aries.spifly.static.bundle-1.0.12.jar
org.apache.aries.spifly.static.tool-1.0.12.jar
org.apache.aries.spifly.weaver-internal-1.0.12.jar
org.apache.aries.util-1.1.3.jar
org.apache.felix.bundlerepository-2.0.10.jar
org.apache.felix.gogo.command-1.0.2.jar
org.apache.felix.gogo.jline-1.1.0.jar
org.apache.felix.gogo.runtime-1.1.0.jar
org.apache.felix.http.base-4.0.4.jar
org.apache.felix.http.jetty-4.0.6.jar
org.apache.felix.http.servlet-api-1.1.2.jar
org.apache.felix.scr.annotations-1.12.0.jar
org.apache.felix.scr.compat-1.0.4.jar
org.apache.felix.scr.ds-annotations-1.2.10.jar
org.apache.felix.scr-2.1.10.jar
org.osgi.core-6.0.0.jar
org.osgi.service.serviceloader-1.0.0.jar
ph-commons-9.1.2.jar
ph-css-6.1.1.jar
polymer-2.7.0.jar
project-base-osgi-1.0-SNAPSHOT.jar
shadycss-1.8.0.jar
slf4j-api-1.7.25.jar
slf4j-simple-1.7.25.jar
tomcat-servlet-api-8.0.9.jar
vaadin-accordion-1.0.0.jar
vaadin-accordion-flow-1.0.3.jar
vaadin-app-layout-1.0.2.jar
vaadin-app-layout-flow-1.1.1.jar
vaadin-button-2.1.5.jar
vaadin-button-flow-1.3.2.jar
vaadin-checkbox-2.2.7.jar
vaadin-checkbox-flow-1.3.1.jar
vaadin-combo-box-4.2.8.jar
vaadin-combo-box-flow-2.1.3.jar
vaadin-context-menu-4.3.4.jar
vaadin-context-menu-flow-2.0.1.jar
vaadin-control-state-mixin-2.1.3.jar
vaadin-core-13.0.4.jar
vaadin-custom-field-1.0.1.jar
vaadin-custom-field-flow-2.0.2.jar
vaadin-date-picker-3.3.4.jar
vaadin-date-picker-flow-1.3.0.jar
vaadin-details-1.0.1.jar
vaadin-details-flow-1.0.1.jar
vaadin-development-mode-detector-2.0.0.jar
vaadin-dialog-2.2.1.jar
vaadin-dialog-flow-1.3.0.jar
vaadin-element-mixin-2.1.3.jar
vaadin-form-layout-2.1.2.jar
vaadin-form-layout-flow-1.3.1.jar
vaadin-grid-5.3.3.jar
vaadin-grid-flow-3.0.3.jar
vaadin-icons-4.2.2.jar
vaadin-icons-flow-1.3.1.jar
vaadin-iron-list-flow-1.3.0.jar
vaadin-item-2.1.0.jar
vaadin-list-box-1.1.0.jar
vaadin-list-box-flow-1.3.0.jar
vaadin-list-mixin-2.1.2.jar
vaadin-login-1.0.0.jar
vaadin-login-flow-1.0.0.jar
vaadin-lumo-styles-1.4.2.jar
vaadin-lumo-theme-1.4.3.jar
vaadin-material-styles-1.2.2.jar
vaadin-material-theme-1.4.3.jar
vaadin-notification-1.2.1.jar
vaadin-notification-flow-1.3.0.jar
vaadin-ordered-layout-1.1.0.jar
vaadin-ordered-layout-flow-1.3.0.jar
vaadin-overlay-3.2.11.jar
vaadin-progress-bar-1.1.0.jar
vaadin-progress-bar-flow-1.3.0.jar
vaadin-radio-button-1.1.5.jar
vaadin-radio-button-flow-1.3.1.jar
vaadin-select-2.0.4.jar
vaadin-select-flow-1.0.0.jar
vaadin-slf4j-jdk14-1.6.1.jar
vaadin-split-layout-4.1.0.jar
vaadin-split-layout-flow-1.3.1.jar
vaadin-tabs-2.1.2.jar
vaadin-tabs-flow-1.3.0.jar
vaadin-text-field-2.3.6.jar
vaadin-text-field-flow-1.3.0.jar
vaadin-themable-mixin-1.4.4.jar
vaadin-time-picker-1.2.2.jar
vaadin-time-picker-flow-1.1.2.jar
vaadin-upload-4.2.1.jar
vaadin-upload-flow-1.3.0.jar
vaadin-usage-statistics-2.0.2.jar
validation-api-2.0.0.Final.jar
webcomponentsjs-1.2.6.jar
websocket-api-9.4.12.v20180830.jar
websocket-client-9.4.12.v20180830.jar
websocket-common-9.4.12.v20180830.jar
websocket-server-9.4.12.v20180830.jar
websocket-servlet-9.4.12.v20180830.jar

Am 18.09.19, 02:17 schrieb "Jean-Baptiste Onofré" <[hidden email]>:

   Thanks for the update Julian.

   I will take a look on vaadin example, and eventually update it if needed.

   I keep you posted.

   Regards
   JB

   On 18/09/2019 06:56, Julian Feinauer wrote:
Hey, short update on that one…



In fact, I quickly went through it and I didn’t get much out of it (in
fact, I didn’t even get it to run).

But what there is now, is this vaadin example for OSGi which is not that
great… I think.

Its located here:



https://github.com/vaadin/base-starter-flow-osgi/commit/47aac30104092a15c2744e39e6ed10a79d11ea12



(this is the last version for the vaadin 13.x.x release).



I get it to start its own felix distro and show the site.

Is there an ‘easy’ trick to get all necessary parts out of it for a
karaf feature?

I didn’t get it straightforward as it brings its own jetty and stuff
which leads then to some NPEs in my karaf setup.



Any help is appreciated!

Julian



On 2019/09/16 16:33:15, Jean-Baptiste Onofré <[hidden email]
<mailto:[hidden email]>> wrote:

Hi Julian,>



I don't have personal experience but I helped some guys on Vaadin.>



IMHO, Vaadin should provide a clean features XML.>



This is one that I created for Vaadin 7:>



<?xml version="1.0" encoding="UTF-8"?>>

<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"
<http://karaf.apache.org/xmlns/features/v1.0.0%22>>

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<http://www.w3.org/2001/XMLSchema-instance%22>>

   xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0>

http://karaf.apache.org/xmlns/features/v1.0.0"
<http://karaf.apache.org/xmlns/features/v1.0.0%22>>

   name="vaadin7-feature">>



   <feature install="true" name="vaadin7-feature" version="1.0.0-SNAPSHOT">>

       <feature>vaadin7-common</feature>>

       <bundle>mvn:com.vaadin/vaadin-themes/7.3.0</bundle>>

       <bundle>mvn:com.vaadin/vaadin-shared/7.3.0</bundle>>

       <bundle>mvn:com.vaadin/vaadin-server/7.3.0</bundle>>

       <bundle>mvn:com.vaadin/vaadin-client/7.3.0</bundle>>

       <bundle>mvn:com.vaadin/vaadin-client-compiled/7.3.0</bundle>>

       <bundle>mvn:com.vaadin/vaadin-push/7.3.0</bundle>>

       <bundle>mvn:com.vaadin/vaadin-sass-compiler/0.9.2</bundle>>

   </feature>>



   <feature name="vaadin7-common" version="1.0.0-SNAPSHOT">>



<bundle>mvn:com.vaadin.external.google/android-json/0.0.20131108.vaadin1</bundle>>



<bundle>mvn:org.jbundle.util.osgi.wrapped/org.jbundle.util.osgi.wrapped.c3p0/0.9.1.2</bundle>>

       <bundle>mvn:org.quartz-scheduler/quartz/2.2.1</bundle>>

       <bundle>mvn:joda-time/joda-time/2.4</bundle>>



<bundle>wrap:mvn:org.springframework/spring-core/3.2.6.RELEASE$Bundle-SymbolicName=Spring-Framework&amp;Bundle-Version=3.2.6.RELEASE</bundle>>



<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7</bundle>>

       <bundle>mvn:com.google.guava/guava/16.0.1</bundle>>

       <bundle>mvn:io.netty/netty/3.9.0.Final</bundle>>

       <bundle>mvn:org.apache.commons/commons-lang3/3.3.2</bundle>>



       <bundle>mvn:com.vaadin.external.flute/flute/1.3.0.gg2</bundle>>




<bundle>mvn:com.vaadin.external.streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1</bundle>>



<bundle>mvn:com.vaadin.external.google/guava/16.0.1.vaadin1</bundle>>






<bundle>mvn:org.eclipse.jetty.orbit/javax.servlet/3.0.0.v201112011016</bundle>>





<bundle>wrap:mvn:org.w3c.css/sac/1.3$Bundle-SymbolicName=org-w3c-css-sac&amp;Bundle-Version=1.3</bundle>>


       <bundle>mvn:org.jsoup/jsoup/1.6.3</bundle>>



<bundle>mvn:com.vaadin.external.slf4j/vaadin-slf4j-jdk14/1.6.1</bundle>>




<bundle>mvn:com.vaadin.external.atmosphere/atmosphere-runtime/2.1.2.vaadin3</bundle>>





<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-dev/2.4.0_1</bundle>>


       <bundle>mvn:org.apache.commons/commons-jexl/2.1.1</bundle>>

       <bundle>mvn:com.vaadin.external.json/json/0.0.20080701</bundle>>




<bundle>wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=validation-api&amp;Bundle-Version=1.0.0.GA</bundle>>





<bundle>wrap:mvn:net.sourceforge.cssparser/cssparser/0.9.11$Bundle-SymbolicName=cssparser&amp;Bundle-Version=0.9.11</bundle>>


   </feature>>

</features>>



It's not up to date, but could be a good starting point to update ;)>



I would propose a updated features XML as Vaadin PR.>



Regards>

JB>



On 16/09/2019 18:27, Julian Feinauer wrote:>

Hi all,>







we use the Vaadin Framework [1] in multiple projects as Frontend technology.>



As I just recently started with Karaf I wanted to build a small example>

app based on Vaadin and OSGI.>



Although Vaadin claims to have OSGi support [2], it really doesn’t feel>

well documented, properly tested and up to date. And it is lacking a>

good Karaf integration like a feature or so.>



An Example project is shown here [3] but its very implicit (uses>

embedded Felix and tons of maven shenanigans as it looks).>







Does anyone here have experience with Vaadin or an idea on how one would>

approach a Vaadin-OSGi Application?>







Thanks!>



Julian>







[1] https://vaadin.com/>



[2] https://vaadin.com/docs/v14/flow/osgi/tutorial-osgi-basic.html>



[3] https://github.com/vaadin/base-starter-flow-osgi>





-- >

Jean-Baptiste Onofré>

[hidden email] <mailto:[hidden email]>>

http://blog.nanthrax.net>

Talend - http://www.talend.com>




   --
   Jean-Baptiste Onofré
   [hidden email]
   http://blog.nanthrax.net
   Talend - http://www.talend.com



Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

maggu2810
Hi,

has there been already any progress for example working features for
Vaadin 14 or a simple demo bundle that shows the feature working in
Karaf?

Best regards,
Markus
Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

jbonofre
Hi Markus,

Julian reported issue with Vaadin. I never tried (we are using mostly
Karaf services with Angular).

Let me create a Jira to add a vaadin example:
https://issues.apache.org/jira/browse/KARAF-6608

Regards
JB

On 25/01/2020 22:20, Markus Rathgeb wrote:
> Hi,
>
> has there been already any progress for example working features for
> Vaadin 14 or a simple demo bundle that shows the feature working in
> Karaf?
>
> Best regards,
> Markus
Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

stefang
Hi,

it would be nice if a "war" from Vaadin Flow build could be run as WebApp
under Karaf with "war" feature.
Thats actually not possible and because of this we must setup a separate
Jetty Instance to get it running.

Regards
Stefan




jbonofre wrote

> Hi Markus,
>
> Julian reported issue with Vaadin. I never tried (we are using mostly
> Karaf services with Angular).
>
> Let me create a Jira to add a vaadin example:
> https://issues.apache.org/jira/browse/KARAF-6608
>
> Regards
> JB
>
> On 25/01/2020 22:20, Markus Rathgeb wrote:
>> Hi,
>>
>> has there been already any progress for example working features for
>> Vaadin 14 or a simple demo bundle that shows the feature working in
>> Karaf?
>>
>> Best regards,
>> Markus





--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html
Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

maggu2810
I got the vaadin start project (TextField, Button, Notification)
working in an bnd application.

I used vaadin 14.1.5 and flow 2.1.4.

So, I "know" all bundles that are necessary for that use case
and
how a pom needs to look like to build a vaadin bundle that is working.

Now I can start clean up stuff and try to understand what is vaadin at all ;)

Am So., 26. Jan. 2020 um 14:56 Uhr schrieb stefang <[hidden email]>:

>
> Hi,
>
> it would be nice if a "war" from Vaadin Flow build could be run as WebApp
> under Karaf with "war" feature.
> Thats actually not possible and because of this we must setup a separate
> Jetty Instance to get it running.
>
> Regards
> Stefan
>
>
>
>
> jbonofre wrote
> > Hi Markus,
> >
> > Julian reported issue with Vaadin. I never tried (we are using mostly
> > Karaf services with Angular).
> >
> > Let me create a Jira to add a vaadin example:
> > https://issues.apache.org/jira/browse/KARAF-6608
> >
> > Regards
> > JB
> >
> > On 25/01/2020 22:20, Markus Rathgeb wrote:
> >> Hi,
> >>
> >> has there been already any progress for example working features for
> >> Vaadin 14 or a simple demo bundle that shows the feature working in
> >> Karaf?
> >>
> >> Best regards,
> >> Markus
>
>
>
>
>
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html
Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

Maurice Betzel
In reply to this post by Julian Feinauer
Hi, we at a Gaston-Schul have a Vaadin 14 and bnd / low level OSGi
application running in production for about half a year now. Basically it
builds on the Vaadin OSGi example, service discovery is low level OSGi
though. It consists just of one big bundle, modularity is in research. I
accomplished deeper OSGi integration with Vaadin 8 using only Java side
development, on Vaadin flow with polymer this seems not possible due to
having to embed all web components  in every bundle added to the front end.



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html
if ( you want ) { you can } else { you can't }
Reply | Threaded
Open this post in threaded view
|

Re: Vaadin Flow and Apache Karaf

Paul Fraser
In reply to this post by Julian Feinauer
Hi Julian,

After experimenting with your code for a while I decided to jump in the deep end and start from the V14 OSGi Starter.

I have ended up with a working Karaf project using the original Vaadin MainView based on Component and setting the required setup to run in comptability mode.

My requirement is to use Designer to create the html templates but my effort fails to load the static templates.

The repo is at https://github.com/QNENet/karafvaadin

and I have raised a forum request

https://vaadin.com/forum/thread/18356178/osgi-resource-loading-in-compatabilty-mode

Regards

Paul Fraser

P.S. The current Designer 4.5.7 is a brilliant tool for developing V14 views, I just hope we can sort out the problem using compatabiltiy mode.


On 19/09/2019 1:27 am, Julian Feinauer wrote:
Hey,

I decided to post again an update just to learn something... : )
The Demo I posted sets up a felix instance with the bundles listed below.

I am able to start that in karaf If I copy all over to deploy BUT its not working due to NPEs or stuff and I guess there are some conflicts as things like the servlet container are already in a karaf bundle...

Could it be possible to just take out some jars (and add some bundles / features to karaf) and then make the whole thing run?

Julian

Appendix: List of jars:

animal-sniffer-annotations-1.9.jar
asm-debug-all-5.0.3.jar
atmosphere-runtime-2.4.30.vaadin1.jar
byte-buddy-1.9.3.jar
commons-fileupload-1.3.3.jar
commons-io-2.6.jar
commons-lang3-3.0.jar
flow-client-1.4.3.jar
flow-data-1.4.3.jar
flow-html-components-1.4.3.jar
flow-osgi-1.4.3.jar
flow-push-1.4.3.jar
flow-server-1.4.3.jar
gentyref-1.2.0.vaadin1.jar
gwt-elemental-2.8.2.vaadin2.jar
iron-a11y-announcer-2.1.0.jar
iron-a11y-keys-behavior-2.1.1.jar
iron-fit-behavior-2.2.1.jar
iron-flex-layout-2.0.3.jar
iron-icon-2.1.0.jar
iron-iconset-svg-2.2.1.jar
iron-list-2.0.19.jar
iron-media-query-2.1.0.jar
iron-meta-2.1.1.jar
iron-overlay-behavior-2.3.4.jar
iron-resizable-behavior-2.1.1.jar
iron-scroll-target-behavior-2.1.1.jar
jansi-1.17.1.jar
jetty-client-9.4.12.v20180830.jar
jetty-http-9.4.12.v20180830.jar
jetty-io-9.4.12.v20180830.jar
jetty-jmx-9.4.12.v20180830.jar
jetty-security-9.4.12.v20180830.jar
jetty-server-9.4.12.v20180830.jar
jetty-servlet-9.4.12.v20180830.jar
jetty-util-9.4.12.v20180830.jar
jetty-webapp-9.4.12.v20180830.jar
jetty-xml-9.4.12.v20180830.jar
jline-3.7.0.jar
jsoup-1.11.2.jar
org.apache.aries.spifly.core-internal-1.0.12.jar
org.apache.aries.spifly.dynamic.bundle-1.0.12.jar
org.apache.aries.spifly.static.bundle-1.0.12.jar
org.apache.aries.spifly.static.tool-1.0.12.jar
org.apache.aries.spifly.weaver-internal-1.0.12.jar
org.apache.aries.util-1.1.3.jar
org.apache.felix.bundlerepository-2.0.10.jar
org.apache.felix.gogo.command-1.0.2.jar
org.apache.felix.gogo.jline-1.1.0.jar
org.apache.felix.gogo.runtime-1.1.0.jar
org.apache.felix.http.base-4.0.4.jar
org.apache.felix.http.jetty-4.0.6.jar
org.apache.felix.http.servlet-api-1.1.2.jar
org.apache.felix.scr.annotations-1.12.0.jar
org.apache.felix.scr.compat-1.0.4.jar
org.apache.felix.scr.ds-annotations-1.2.10.jar
org.apache.felix.scr-2.1.10.jar
org.osgi.core-6.0.0.jar
org.osgi.service.serviceloader-1.0.0.jar
ph-commons-9.1.2.jar
ph-css-6.1.1.jar
polymer-2.7.0.jar
project-base-osgi-1.0-SNAPSHOT.jar
shadycss-1.8.0.jar
slf4j-api-1.7.25.jar
slf4j-simple-1.7.25.jar
tomcat-servlet-api-8.0.9.jar
vaadin-accordion-1.0.0.jar
vaadin-accordion-flow-1.0.3.jar
vaadin-app-layout-1.0.2.jar
vaadin-app-layout-flow-1.1.1.jar
vaadin-button-2.1.5.jar
vaadin-button-flow-1.3.2.jar
vaadin-checkbox-2.2.7.jar
vaadin-checkbox-flow-1.3.1.jar
vaadin-combo-box-4.2.8.jar
vaadin-combo-box-flow-2.1.3.jar
vaadin-context-menu-4.3.4.jar
vaadin-context-menu-flow-2.0.1.jar
vaadin-control-state-mixin-2.1.3.jar
vaadin-core-13.0.4.jar
vaadin-custom-field-1.0.1.jar
vaadin-custom-field-flow-2.0.2.jar
vaadin-date-picker-3.3.4.jar
vaadin-date-picker-flow-1.3.0.jar
vaadin-details-1.0.1.jar
vaadin-details-flow-1.0.1.jar
vaadin-development-mode-detector-2.0.0.jar
vaadin-dialog-2.2.1.jar
vaadin-dialog-flow-1.3.0.jar
vaadin-element-mixin-2.1.3.jar
vaadin-form-layout-2.1.2.jar
vaadin-form-layout-flow-1.3.1.jar
vaadin-grid-5.3.3.jar
vaadin-grid-flow-3.0.3.jar
vaadin-icons-4.2.2.jar
vaadin-icons-flow-1.3.1.jar
vaadin-iron-list-flow-1.3.0.jar
vaadin-item-2.1.0.jar
vaadin-list-box-1.1.0.jar
vaadin-list-box-flow-1.3.0.jar
vaadin-list-mixin-2.1.2.jar
vaadin-login-1.0.0.jar
vaadin-login-flow-1.0.0.jar
vaadin-lumo-styles-1.4.2.jar
vaadin-lumo-theme-1.4.3.jar
vaadin-material-styles-1.2.2.jar
vaadin-material-theme-1.4.3.jar
vaadin-notification-1.2.1.jar
vaadin-notification-flow-1.3.0.jar
vaadin-ordered-layout-1.1.0.jar
vaadin-ordered-layout-flow-1.3.0.jar
vaadin-overlay-3.2.11.jar
vaadin-progress-bar-1.1.0.jar
vaadin-progress-bar-flow-1.3.0.jar
vaadin-radio-button-1.1.5.jar
vaadin-radio-button-flow-1.3.1.jar
vaadin-select-2.0.4.jar
vaadin-select-flow-1.0.0.jar
vaadin-slf4j-jdk14-1.6.1.jar
vaadin-split-layout-4.1.0.jar
vaadin-split-layout-flow-1.3.1.jar
vaadin-tabs-2.1.2.jar
vaadin-tabs-flow-1.3.0.jar
vaadin-text-field-2.3.6.jar
vaadin-text-field-flow-1.3.0.jar
vaadin-themable-mixin-1.4.4.jar
vaadin-time-picker-1.2.2.jar
vaadin-time-picker-flow-1.1.2.jar
vaadin-upload-4.2.1.jar
vaadin-upload-flow-1.3.0.jar
vaadin-usage-statistics-2.0.2.jar
validation-api-2.0.0.Final.jar
webcomponentsjs-1.2.6.jar
websocket-api-9.4.12.v20180830.jar
websocket-client-9.4.12.v20180830.jar
websocket-common-9.4.12.v20180830.jar
websocket-server-9.4.12.v20180830.jar
websocket-servlet-9.4.12.v20180830.jar

Am 18.09.19, 02:17 schrieb "Jean-Baptiste Onofré" [hidden email]:

     Thanks for the update Julian.
          I will take a look on vaadin example, and eventually update it if needed.
          I keep you posted.
          Regards
     JB
          On 18/09/2019 06:56, Julian Feinauer wrote:
     > Hey, short update on that one…
     >
     >
     >
     > In fact, I quickly went through it and I didn’t get much out of it (in
     > fact, I didn’t even get it to run).
     >
     > But what there is now, is this vaadin example for OSGi which is not that
     > great… I think.
     >
     > Its located here:
     >
     >
     >
     > https://github.com/vaadin/base-starter-flow-osgi/commit/47aac30104092a15c2744e39e6ed10a79d11ea12
     >
     >
     >
     > (this is the last version for the vaadin 13.x.x release).
     >
     >
     >
     > I get it to start its own felix distro and show the site.
     >
     > Is there an ‘easy’ trick to get all necessary parts out of it for a
     > karaf feature?
     >
     > I didn’t get it straightforward as it brings its own jetty and stuff
     > which leads then to some NPEs in my karaf setup.
     >
     >
     >
     > Any help is appreciated!
     >
     > Julian
     >
     >
     >
     > On 2019/09/16 16:33:15, Jean-Baptiste Onofré <[hidden email]
     > [hidden email]> wrote:
     >
     >> Hi Julian,>
     >
     >>
     >
     >> I don't have personal experience but I helped some guys on Vaadin.>
     >
     >>
     >
     >> IMHO, Vaadin should provide a clean features XML.>
     >
     >>
     >
     >> This is one that I created for Vaadin 7:>
     >
     >>
     >
     >> <?xml version="1.0" encoding="UTF-8"?>>
     >
     >> <features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"
     > <http://karaf.apache.org/xmlns/features/v1.0.0%22>>
     >
     >>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     > <http://www.w3.org/2001/XMLSchema-instance%22>>
     >
     >>     xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0>
     >
     >> http://karaf.apache.org/xmlns/features/v1.0.0"
     > <http://karaf.apache.org/xmlns/features/v1.0.0%22>>
     >
     >>     name="vaadin7-feature">>
     >
     >>
     >
     >>     <feature install="true" name="vaadin7-feature" version="1.0.0-SNAPSHOT">>
     >
     >>         <feature>vaadin7-common</feature>>
     >
     >>         <bundle>mvn:com.vaadin/vaadin-themes/7.3.0</bundle>>
     >
     >>         <bundle>mvn:com.vaadin/vaadin-shared/7.3.0</bundle>>
     >
     >>         <bundle>mvn:com.vaadin/vaadin-server/7.3.0</bundle>>
     >
     >>         <bundle>mvn:com.vaadin/vaadin-client/7.3.0</bundle>>
     >
     >>         <bundle>mvn:com.vaadin/vaadin-client-compiled/7.3.0</bundle>>
     >
     >>         <bundle>mvn:com.vaadin/vaadin-push/7.3.0</bundle>>
     >
     >>         <bundle>mvn:com.vaadin/vaadin-sass-compiler/0.9.2</bundle>>
     >
     >>     </feature>>
     >
     >>
     >
     >>     <feature name="vaadin7-common" version="1.0.0-SNAPSHOT">>
     >
     >>
     >
     >> <bundle>mvn:com.vaadin.external.google/android-json/0.0.20131108.vaadin1</bundle>>
     >
     >>
     >
     >> <bundle>mvn:org.jbundle.util.osgi.wrapped/org.jbundle.util.osgi.wrapped.c3p0/0.9.1.2</bundle>>
     >
     >>         <bundle>mvn:org.quartz-scheduler/quartz/2.2.1</bundle>>
     >
     >>         <bundle>mvn:joda-time/joda-time/2.4</bundle>>
     >
     >>
     >
     >> <bundle>wrap:mvn:org.springframework/spring-core/3.2.6.RELEASE$Bundle-SymbolicName=Spring-Framework&amp;Bundle-Version=3.2.6.RELEASE</bundle>>
     >
     >>
     >
     >> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7</bundle>>
     >
     >>         <bundle>mvn:com.google.guava/guava/16.0.1</bundle>>
     >
     >>         <bundle>mvn:io.netty/netty/3.9.0.Final</bundle>>
     >
     >>         <bundle>mvn:org.apache.commons/commons-lang3/3.3.2</bundle>>
     >
     >>
     >
     >>         <bundle>mvn:com.vaadin.external.flute/flute/1.3.0.gg2</bundle>>
     >
     >>
     >
     >>
     > <bundle>mvn:com.vaadin.external.streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1</bundle>>
     >
     >
     >>
     > <bundle>mvn:com.vaadin.external.google/guava/16.0.1.vaadin1</bundle>>
     >
     >>
     >
     >>
     >
     >>
     > <bundle>mvn:org.eclipse.jetty.orbit/javax.servlet/3.0.0.v201112011016</bundle>>
     >
     >
     >>
     >
     >>
     > <bundle>wrap:mvn:org.w3c.css/sac/1.3$Bundle-SymbolicName=org-w3c-css-sac&amp;Bundle-Version=1.3</bundle>>
     >
     >
     >>         <bundle>mvn:org.jsoup/jsoup/1.6.3</bundle>>
     >
     >>
     >
     >> <bundle>mvn:com.vaadin.external.slf4j/vaadin-slf4j-jdk14/1.6.1</bundle>>
     >
     >>
     >
     >>
     > <bundle>mvn:com.vaadin.external.atmosphere/atmosphere-runtime/2.1.2.vaadin3</bundle>>
     >
     >
     >>
     >
     >>
     > <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.gwt-dev/2.4.0_1</bundle>>
     >
     >
     >>         <bundle>mvn:org.apache.commons/commons-jexl/2.1.1</bundle>>
     >
     >>         <bundle>mvn:com.vaadin.external.json/json/0.0.20080701</bundle>>
     >
     >>
     >
     >>
     > <bundle>wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=validation-api&amp;Bundle-Version=1.0.0.GA</bundle>>
     >
     >
     >>
     >
     >>
     > <bundle>wrap:mvn:net.sourceforge.cssparser/cssparser/0.9.11$Bundle-SymbolicName=cssparser&amp;Bundle-Version=0.9.11</bundle>>
     >
     >
     >>     </feature>>
     >
     >> </features>>
     >
     >>
     >
     >> It's not up to date, but could be a good starting point to update >
     >
     >>
     >
     >> I would propose a updated features XML as Vaadin PR.>
     >
     >>
     >
     >> Regards>
     >
     >> JB>
     >
     >>
     >
     >> On 16/09/2019 18:27, Julian Feinauer wrote:>
     >
     >> > Hi all,>
     >
     >> > >
     >
     >> >  >
     >
     >> > >
     >
     >> > we use the Vaadin Framework [1] in multiple projects as Frontend technology.>
     >
     >> > >
     >
     >> > As I just recently started with Karaf I wanted to build a small example>
     >
     >> > app based on Vaadin and OSGI.>
     >
     >> > >
     >
     >> > Although Vaadin claims to have OSGi support [2], it really doesn’t feel>
     >
     >> > well documented, properly tested and up to date. And it is lacking a>
     >
     >> > good Karaf integration like a feature or so.>
     >
     >> > >
     >
     >> > An Example project is shown here [3] but its very implicit (uses>
     >
     >> > embedded Felix and tons of maven shenanigans as it looks).>
     >
     >> > >
     >
     >> >  >
     >
     >> > >
     >
     >> > Does anyone here have experience with Vaadin or an idea on how one would>
     >
     >> > approach a Vaadin-OSGi Application?>
     >
     >> > >
     >
     >> >  >
     >
     >> > >
     >
     >> > Thanks!>
     >
     >> > >
     >
     >> > Julian>
     >
     >> > >
     >
     >> >  >
     >
     >> > >
     >
     >> > [1] https://vaadin.com/>
     >
     >> > >
     >
     >> > [2] https://vaadin.com/docs/v14/flow/osgi/tutorial-osgi-basic.html>
     >
     >> > >
     >
     >> > [3] https://github.com/vaadin/base-starter-flow-osgi>
     >
     >> > >
     >
     >>
     >
     >> -- >
     >
     >> Jean-Baptiste Onofré>
     >
     >> [hidden email] [hidden email]>
     >
     >> http://blog.nanthrax.net>
     >
     >> Talend - http://www.talend.com>
     >
     >>
     >
          --
     Jean-Baptiste Onofré
     [hidden email]
     http://blog.nanthrax.net
     Talend - http://www.talend.com
    

paulf.vcf (8 bytes) Download Attachment