You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Rodnei Couto <ro...@tecgraf.puc-rio.br> on 2006/04/11 20:01:53 UTC

Hivemind problem with tapestry 4

Hi list,

I'm migrating my aplication from tapestry 3 to tapestry 4. I made this 
hivemind helloWorld example with tapestry to learn, but this didn't 
work. The exception is:

The version of hivemind is 1.1.1.

Somebody can help me?

org.apache.hivemind.ApplicationRuntimeException
Error at context:/WEB-INF/Home.page, line 9, column 68: Error adding 
property valor to class tapestryTest.Pagina: The value obtained using 
locator 'service:examples.HelloWorld' (<SingletonProxy for 
examples.HelloWorld(com.helloworld.exampple.HelloWorld)>) is not 
compatible with the existing property (of type 
com.helloworld.exampple.HelloWorld).
    

HelloWorld Interface:

package com.helloworld.exampple;
public interface HelloWorld {
    public String getHelloWorld();
}

HelloWorldImp Class:

package com.helloworld.exampple;
public class HelloWorldImp implements HelloWorld {
    public String getHelloWorld() {
       return "Hello World";
    }
}

hivemind.xml

<?xml version="1.0"?>
<module id="examples" version="1.0.0" package="com.helloworld.exampple">
    <service-point id="HelloWorld">
        <invoke-factory>
            <construct class="HelloWorldImp"/>
        </invoke-factory>
    </service-point>
</module>

Home.page

<page-specification class="tapestryTest.Pagina">
    <inject property="valor" object="service:examples.HelloWorld"/>
</page-specification>

Home.java

