forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thorsten Scherler <thors...@apache.org>
Subject Re: [jira] Commented: (FOR-893) wildcard matcher such as **.xml when used in lm actions like {1} are not rewritten
Date Tue, 18 Jul 2006 17:03:05 GMT
El mar, 18-07-2006 a las 17:17 +0200, Cyriaque Dupoirieux escribió:
> le 17/07/2006 16:10 Thorsten Scherler a écrit :
> > El lun, 17-07-2006 a las 11:28 +0200, Cyriaque Dupoirieux escribió:
> >   
> >> le 17/07/2006 10:46 Thorsten Scherler a écrit :
> >>     
> >>> El lun, 17-07-2006 a las 01:18 -0700, Cyriaque Dupoirieux (JIRA)
> >>> escribió:
> >>>       
> > [SNIP...]
> >   
> 
> > I am not sure. This is not a dispatcher problem but more a locationmap
> > one. The dispatcher transformer is coming into place later. However you
> > can do something like:
> > Index:
> > src/java/org/apache/forrest/dispatcher/acting/RecursiveDirectoryTraversalAction.java
> > ===================================================================
> > ---
> > src/java/org/apache/forrest/dispatcher/acting/RecursiveDirectoryTraversalAction.java
       (revisión: 422657)
> > +++
> > src/java/org/apache/forrest/dispatcher/acting/RecursiveDirectoryTraversalAction.java
       (copia de trabajo)
