Gav.... wrote:

-----Original Message-----
From: Ross Gardler [mailto:[EMAIL PROTECTED]
Sent: Thursday, 23 November 2006 9:13 AM
To: [email protected]
Subject: Re: Building Forrest 2

<snip>

I really am trying to do too many things tonight (the Ashes have start
as well, so that's me out of the real world for 5 days)

It's in
http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest2/core/src/co
re/org/apache/forrest/core/Controller.java?revision=477949&view=markup

The CLI calls the default constructor which calls
this("src/locationmap.xml", "src/forrestContext.xml");

The file resolution is in the parameterised constructor and consists of
two parts:

final File file = new File(contextPath);

and

this.context = new FileSystemXmlApplicationContext(file
.getAbsolutePath());

(contextPath in the first line is the "src/forrestContext.xml")

The problem is that getAbsolutePath() should be getPath().

I've made the change, please test.

Ross

Just got round to trying this and mine fails :-

     [java] 828  [main] DEBUG
org.apache.forrest.core.locationMap.LocationMap (?
:?)  - Adding location:
Matcher:[EMAIL PROTECTED]
1

     [java] org.apache.forrest.core.exception.ProcessingException: Unable to
cre
ate the output documents for helloWorld.html because null caused by null

Now there is a useful error message! It has been improved in the latest SVN, I think, but if you did an SVN up then obviously not.

Anyway, I just tried the "Getting Started" instructions word for word and reproduced the error you report. I must have broken something in my recent work. All the automated tests run, but the getting started instructions do not.

I'll look at this ASAP, but it won't be for a few days.

If you are interested in looking into the problem the key is:

     [java]  Processing request for helloWorld.html
[java] 4717 [main] DEBUG org.apache.forrest.cli.CLI (CLI.java:94) - Proces
sing: helloWorld.html
[java] 4717 [main] DEBUG org.apache.forrest.core.locationMap.LocationMap (L ocationMap.java:114) - Getting potential locations for request of helloWorld.ht
ml
[java] 4777 [main] INFO org.apache.forrest.core.locationMap.LocationMap (L
ocationMap.java:123)  - 1 potential location from pattern (.*)/(.*).html
[java] org.apache.forrest.core.exception.ProcessingException: Unable to cre ate the output documents for helloWorld.html caused by Unable to get a source do
cument for request helloWorld.html
[java] at org.apache.forrest.core.Controller.getOutputDocument(Controll
er.java:486)
     [java]     at org.apache.forrest.cli.CLI.processURIs(CLI.java:95)
     [java]     at org.apache.forrest.cli.CLI.main(CLI.java:65)
[java] 4787 [main] ERROR org.apache.forrest.cli.CLI (CLI.java:69) - org.ap ache.forrest.core.exception.ProcessingException: Unable to create the output doc uments for helloWorld.html caused by Unable to get a source document for request
 helloWorld.html
[java] Caused by: org.apache.forrest.core.exception.ProcessingException: Un
able to get a source document for request helloWorld.html

(note the improved error messages in the latest version)

It looks like the reader is unable to find the source document, but it is finding a potential match in the locationmap.

Three possibilities immediately jump to mind:

- the reader is not finding the resource (perhaps it is not being copied into the classpath by the build system - it's not copyless yet)

- the reader is incorrectly loading the source document (I've done lots of refactoring of the readers and internal docs recently, so this could be the case - need to add better log messages to the readers to trace this - or step through with a debugger)

- The locationmap is not being resolved correctly and hence the reader is looking in the wrong place (again need to improve logging in the reader)

You understand I'm not asking you to debug this, just documenting the potential issues in an attempt to help build an understanding of how things work internally.

Ross