public abstract class Pagina extends BasePage {
   public abstract HelloWorld getValor();
   public String getString(){
        Object valor = getValor();
        return getValor().getHelloWorld();
    }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Re: Hivemind problem with tapestry 4

Posted by Howard Lewis Ship <hl...@gmail.com>.
If you store your libraries in src/webapp/WEB-INF/lib, you can get
this using JettyLauncher.  The Eclipse class loader loads files
because they are in your project's dependencies, and Jetty's
classloader loads the same files because they are in WEB-INF/lib.

On 4/11/06, Jesse Kuhnert <jk...@gmail.com> wrote:
> I wonder which version of jetty you are using. It ~used~ to work as far as I
> remember.
>
> On 4/11/06, rodnei@tecgraf.puc-rio.br <ro...@tecgraf.puc-rio.br> wrote:
> >
> > I MADE IT...
> >
> > It was really a classpath problem.
> >
> > I created a WAR file of my application and ran it on Jetty but not from
> > within
> > Eclipse... it worked flawlessly.
> >
> > Previously I had another project, which had all of the libs, and my
> > tapestry
> > project accessed those libs in that project.  I copied the tapestry libs
> > and
> > dependencies into WEB-INF/libs.
> >
> > Having done that, I clicked Run -> Jetty Web (that's the name of the
> > instance
> > I'm currently using to run Jetty) -> Classpath and removed the "{PROJECT
> > NAME}
> > default classpath".  Then it worked perfectly.
> >
> > Greetings,
> > Rodnei Couto
> >
> >
> > Citando Howard Lewis Ship <hl...@gmail.com>:
> >
> > > Likely case is that com.helloworld.exampple.HelloWorld is duplicated
> > > on the classpath in someway. Do a nice, clean build.
> > >
> > > On 4/11/06, Rodnei Couto <ro...@tecgraf.puc-rio.br> wrote:
> > > > Hi list,
> > > >
> > > > I'm migrating my aplication from tapestry 3 to tapestry 4. I made this
> > > > hivemind helloWorld example with tapestry to learn, but this didn't
> > > > work. The exception is:
> > > >
> > > > The version of hivemind is 1.1.1.
> > > >
> > > > Somebody can help me?
> > > >
> > > > org.apache.hivemind.ApplicationRuntimeException
> > > > Error at context:/WEB-INF/Home.page, line 9, column 68: Error adding
> > > > property valor to class tapestryTest.Pagina: The value obtained using
> > > > locator 'service:examples.HelloWorld' (<SingletonProxy for
> > > > examples.HelloWorld(com.helloworld.exampple.HelloWorld)>) is not
> > > > compatible with the existing property (of type
> > > > com.helloworld.exampple.HelloWorld).
> > > >
> > > >
> > > > HelloWorld Interface:
> > > >
> > > > package com.helloworld.exampple;
> > > > public interface HelloWorld {
> > > >     public String getHelloWorld();
> > > > }
> > > >
> > > > HelloWorldImp Class:
> > > >
> > > > package com.helloworld.exampple;
> > > > public class HelloWorldImp implements HelloWorld {
> > > >     public String getHelloWorld() {
> > > >        return "Hello World";
> > > >     }
> > > > }
> > > >
> > > > hivemind.xml
> > > >
> > > > <?xml version="1.0"?>
> > > > <module id="examples" version="1.0.0" package="com.helloworld.exampple
> > ">
> > > >     <service-point id="HelloWorld">
> > > >         <invoke-factory>
> > > >             <construct class="HelloWorldImp"/>
> > > >         </invoke-factory>
> > > >     </service-point>
> > > > </module>
> > > >
> > > > Home.page
> > > >
> > > > <page-specification class="tapestryTest.Pagina">
> > > >     <inject property="valor" object="service:examples.HelloWorld"/>
> > > > </page-specification>
> > > >
> > > > Home.java
> > > >
> > > > public abstract class Pagina extends BasePage {
> > > >    public abstract HelloWorld getValor();
> > > >    public String getString(){
> > > >         Object valor = getValor();
> > > >         return getValor().getHelloWorld();
> > > >     }
> > > > }
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > Howard M. Lewis Ship
> > > Independent J2EE / Open-Source Java Consultant
> > > Creator, Jakarta Tapestry
> > > Creator, Jakarta HiveMind
> > >
> > > Professional Tapestry training, mentoring, support
> > > and project work.  http://howardlewisship.com
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> > >
> > >
> >
> >
> >
> >
> > __________________________________________________
> > Tecgraf/PUC-Rio Webmail
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> >
> >
>
>
> --
> Jesse Kuhnert
> Tacos/Tapestry, team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind.  http://opennotion.com
>
>


--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Re: Hivemind problem with tapestry 4

Posted by Jesse Kuhnert <jk...@gmail.com>.
I wonder which version of jetty you are using. It ~used~ to work as far as I
remember.

On 4/11/06, rodnei@tecgraf.puc-rio.br <ro...@tecgraf.puc-rio.br> wrote:
>
> I MADE IT...
>
> It was really a classpath problem.
>
> I created a WAR file of my application and ran it on Jetty but not from
> within
> Eclipse... it worked flawlessly.
>
> Previously I had another project, which had all of the libs, and my
> tapestry
> project accessed those libs in that project.  I copied the tapestry libs
> and
> dependencies into WEB-INF/libs.
>
> Having done that, I clicked Run -> Jetty Web (that's the name of the
> instance
> I'm currently using to run Jetty) -> Classpath and removed the "{PROJECT
> NAME}
> default classpath".  Then it worked perfectly.
>
> Greetings,
> Rodnei Couto
>
>
> Citando Howard Lewis Ship <hl...@gmail.com>:
>
> > Likely case is that com.helloworld.exampple.HelloWorld is duplicated
> > on the classpath in someway. Do a nice, clean build.
> >
> > On 4/11/06, Rodnei Couto <ro...@tecgraf.puc-rio.br> wrote:
> > > Hi list,
> > >
> > > I'm migrating my aplication from tapestry 3 to tapestry 4. I made this
> > > hivemind helloWorld example with tapestry to learn, but this didn't
> > > work. The exception is:
> > >
> > > The version of hivemind is 1.1.1.
> > >
> > > Somebody can help me?
> > >
> > > org.apache.hivemind.ApplicationRuntimeException
> > > Error at context:/WEB-INF/Home.page, line 9, column 68: Error adding
> > > property valor to class tapestryTest.Pagina: The value obtained using
> > > locator 'service:examples.HelloWorld' (<SingletonProxy for
> > > examples.HelloWorld(com.helloworld.exampple.HelloWorld)>) is not
> > > compatible with the existing property (of type
> > > com.helloworld.exampple.HelloWorld).
> > >
> > >
> > > HelloWorld Interface:
> > >
> > > package com.helloworld.exampple;
> > > public interface HelloWorld {
> > >     public String getHelloWorld();
> > > }
> > >
> > > HelloWorldImp Class:
> > >
> > > package com.helloworld.exampple;
> > > public class HelloWorldImp implements HelloWorld {
> > >     public String getHelloWorld() {
> > >        return "Hello World";
> > >     }
> > > }
> > >
> > > hivemind.xml
> > >
> > > <?xml version="1.0"?>
> > > <module id="examples" version="1.0.0" package="com.helloworld.exampple
> ">
> > >     <service-point id="HelloWorld">
> > >         <invoke-factory>
> > >             <construct class="HelloWorldImp"/>
> > >         </invoke-factory>
> > >     </service-point>
> > > </module>
> > >
> > > Home.page
> > >
> > > <page-specification class="tapestryTest.Pagina">
> > >     <inject property="valor" object="service:examples.HelloWorld"/>
> > > </page-specification>
> > >
> > > Home.java
> > >
> > > public abstract class Pagina extends BasePage {
> > >    public abstract HelloWorld getValor();
> > >    public String getString(){
> > >         Object valor = getValor();
> > >         return getValor().getHelloWorld();
> > >     }
> > > }
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> > >
> > >
> >
> >
> > --
> > Howard M. Lewis Ship
> > Independent J2EE / Open-Source Java Consultant
> > Creator, Jakarta Tapestry
> > Creator, Jakarta HiveMind
> >
> > Professional Tapestry training, mentoring, support
> > and project work.  http://howardlewisship.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> >
> >
>
>
>
>
> __________________________________________________
> Tecgraf/PUC-Rio Webmail
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
>


--
Jesse Kuhnert
Tacos/Tapestry, team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind.  http://opennotion.com

Re: Hivemind problem with tapestry 4

Posted by ro...@tecgraf.puc-rio.br.
I MADE IT...

It was really a classpath problem.

I created a WAR file of my application and ran it on Jetty but not from within
Eclipse... it worked flawlessly.

Previously I had another project, which had all of the libs, and my tapestry
project accessed those libs in that project.  I copied the tapestry libs and
dependencies into WEB-INF/libs.

Having done that, I clicked Run -> Jetty Web (that's the name of the instance
I'm currently using to run Jetty) -> Classpath and removed the "{PROJECT NAME}
default classpath".  Then it worked perfectly.

Greetings,
Rodnei Couto


Citando Howard Lewis Ship <hl...@gmail.com>:

> Likely case is that com.helloworld.exampple.HelloWorld is duplicated
> on the classpath in someway. Do a nice, clean build.
> 
> On 4/11/06, Rodnei Couto <ro...@tecgraf.puc-rio.br> wrote:
> > Hi list,
> >
> > I'm migrating my aplication from tapestry 3 to tapestry 4. I made this
> > hivemind helloWorld example with tapestry to learn, but this didn't
> > work. The exception is:
> >
> > The version of hivemind is 1.1.1.
> >
> > Somebody can help me?
> >
> > org.apache.hivemind.ApplicationRuntimeException
> > Error at context:/WEB-INF/Home.page, line 9, column 68: Error adding
> > property valor to class tapestryTest.Pagina: The value obtained using
> > locator 'service:examples.HelloWorld' (<SingletonProxy for
> > examples.HelloWorld(com.helloworld.exampple.HelloWorld)>) is not
> > compatible with the existing property (of type
> > com.helloworld.exampple.HelloWorld).
> >
> >
> > HelloWorld Interface:
> >
> > package com.helloworld.exampple;
> > public interface HelloWorld {
> >     public String getHelloWorld();
> > }
> >
> > HelloWorldImp Class:
> >
> > package com.helloworld.exampple;
> > public class HelloWorldImp implements HelloWorld {
> >     public String getHelloWorld() {
> >        return "Hello World";
> >     }
> > }
> >
> > hivemind.xml
> >
> > <?xml version="1.0"?>
> > <module id="examples" version="1.0.0" package="com.helloworld.exampple">
> >     <service-point id="HelloWorld">
> >         <invoke-factory>
> >             <construct class="HelloWorldImp"/>
> >         </invoke-factory>
> >     </service-point>
> > </module>
> >
> > Home.page
> >
> > <page-specification class="tapestryTest.Pagina">
> >     <inject property="valor" object="service:examples.HelloWorld"/>
> > </page-specification>
> >
> > Home.java
> >
> > public abstract class Pagina extends BasePage {
> >    public abstract HelloWorld getValor();
> >    public String getString(){
> >         Object valor = getValor();
> >         return getValor().getHelloWorld();
> >     }
> > }
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> >
> >
> 
> 
> --
> Howard M. Lewis Ship
> Independent J2EE / Open-Source Java Consultant
> Creator, Jakarta Tapestry
> Creator, Jakarta HiveMind
> 
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> 
> 




__________________________________________________
Tecgraf/PUC-Rio Webmail

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Re: Hivemind problem with tapestry 4

Posted by ro...@tecgraf.puc-rio.br.
    I MADE IT...

Just making clean build didn't work with me... 

    It was really a classpath problem.

    I created a WAR file of my application and ran it on Jetty but not from
within Eclipse... it worked flawlessly.

    Previously I had another project, which had all of the libs, and my tapestry
project accessed those libs in that project.  I copied the tapestry libs and
dependencies into WEB-INF/libs.

    Having done that, I clicked Run -> Jetty Web (that's the name of the
instance I'm currently using to run Jetty) -> Classpath and removed the
"{PROJECT NAME} default classpath".  Then it worked perfectly.

    

    Greetings,
    Rodnei Couto



Citando Howard Lewis Ship <hl...@gmail.com>:

> Likely case is that com.helloworld.exampple.HelloWorld is duplicated
> on the classpath in someway. Do a nice, clean build.
> 
> On 4/11/06, Rodnei Couto <ro...@tecgraf.puc-rio.br> wrote:
> > Hi list,
> >
> > I'm migrating my aplication from tapestry 3 to tapestry 4. I made this
> > hivemind helloWorld example with tapestry to learn, but this didn't
> > work. The exception is:
> >
> > The version of hivemind is 1.1.1.
> >
> > Somebody can help me?
> >
> > org.apache.hivemind.ApplicationRuntimeException
> > Error at context:/WEB-INF/Home.page, line 9, column 68: Error adding
> > property valor to class tapestryTest.Pagina: The value obtained using
> > locator 'service:examples.HelloWorld' (<SingletonProxy for
> > examples.HelloWorld(com.helloworld.exampple.HelloWorld)>) is not
> > compatible with the existing property (of type
> > com.helloworld.exampple.HelloWorld).
> >
> >
> > HelloWorld Interface:
> >
> > package com.helloworld.exampple;
> > public interface HelloWorld {
> >     public String getHelloWorld();
> > }
> >
> > HelloWorldImp Class:
> >
> > package com.helloworld.exampple;
> > public class HelloWorldImp implements HelloWorld {
> >     public String getHelloWorld() {
> >        return "Hello World";
> >     }
> > }
> >
> > hivemind.xml
> >
> > <?xml version="1.0"?>
> > <module id="examples" version="1.0.0" package="com.helloworld.exampple">
> >     <service-point id="HelloWorld">
> >         <invoke-factory>
> >             <construct class="HelloWorldImp"/>
> >         </invoke-factory>
> >     </service-point>
> > </module>
> >
> > Home.page
> >
> > <page-specification class="tapestryTest.Pagina">
> >     <inject property="valor" object="service:examples.HelloWorld"/>
> > </page-specification>
> >
> > Home.java
> >
> > public abstract class Pagina extends BasePage {
> >    public abstract HelloWorld getValor();
> >    public String getString(){
> >         Object valor = getValor();
> >         return getValor().getHelloWorld();
> >     }
> > }
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> >
> >
> 
> 
> --
> Howard M. Lewis Ship
> Independent J2EE / Open-Source Java Consultant
> Creator, Jakarta Tapestry
> Creator, Jakarta HiveMind
> 
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> 
> 




__________________________________________________
Tecgraf/PUC-Rio Webmail

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Re: Hivemind problem with tapestry 4

Posted by Howard Lewis Ship <hl...@gmail.com>.
Likely case is that com.helloworld.exampple.HelloWorld is duplicated
on the classpath in someway. Do a nice, clean build.

On 4/11/06, Rodnei Couto <ro...@tecgraf.puc-rio.br> wrote:
> Hi list,
>
> I'm migrating my aplication from tapestry 3 to tapestry 4. I made this
> hivemind helloWorld example with tapestry to learn, but this didn't
> work. The exception is:
>
> The version of hivemind is 1.1.1.
>
> Somebody can help me?
>
> org.apache.hivemind.ApplicationRuntimeException
> Error at context:/WEB-INF/Home.page, line 9, column 68: Error adding
> property valor to class tapestryTest.Pagina: The value obtained using
> locator 'service:examples.HelloWorld' (<SingletonProxy for
> examples.HelloWorld(com.helloworld.exampple.HelloWorld)>) is not
> compatible with the existing property (of type
> com.helloworld.exampple.HelloWorld).
>
>
> HelloWorld Interface:
>
> package com.helloworld.exampple;
> public interface HelloWorld {
>     public String getHelloWorld();
> }
>
> HelloWorldImp Class:
>
> package com.helloworld.exampple;
> public class HelloWorldImp implements HelloWorld {
>     public String getHelloWorld() {
>        return "Hello World";
>     }
> }
>
> hivemind.xml
>
> <?xml version="1.0"?>
> <module id="examples" version="1.0.0" package="com.helloworld.exampple">
>     <service-point id="HelloWorld">
>         <invoke-factory>
>             <construct class="HelloWorldImp"/>
>         </invoke-factory>
>     </service-point>
> </module>
>
> Home.page
>
> <page-specification class="tapestryTest.Pagina">
>     <inject property="valor" object="service:examples.HelloWorld"/>
> </page-specification>
>
> Home.java
>
> public abstract class Pagina extends BasePage {
>    public abstract HelloWorld getValor();
>    public String getString(){
>         Object valor = getValor();
>         return getValor().getHelloWorld();
>     }
> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>
>


--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org


Re: Hivemind problem with tapestry 4

Posted by Rodnei Couto <ro...@tecgraf.puc-rio.br>.
I'm sorry...

This message would be send to tapestry-user...

[]'s
Rodnei Couto

Rodnei Couto escreveu:
> Hi list,
>
> I'm migrating my aplication from tapestry 3 to tapestry 4. I made this 
> hivemind helloWorld example with tapestry to learn, but this didn't 
> work. The exception is:
>
> The version of hivemind is 1.1.1.
>
> Somebody can help me?
>
> org.apache.hivemind.ApplicationRuntimeException
> Error at context:/WEB-INF/Home.page, line 9, column 68: Error adding 
> property valor to class tapestryTest.Pagina: The value obtained using 
> locator 'service:examples.HelloWorld' (<SingletonProxy for 
> examples.HelloWorld(com.helloworld.exampple.HelloWorld)>) is not 
> compatible with the existing property (of type 
> com.helloworld.exampple.HelloWorld).
>   
> HelloWorld Interface:
>
> package com.helloworld.exampple;
> public interface HelloWorld {
>    public String getHelloWorld();
> }
>
> HelloWorldImp Class:
>
> package com.helloworld.exampple;
> public class HelloWorldImp implements HelloWorld {
>    public String getHelloWorld() {
>       return "Hello World";
>    }
> }
>
> hivemind.xml
>
> <?xml version="1.0"?>
> <module id="examples" version="1.0.0" package="com.helloworld.exampple">
>    <service-point id="HelloWorld">
>        <invoke-factory>
>            <construct class="HelloWorldImp"/>
>        </invoke-factory>
>    </service-point>
> </module>
>
> Home.page
>
> <page-specification class="tapestryTest.Pagina">
>    <inject property="valor" object="service:examples.HelloWorld"/>
> </page-specification>
>
> Home.java
>
> public abstract class Pagina extends BasePage {
>   public abstract HelloWorld getValor();
>   public String getString(){
>        Object valor = getValor();
>        return getValor().getHelloWorld();
>    }
> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org