What error are you getting? Can you show me the code you put into your
sitemap?
Regards, Upayavira
Mustafa Ali, Halgurt wrote:
Hello,
I've got it as exists, her ist he content of my exists.js:
function exists() {
var file = new java.io.File(cocoon.parameters["test-uri"]);
if (file.exists()) {
cocoon.sendPage(cocoon.parameters["exists-uri"];
} else {
cocoon.sendPage(cocoon.parameters["non-exist-uri"];
}
}
Have I forgotten anything?
regards
-----Ursprüngliche Nachricht-----
Von: Upayavira [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 19. September 2003 13:08
An: [EMAIL PROTECTED]
Betreff: Re: AW: AW: File existence
Mustafa Ali, Halgurt wrote:
Hello,
I did it as you said, but I got this error message:
(Exists is not a function)
Note that Javascript is case sensitive. Have you got it as Exists or as
exists?
Another question, when I call the Pipeline handling, I don't have just ID as parameter, even more, how can I pass these parameters to the non-exists pipeline?
You should be able to get at the request parameter inside the non-exists
pipeline just as in any other, e.g. with <map:parameter name="filename"
value="{request-param:id}.xml"/>
Regards, Upayavira
Here is my pipelines:
<map:flow language="javascript">
<map:script src="flow/exists.js"/>
</map:flow>
<map:pipelines>
<map:pipeline>
<map:match pattern="handling">
<map:call function="exists">
<map:parameter name="test-uri" value="context://{request-param:ID}.xml"/>
<map:parameter name="exists-uri" value="exists"/>
<map:parameter name="non-exists-uri" value="non-exists"/>
</map:call>
</map:match>
</map:pipeline>
<map:pipeline>
<map:match pattern="exists">
<map:generate type="file" src="{request-param:ID}.xml"/>
<map:transform type="xslt" src="form3data.xsl">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
<map:pipeline>
<map:match pattern="non-exists">
<map:generate type="file" src="default.xml"/>
<map:transform type="xslt" src="form2data.xsl">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:transform type="write-source">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:transform type="xslt" src="form2html.xsl" mime-type="text/xml">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:serialize type="html"/>
</map:match>
-----Ursprüngliche Nachricht-----
Von: Upayavira [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 19. September 2003 11:08
An: [EMAIL PROTECTED]
Betreff: Re: AW: File existence
You seem to be having a lot of trouble with this. Have you considered
using flow? With the below, if the file exists, the pattern="exists"
pipeline will be shown, otherwise the pattern="non-existent" pipeline
will be shown.
<map:match pattern="page">
<map:call function="exists">
<map:parameter name="test-uri" value="context://{request-param:ID}.xml"/>
<map:parameter name="exist-uri" value="exists"/>
<map:parameter name="non-exist-uri" value="non-existent"/>
</map:call>
</map:match>
<map:match pattern="exists">
whatever
</map:match>
<map:match pattern="non-existent">
whatever
</map:match>
In your sitemap, just before the <map:pipelines> element:
<map:flow language="javascript">
<map:script src="flow/exists.js"/>
</map:flow>
Create a file called flow/exists.js:
function exists() {
var file = new java.io.File(cocoon.parameters["test-uri"]);
if (file.exists()) {
cocoon.sendPage(cocoon.parameters["exists-uri"];
} else {
cocoon.sendPage(cocoon.parameters["non-exist-uri"];
}
}
HTH. Regards, Upayavira
Mustafa Ali, Halgurt wrote:
Oh, you are right, I changed it, but the pipeline still choose the second part, no matter whether the file exists or not, it ignores the <act>...</act> part, do you have an Idea what is perhaps wrong?
Thanks,
Halgurt
PS: I am a Kurd and my first name is Halgurt, we don't have surnames, Mustafa is my
father and Ali my Grandfather.
-----Ursprüngliche Nachricht-----
Von: Olivier Billard [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 19. September 2003 10:02
An: [EMAIL PROTECTED]
Betreff: Re: File existence
Hi Halgurt (I'm french and didn't manage to see what is your name and first name, so sorry
if i'm wrong),
Please check if you *really* didn't wrote {request-parameter:ID} instead of
{request-param:ID}, because the error seem to point a mistake of this type...
see :
cause: org.apache.avalon.framework.component.ComponentException: *input-modules*:
ComponentSelector could not find the component for hint [*request-parameter*] (key
[*request-parameter*])
-> this should be request-param...
--
Olivier
On 19/09/2003 10:30, Mustafa Ali, Halgurt wrote:
Sure, here is it:
<snip/>
cause: org.apache.avalon.framework.component.ComponentException: input-modules: ComponentSelector could not find the component for hint [request-parameter] (key [request-parameter])
-----Ursprüngliche Nachricht-----
Von: Olivier Billard [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 19. September 2003 09:19
An: [EMAIL PROTECTED]
Betreff: Re: AW: AW: AW: AW: File existence
Can you send the exact error and the stack trace you got ?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]