[EMAIL PROTECTED] wrote:
root cause
java.lang.NoSuchMethodError:
org.apache.tiles.DefinitionsFactory.getDefinition(Ljava/lang/String;Ljav
ax/servlet/ServletRequest;Ljavax/servlet/ServletContext;)Lorg/apache/til
es/ComponentDefinition;
Ok, now you're into the place where Tiles changes have been made but
Shale changes have not kept up yet. The Tiles API has changed and David
is working on changes to the TilesViewHandler to integrate those Tiles
changes.
I just checked and David's changes have been checked into svn. If you
could build Shale from source you'd get the changes. Or if you could
replace TilesViewHandler with one that has the following getTile()
method you'll get past this error. Alternatively you can wait till
tomorrow and download tonight's nightly build.
/**
* <p>Looks up a tile, given a name. If the tile does not exist, and the
* <code>name</code> begins with a slash ('/'), look for a tile
* without the slash. If no tile is found, return <code>null</code>.</p>
*
* @param name The tile to lookup
*/
private ComponentDefinition getTile(String name) {
if (name == null)
return null;
ExternalContext externalContext = FacesContext.getCurrentInstance()
.getExternalContext();
ServletRequest request =
(ServletRequest)externalContext.getRequest();
ServletContext servletContext = (ServletContext)externalContext.
getContext();
ComponentDefinition tile = null;
try {
tile = TilesUtil.getDefinition(name, request, servletContext);
}
catch(NoSuchDefinitionException nsex) { /* not here */ }
catch(DefinitionsFactoryException dex) { /* not here */ }
if (tile == null && name.startsWith("/")) { // try again w/o slash...
try {
tile = TilesUtil.getDefinition(name, request, servletContext);
}
catch(NoSuchDefinitionException nsdex) { /* not here */ }
catch(DefinitionsFactoryException dfex) { /* not here */ }
}
return tile;
}
Greg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]