[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]

Reply via email to