> > @@ -96,6 +96,7 @@
> >          this.prepare(parameters, source);
> >          String uri = this.getProjectDir() + this.getRequest()
> >                  + this.getProjectExtension();
> > +        getLogger().warn("RecursiveDirectoryTraversalAction trying to
> > use uri: "+uri);
> >          Map returnMap = act(uri);
> >          return returnMap;
> >      }
> > @@ -116,6 +117,7 @@
> >              this.computeResponseURI(uri, src);
> >              //src = resolver.resolveURI(uri);
> >              if (this.map.containsKey("uri")) {
> > +               getLogger().warn("RecursiveDirectoryTraversalAction
> > found at location: "+uri);
> >                  return this.map;
> >              } else {
> >                  return null;
> >
> > For debug e.g the RecursiveDirectoryTraversalAction and see what the uri
> > is.
> >
> > You can see it with
> > tail -f build/webapp/WEB-INF/logs/*.log|grep
> > RecursiveDirectoryTraversalAction
> >
> > which should return something like:
> > WARN    (2006-07-17) 16:08.49:702   [core.modules.mapper.lm]
> > (/search.html) PoolThread-4/RecursiveDirectoryTraversalAction:
> > RecursiveDirectoryTraversalAction trying to use
> > uri: /home/thorsten/src/x/blog/src/documentation/resources/structurer/url/search.fv
> > WARN    (2006-07-17) 16:08.49:705   [core.modules.mapper.lm]
> > (/search.html) PoolThread-4/RecursiveDirectoryTraversalAction:
> > RecursiveDirectoryTraversalAction trying to use
> > uri: /home/thorsten/src/x/blog/src/documentation/content/xdocs/search.fv
> > WARN    (2006-07-17) 16:08.49:705   [core.modules.mapper.lm]
> > (/search.html) PoolThread-4/RecursiveDirectoryTraversalAction:
> > RecursiveDirectoryTraversalAction found at
> > location: /home/thorsten/src/x/blog/src/documentation/content/xdocs/search.fv
> >
> > In any case please do 
> > thorsten@cartman:~/src/apache/forrest/trunk/main$ ./build.sh clean
> > thorsten@cartman:~/src/apache/forrest/trunk/main$ ./build.sh
> > before you test.
> >   
> Done,
> > Make sure that
> > forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.dispatcher$
svn diff locationmap.xml 
> > returns nothing.
> >   
> Done,
> 
> Now the results :
> ============
> Example of my structure :
> 
> xdocs/
>     |-- jeux
>         |-- ultima2.xml
>         `-- ultima2/
>             `-- mondes/
>                 |-- mapx21.xml
> 
> 
> structurer/url/
>            |-- jeux/
>            |   `-- ultima2/
>            |       `-- mondes/
>            |           |-- pelt.fv
>            `-- pelt.fv
> 
> The correct behaviour should be :
> - jeux/ultima2.xml uses structurer/url/pelt.fv

To clarify, requesting "jeux/ultima2.html" should use
"structurer/url/pelt.fv"

> - jeux/ultima2/mondes/mapx21 uses structure/url/jeux/ultima2/mondes/pelt.fv
> 
> 
> dispatcherErrorStack:
>  org.xml.sax.SAXParseException: The markup in the document following the 
> root element must be well-formed.

What is the whole error?

> 
> WARN    (2006-07-18) 15:53.33:656   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/SourceExistsSelector: Error reading from source 
> 'lm://dispatcher.structurer.resourceType.document-v20': Could not 
> resolve locationmap location.

This is the sourceType action.

> 
> WARN    (2006-07-18) 15:53.33:656   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: trying to use uri: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/jeux/ultima2.fv
> 

Ok, we are requesting jeux/ultima2.html. Right?

> WARN    (2006-07-18) 15:53.33:656   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: found at location: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/pelt.fv 
> for 
> [D:\duc\viewSitePerso/src/documentation/resources/structurer/url/jeux/ultima2.fv]

The primary structurer for the request would have been
"jeux/ultima2.fv". This file does not exist and the calculation of the
"RecursiveDirectoryTraversalAction" found D:\duc
\viewSitePerso/src/documentation/resources/structurer/url/pelt.fv as
responsible structurer. 

Looks good.

> WARN    (2006-07-18) 15:53.35:453   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: trying to use uri: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/.fv

This is the where the request <parameter value="{1} or {../1}"
name="request"/> does not get resolved.

Why is this request made anyway. We already found the right location. Or
is it a different one?

> WARN    (2006-07-18) 15:53.35:453   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: found at location: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/pelt.fv 
> for [D:\duc\viewSitePerso/src/documentation/resources/structurer/url/.fv]
> 

fallback

> ERROR   (2006-07-18) 15:53.37:000   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/DispatcherTransformer: dispatcherError: 500 - Internal 
> server error
> The contract "content-title" has thrown thrown an exception by resolving 
> raw data from "cocoon://jeux/ultima2/mondes/mapx21.title.xml".
> 

hmm, what does
http://localhost:8888/jeux/ultima2/mondes/mapx21.title.xml return?

> So here, we can see that there is a problem with the uri of the second 
> file which is jeux/ultima2/mondes/mapx21.xml

The main question that is raising in my head is: do you use
jeux/ultima2/mondes/mapx21.xml from within jeux/ultima2.fv? If so can I
see the definition?

> 
> Now, I replace the {../1} by {1} in the request - just to see :
> dispatcherErrorStack:
>  org.xml.sax.SAXParseException: The markup in the document following the 
> root element must be well-formed.
> 
> WARN    (2006-07-18) 16:48.36:312   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/SourceExistsSelector: Error reading from source 
> 'lm://dispatcher.structurer.resourceType.document-v20': Could not 
> resolve locationmap location.
> 
> WARN    (2006-07-18) 16:48.36:312   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: trying to use uri: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/.fv

This is the where the request <parameter value="{1}" name="request"/>
does not get resolved.

> WARN    (2006-07-18) 16:48.36:312   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: found at location: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/pelt.fv 
> for [D:\duc\viewSitePerso/src/documentation/resources/structurer/url/.fv]

Fallback.

> WARN    (2006-07-18) 16:48.38:109   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: trying to use uri: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/jeux/ultima2/mondes/mapx21.fv
> 
> WARN    (2006-07-18) 16:48.38:109   [cocoon.manager] (Unknown-URI) 
> Unknown-Thread/RecursiveDirectoryTraversalAction: found at location: 
> D:\duc\viewSitePerso/src/documentation/resources/structurer/url/jeux/ultima2/mondes/pelt.fv

> for 
> [D:\duc\viewSitePerso/src/documentation/resources/structurer/url/jeux/ultima2/mondes/mapx21.fv]
> 

The primary structurer for the request would have been
"jeux/ultima2/mondes/mapx21.fv". This file does not exist and the
calculation of the "RecursiveDirectoryTraversalAction" found D:\duc
\viewSitePerso/src/documentation/resources/structurer/url/jeux/ultima2/mondes/pelt.fv as responsible
structurer. 

Looks good.

> And now there is a problem with the uri of the first file which is 
> jeux/ultima2.xml

Yeah, I see. Is this one and the same request? Can you specify what you
are requesting for each log?

> I think you are going to understand :-)  since my logs are not identical 
> to yours :
>     I have [cocoon.manager] instead of [core.modules.mapper.lm]
>     and (Unknown-URI) Unknown-Thread instead of (/search.html) PoolThread-4
> 

That is not the problem but I do not understand the requests. Why
(Unknown-URI)? Can you change it to the request like (/search.html)? It
looks like there is difference in dispatching the files. 

Very weird.

We need to find the difference.

salu2
-- 
thorsten

"Together we stand, divided we fall!" 
Hey you (Pink Floyd)


Mime
View raw message