I recently tried out Tapestry 3.1 alpha. I was basically hoping that an existing quite simple app would work straight away. Here's what I found:
I started by building from source. After downloading hivemind 1.1 alpha and setting my hivebuild.dir property file to the hivebuild directory, the build went with relatively few problems. It would have been nice to have found some document giving a step-by-step guide on this.
The steps are pretty simple but its nice to know what they are. I noticed that Jcharts 0.6.0 is no longer in the referenced location in ibiblio, so I had to find that manually.
How 'bout this? http://wiki.apache.org/jakarta-tapestry/BuildingTapestry31
I had to make a couple of changes to the the application itself, built for 3.0.2. In particular, the AbstractPage method includes a couple of other abstract methods – in particular getComponentSpecification(). I'm not sure what form this method implementation was supposed to take – the Javadocs did not help. I used the working assumption that if I left the page class abstract and did not implement this method, it would be handled by the enhanced class version. No idea whether this is the correct assumption, though.
That is correct. This has been changed in the latest 3.1 codebase though - so I recommend you build from CVS HEAD.
Here's my page class:
public abstract class Redirect extends BasePage { public abstract Object[] getParameters(); public abstract void setParameters(Object[] parameters); public abstract String getTargetPage(); public abstract void setTargetPage(String newPage); }
and page specification
<page-specification class="com.bt.gmatest.pages.Redirect">
<description>Redirect Page</description>
<property-specification name = "targetPage" type = "String"/>
<property-specification name = "paramters" type = "java.lang.Object[]"/>
</page-specification>
Upgrade to the latest DTD and it'll be 'type'-less.
<component-specification class="com.bt.gmatest.components.Redirect" allow-body="no" allow-informal-parameters="no">
<parameter name="targetPage" type="java.lang.String" required="yes" direction="in"/>
<parameter name="parameters" type="java.lang.Object[]" required="no" direction="in"/>
Again, upgrade your DOCTYPE to be the 3.1 one. You then won't be specifying directions.
The error I get is:
Parameter pageName must not be null. Stack Trace:
I don't know what is causing your error, but try from CVS HEAD and upgrading your DTD's to the 3.1 one, validate your specification files, and adjust them appropriately.
Erik
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
