You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by joknroll <ad...@yahoo.com> on 2011/04/07 11:36:43 UTC
Tapestry Testify - SetupRender launched instead of update a zone
Hi everyone,
I'm a recent user of tapestry, using tapestry 5.2.4 and testify 1.0.3
through testNg. I found a lot of good advice on this forum, but now I have
to write my own subject :)
I want to test a component with this architecture:
${messageChangeWhenSubmit}
In this case, the event Validate of the form change the value of
"messageChangeWhenSubmit":
@OnEvent(value = EventConstants.VALIDATE, component = "myForm")
public void launchProcess(Object[] context) {
messageChangeWhenSubmit = "!! UPDATE !!";
}
I followed the architecture of testify website ( abstract class,
SHARED_TESTER,etc... ).
My problem : when I run a tester.clickSubmit(mySubmit , emptyMapParameters)
, the @SetupRender of my component is called. Is it the normal behavior
because I just wanted to get back and test the new zone and not a entire new
component.
Thanks if you take the time to give me an answer or a clue.
--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288081.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry Testify - SetupRender launched instead of update a zone
Posted by Paul Field <pa...@db.com>.
joknroll <ad...@yahoo.com> wrote on 08/04/2011 08:47:50:
> hum ok, thank you, i'll look at your link.
>
> Someone knows if Testify will evolve, in short or long term, to manage
the
> zone update?
As soon as you start working with zones you are in the world of Javascript
and you need some kind of browser implementation (because most components
that do zone updates also do other Javascript that you'll want to test).
I unfortunately don't have the time to do any major updates to Testify (I
don't even write Java code at the moment :-( ) but if someone wanted to
investigate, it looks like it might be possible to integrate HtmlUnit with
Testify. The interesting method in HtmlUnit is
WebClient#setWebConnection() where you appear to be able to override how
HtmlUnit submits HTTP requests/gets responses. An implementation of
HtmlUnit's WebConnection interface that used testify, might give you what
you want.
- Paul
---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.
Re: Tapestry Testify - SetupRender launched instead of update a
zone
Posted by joknroll <ad...@yahoo.com>.
hum ok, thank you, i'll look at your link.
Someone knows if Testify will evolve, in short or long term, to manage the
zone update?
--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4290262.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry Testify - SetupRender launched instead of update a zone
Posted by Taha Hafeez <ta...@gmail.com>.
Yes, I think so
Did you read this
http://tapestry.1045711.n5.nabble.com/XHR-isXHR-shortcut-td3353416.html
<http://tapestry.1045711.n5.nabble.com/XHR-isXHR-shortcut-td3353416.html>
regards
Taha
On Thu, Apr 7, 2011 at 9:53 PM, joknroll <ad...@yahoo.com> wrote:
> I'm starting with selenium now. I was starting with testify to inject fake
> services.
>
> I see the @XHR with code.google.com/p/tapestry-addons/ , but I did'nt
> achieve to import it in my maven project. Do you think it can help me to do
> Graceful Degradation and continue with testify?
>
>
> --
> View this message in context:
> http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288918.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
Re: Tapestry Testify - SetupRender launched instead of update a
zone
Posted by joknroll <ad...@yahoo.com>.
I'm starting with selenium now. I was starting with testify to inject fake
services.
I see the @XHR with code.google.com/p/tapestry-addons/ , but I did'nt
achieve to import it in my maven project. Do you think it can help me to do
Graceful Degradation and continue with testify?
--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288918.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry Testify - SetupRender launched instead of update a zone
Posted by Taha Hafeez <ta...@gmail.com>.
Sorry for mis-understanding your question... (Sometimes, my mind is just
switched off :))
BTW even htmlUnit is very good, Selenium is very slow... I use PageTester
for non-ajax unit testing.
You can look at
code.google.com/p/tapestry-addons/
I have used selenium for ajax-testing. You will find it very easy.
For HtmlUnit, may be this code will help. Here I have started a jetty server
and then used htmlunit to test all links on 'Index' page are properly
rendered
public class TawusComponentsTest extends Assert {
private static EmbeddedJettyServer server;
private String url;
private WebClient webClient;
private HtmlPage page;
@BeforeClass
public void startServer() throws Exception {
server = new EmbeddedJettyServer("src/test/webapp",
"/tawus-hibernate");
server.start();
url = server.getUrl();
webClient = new WebClient();
}
@Test
public void testAllLinks() throws IOException {
page = webClient.getPage(url + "index");
List<HtmlAnchor> anchors = page.getAnchors();
for(final HtmlAnchor anchor : anchors){
HtmlPage testPage = anchor.click();
assertTrue(testPage.getTitleText().contains("Tawus Integration
Testing"),
"Rendering failed for " + anchor.asText());
}
}
@AfterClass
public void stopServer() throws Exception {
webClient.closeAllWindows();
server.stop();
}
}
The embedded server is
package com.googlecode.tawus.test;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.bio.SocketConnector;
import org.eclipse.jetty.webapp.WebAppContext;
public class EmbeddedJettyServer {
private String location;
private String contextPath;
private Server server;
private String url;
private int port;
public EmbeddedJettyServer(String location, String context) {
this(location, context, 8080);
}
public EmbeddedJettyServer(String location, String context, int port){
this.location = location;
this.contextPath = context;
this.port = port;
}
public int getPort(){
return port;
}
public String getUrl() {
return url;
}
public Server getServer() {
return server;
}
public void start() throws Exception {
server = new Server();
SocketConnector connector = new SocketConnector();
connector.setPort(getPort());
server.setConnectors(new Connector[] { connector });
WebAppContext context = new WebAppContext();
context.setServer(server);
context.setContextPath(contextPath);
context.setWar(location);
server.setHandler(context);
server.start();
url = "http://localhost:" + getPort() + contextPath + "/";
}
public void stop() throws Exception {
server.stop();
}
}
Hope it helps
regards
Taha
On Thu, Apr 7, 2011 at 6:56 PM, Paul Field <pa...@db.com> wrote:
> Testify cannot run unit tests that rely on javascript - it is not
> simulating an entire browser. So your tests act more like a browser
> running with javascript turned off and you can't test AJAX functionality.
> However you can test that your page degrades well if there is no
> Javascript :-)
>
> You can find out a bit more about making your pages degrade gracefully in
> Tapestry's Ajax guide:
> http://tapestry.apache.org/tapestry5/guide/ajax.html
> (look for the section "Graceful Degradation")
>
> If you need a full browser simulation, then try using Selenium with the
> tapestry-test module (http://tapestry.apache.org/tapestry5/tapestry-test/)
>
> Selenium is a lot slower than Testify though, so the best approach is to
> use both tools and test with Testify for non-Javascript/Ajax functionality
> and use Selenium when you want to test with a full browser implementation.
>
> - Paul
>
>
> joknroll <ad...@yahoo.com> wrote on 07/04/2011 13:16:02:
>
> > hum, I agree with you,it works :)
> > But my problem concern the usage of tapestry testify to do unit testing
> on
> > my component.
> >
> > My dummy case is to understand the behavior of unit test with testify to
> > implement it in a bigger project.
> >
> > --------------------------------------------------------
> > my dummy.tml:
> > <?xml version="1.0" encoding="UTF-8"?>
> >
> >
> > ${messageChangeWhenSubmit}
> >
> >
> >
> >
> >
> >
> >
> >
> > --------------------------------------------------------
> > in my class TestDummy.java:
> > [...]
> > @Test
> > public void updateValue() {
> > Document doc = tester.renderPage("demo/dummyDemo");
> > Element submitButton = doc.getElementById("mySubmit");
> > Map<String, String> parameters = new HashMap<String,
> > String>();
> > doc = tester.clickSubmit(submitButton, parameters);
> > assertEquals(doc.getElementById("testDiv").getChildMarkup(), "!!
> UPDATE
> > !!");
> > }
> > --------------------------------------------------------
> > in my Dummy.java
> > [...]
> > @Persist
> > @Property
> > private String messageChangeWhenSubmit;
> >
> > @Component(id = "myForm")
> > private Form myForm;
> >
> > @Property
> > @InjectComponent
> > private Zone myZone;
> >
> > @SetupRender
> > public void init() {
> > logger.debug("## INIT ##");
> > messageChangeWhenSubmit = "somethingToTest";
> > }
> >
> > @OnEvent(value = EventConstants.VALIDATE, component = "myForm")
> > public Object launchProcess() {
> > messageChangeWhenSubmit = "!! UPDATE !!";
> > return myZone;
> > }
> > --------------------------------------------------------
> >
> > The test "updateValue" failed.. I wanted to know if it's a usage of
> testify
> > and what I have to be aware of to pass the test....
> >
> > --
> > View this message in context: http://tapestry.1045711.n5.nabble.
> > com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-
> > tp4288081p4288382.html
> > Sent from the Tapestry - User mailing list archive at Nabble.com.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
>
>
>
> ---
>
> This e-mail may contain confidential and/or privileged information. If you
> are not the intended recipient (or have received this e-mail in error)
> please notify the sender immediately and delete this e-mail. Any
> unauthorized copying, disclosure or distribution of the material in this
> e-mail is strictly forbidden.
>
> Please refer to http://www.db.com/en/content/eu_disclosures.htm for
> additional EU corporate and regulatory disclosures.
Re: Tapestry Testify - SetupRender launched instead of update a
zone
Posted by joknroll <ad...@yahoo.com>.
Thank you Paul and Taha,
I'll look at the Graceful Degradation.
--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288699.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry Testify - SetupRender launched instead of update a zone
Posted by Paul Field <pa...@db.com>.
Testify cannot run unit tests that rely on javascript - it is not
simulating an entire browser. So your tests act more like a browser
running with javascript turned off and you can't test AJAX functionality.
However you can test that your page degrades well if there is no
Javascript :-)
You can find out a bit more about making your pages degrade gracefully in
Tapestry's Ajax guide:
http://tapestry.apache.org/tapestry5/guide/ajax.html
(look for the section "Graceful Degradation")
If you need a full browser simulation, then try using Selenium with the
tapestry-test module (http://tapestry.apache.org/tapestry5/tapestry-test/)
Selenium is a lot slower than Testify though, so the best approach is to
use both tools and test with Testify for non-Javascript/Ajax functionality
and use Selenium when you want to test with a full browser implementation.
- Paul
joknroll <ad...@yahoo.com> wrote on 07/04/2011 13:16:02:
> hum, I agree with you,it works :)
> But my problem concern the usage of tapestry testify to do unit testing
on
> my component.
>
> My dummy case is to understand the behavior of unit test with testify to
> implement it in a bigger project.
>
> --------------------------------------------------------
> my dummy.tml:
> <?xml version="1.0" encoding="UTF-8"?>
>
>
> ${messageChangeWhenSubmit}
>
>
>
>
>
>
>
>
> --------------------------------------------------------
> in my class TestDummy.java:
> [...]
> @Test
> public void updateValue() {
> Document doc = tester.renderPage("demo/dummyDemo");
> Element submitButton = doc.getElementById("mySubmit");
> Map<String, String> parameters = new HashMap<String,
> String>();
> doc = tester.clickSubmit(submitButton, parameters);
> assertEquals(doc.getElementById("testDiv").getChildMarkup(), "!!
UPDATE
> !!");
> }
> --------------------------------------------------------
> in my Dummy.java
> [...]
> @Persist
> @Property
> private String messageChangeWhenSubmit;
>
> @Component(id = "myForm")
> private Form myForm;
>
> @Property
> @InjectComponent
> private Zone myZone;
>
> @SetupRender
> public void init() {
> logger.debug("## INIT ##");
> messageChangeWhenSubmit = "somethingToTest";
> }
>
> @OnEvent(value = EventConstants.VALIDATE, component = "myForm")
> public Object launchProcess() {
> messageChangeWhenSubmit = "!! UPDATE !!";
> return myZone;
> }
> --------------------------------------------------------
>
> The test "updateValue" failed.. I wanted to know if it's a usage of
testify
> and what I have to be aware of to pass the test....
>
> --
> View this message in context: http://tapestry.1045711.n5.nabble.
> com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-
> tp4288081p4288382.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
---
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.
Re: Tapestry Testify - SetupRender launched instead of update a
zone
Posted by joknroll <ad...@yahoo.com>.
hum, I agree with you,it works :)
But my problem concern the usage of tapestry testify to do unit testing on
my component.
My dummy case is to understand the behavior of unit test with testify to
implement it in a bigger project.
--------------------------------------------------------
my dummy.tml:
<?xml version="1.0" encoding="UTF-8"?>
${messageChangeWhenSubmit}
--------------------------------------------------------
in my class TestDummy.java:
[...]
@Test
public void updateValue() {
Document doc = tester.renderPage("demo/dummyDemo");
Element submitButton = doc.getElementById("mySubmit");
Map<String, String> parameters = new HashMap<String,
String>();
doc = tester.clickSubmit(submitButton, parameters);
assertEquals(doc.getElementById("testDiv").getChildMarkup(), "!! UPDATE
!!");
}
--------------------------------------------------------
in my Dummy.java
[...]
@Persist
@Property
private String messageChangeWhenSubmit;
@Component(id = "myForm")
private Form myForm;
@Property
@InjectComponent
private Zone myZone;
@SetupRender
public void init() {
logger.debug("## INIT ##");
messageChangeWhenSubmit = "somethingToTest";
}
@OnEvent(value = EventConstants.VALIDATE, component = "myForm")
public Object launchProcess() {
messageChangeWhenSubmit = "!! UPDATE !!";
return myZone;
}
--------------------------------------------------------
The test "updateValue" failed.. I wanted to know if it's a usage of testify
and what I have to be aware of to pass the test....
--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288382.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry Testify - SetupRender launched instead of update a zone
Posted by Taha Hafeez <ta...@gmail.com>.
Ok,
What I did was copy your code and it works for me.. So here is the code for
you
(Although there are a number of things I won't do your way!!)
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.components.Zone;
public class TestComponent {
@InjectComponent
@Property
private Zone myZone;
@SuppressWarnings("unused")
@Property
private String message;
@OnEvent(component = "form", value = EventConstants.VALIDATE)
Zone validate(){
message = "My Message";
return myZone;
}
void setupRender(){
System.out.println("setupRender Called");
}
}
<html xmlns:t='http://tapestry.apache.org/schema/tapestry_5_1_0.xsd'>
<body>
<t:zone t:id="myZone" clientId="myZone">
${message}
<t:form t:id='form' zone="prop:myZone.clientId">
<input id="mySubmit" t:type="submit" />
</t:form>
</t:zone>
</body>
</html>
regards
Taha
On Thu, Apr 7, 2011 at 4:01 PM, joknroll <ad...@yahoo.com> wrote:
> Thanks to answer so quickly
>
> I tried:
> t:zone='myZone' instead of t:zone='myZone.clientId'
> but it changes nothing...
>
> For the ajax, if I trust the documentation of tapestry:
> "Binding the zone parameter will cause the form submission to be handled as
> an Ajax request that updates the indicated zone. Often a Form will update
> the same zone that contains it."
>
> --
> View this message in context:
> http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288169.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
Re: Tapestry Testify - SetupRender launched instead of update a
zone
Posted by joknroll <ad...@yahoo.com>.
Thanks to answer so quickly
I tried:
t:zone='myZone' instead of t:zone='myZone.clientId'
but it changes nothing...
For the ajax, if I trust the documentation of tapestry:
"Binding the zone parameter will cause the form submission to be handled as
an Ajax request that updates the indicated zone. Often a Form will update
the same zone that contains it."
--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288169.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry Testify - SetupRender launched instead of update a zone
Posted by Taha Hafeez <ta...@gmail.com>.
Hi
I was replying to "I just wanted to get back and test the new zone and not a
entire new component."
Yes @SetupRender is not called on a zone update, Are you sure it is an ajax
update.
Try t:zone='myZone' instead of t:zone='myZone.clientId'
regards
Taha
On Thu, Apr 7, 2011 at 3:42 PM, joknroll <ad...@yahoo.com> wrote:
>
> Maybe i'm wrong too , but if the form is linked with a zone, the
> @SetupRender of the conponent is not called?
> In my case, the @SetupRender initialize the value of my param
> "messageChangeWhenSubmit".
> When I submit, I change the value of this param and update the zone to
> apply
> the new value.. so if the @SetupRender is called, the value is
> re-initialize
> ... and my test still red :(
>
> I correct my first post with the method called when validate the form (
> return the zone ):
>
> @OnEvent(value = EventConstants.VALIDATE, component = "myForm")
> public Object launchProcess() {
> something = "!! UPDATE !!";
> return myZone;
> }
>
> I have a Warning code too:
> [WARN ][12:08:21][o.a.t.s.T.ComponentInstanceResultProcessor] - Component
> demo/dummy:dummy.myzone was returned from an event handler method, but is
> not a page component. The page containing the component will render the
> client response.
>
>
> --
> View this message in context:
> http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288139.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
Re: Tapestry Testify - SetupRender launched instead of update a
zone
Posted by joknroll <ad...@yahoo.com>.
Maybe i'm wrong too , but if the form is linked with a zone, the
@SetupRender of the conponent is not called?
In my case, the @SetupRender initialize the value of my param
"messageChangeWhenSubmit".
When I submit, I change the value of this param and update the zone to apply
the new value.. so if the @SetupRender is called, the value is re-initialize
... and my test still red :(
I correct my first post with the method called when validate the form (
return the zone ):
@OnEvent(value = EventConstants.VALIDATE, component = "myForm")
public Object launchProcess() {
something = "!! UPDATE !!";
return myZone;
}
I have a Warning code too:
[WARN ][12:08:21][o.a.t.s.T.ComponentInstanceResultProcessor] - Component
demo/dummy:dummy.myzone was returned from an event handler method, but is
not a page component. The page containing the component will render the
client response.
--
View this message in context: http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288139.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry Testify - SetupRender launched instead of update a zone
Posted by Taha Hafeez <ta...@gmail.com>.
Correct me if I am wrong but after submit you should be checking the
document content that you receive. How does it matter if setupRender() is
called ?
regards
Taha
On Thu, Apr 7, 2011 at 3:06 PM, joknroll <ad...@yahoo.com> wrote:
> Hi everyone,
> I'm a recent user of tapestry, using tapestry 5.2.4 and testify 1.0.3
> through testNg. I found a lot of good advice on this forum, but now I have
> to write my own subject :)
>
> I want to test a component with this architecture:
>
>
>
> ${messageChangeWhenSubmit}
>
>
>
>
>
>
> In this case, the event Validate of the form change the value of
> "messageChangeWhenSubmit":
>
> @OnEvent(value = EventConstants.VALIDATE, component = "myForm")
> public void launchProcess(Object[] context) {
> messageChangeWhenSubmit = "!! UPDATE !!";
> }
>
>
> I followed the architecture of testify website ( abstract class,
> SHARED_TESTER,etc... ).
>
> My problem : when I run a tester.clickSubmit(mySubmit , emptyMapParameters)
> , the @SetupRender of my component is called. Is it the normal behavior
> because I just wanted to get back and test the new zone and not a entire
> new
> component.
>
> Thanks if you take the time to give me an answer or a clue.
>
> --
> View this message in context:
> http://tapestry.1045711.n5.nabble.com/Tapestry-Testify-SetupRender-launched-instead-of-update-a-zone-tp4288081p4288081.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>