Hmm, shouldn't the selector script be named "bar.html.jsp"? Looks like
the script resolution
(http://cwiki.apache.org/SLING/url-to-script-resolution.html) could
allow bar.jsp for selectors as well, but it would give a conflict if
someone would GET a resource/path.bar and IMHO it is clearer.
Regards,
Alex
On Fri, Jul 18, 2008 at 5:58 AM, janandith jayawardena
<[EMAIL PROTECTED]> wrote:
> hi,
>
> I'm taking the following approach to write integration tests.
>
> I want to verify whether it's correct.
>
> This is how i create nodes and upload scripts.
>
>
> Map<String,String> props = new HashMap<String,String>();
>
> rootNodeUrl = testClient.createNode(HTTP_BASE_URL +pathToRoot, null);
>
> testTextA = pathToRoot + "/foo";
> testClient.createNode(HTTP_BASE_URL +testTextA, null);
>
> testTextB = pathToRoot + "/bar";
> props.put("sling:resourceSuperType", testTextA);
> NodeUrlB = testClient.createNode(HTTP_BASE_URL +testTextB , props);
>
> testTextC = testTextB + "/childOfBar";
> props.clear();
> props.put("sling:resourceType", testTextB);
> NodeUrlC = testClient.createNode(HTTP_BASE_URL +testTextC, props);
>
>
> uploadTestScript(testTextA,"html.jsp","html.jsp");
> uploadTestScript(testTextB,"include-test.jsp","bar.jsp");
>
>
> The picture in my mind about the above code is as follows.
>
> rootNode (rootNodeUrl == /)
> |
> |
> --------------------------------------------
> | |
> | |
> foo (testTextA == /foo ) <--------------------bar(testTextB ==
> /bar) <-----------------
> | include-test.jsp attached as
> bar.jsp |
> html.jsp attached as html.jsp |
> |
> |
> |
> childOfBar (testTextC ==
> /bar/childOfBar)------|
>
>
>
>
>
> key:
>
> X<-----Y : Y is of resourceType X.
>
> | : node hierarchy.
>
>
> Now when I use
>
> final String content = getContent(NodeUrlC + ".html", CONTENT_TYPE_HTML);
>
> since contentUrl is /bar/childOfBar and because there is no "html.jsp"
> in the server it execute the code in bar.jsp
> which is the code in include-test.jsp.
>
> if I have,
>
> uploadTestScript(testTextB,"html.jsp","html.jsp");
> uploadTestScript(testTextB,"selector-test.jsp","bar.jsp");
> then,
>
>
> rootNode (rootNodeUrl == /)
> |
> |
> --------------------------------------------
> | |
> | |
> foo (testTextA == /foo ) <--------------------bar(testTextB ==
> /bar) <------------------------------------------------------
> |
> |
> |
> selector-test.jsp attached as
> bar.jsp + html.jsp attached as html.jsp |
> |
> |
> |
> |
> |
> |
> childOfBar (testTextC ==
> /bar/childOfBar)-------------------------------------------
>
> final String content = getContent(NodeUrlB + ".html", CONTENT_TYPE_HTML);
>
> and use,
>
> <sling:include addSelectors="bar" /> in html.jsp to include the script
> in selector-test.jsp (bar.jsp in server) I don't get the content
> in selector-test.jsp which is simply
>
> <h1>"Including Selector"</h1>.
>
>
>
> Which should be the reason the test fails when building using
>
> mvn clean install.
>
> I have the following questions,
>
>
> 1. Do I have the wrong Idea in my mind.
> 2. Where should I upload the scripts to acheive same node selector work.
> 3. Is there any other error In my approach.
>
>
>
> janandith
>
--
Alexander Klimetschek
[EMAIL PROTECTED]