Author: jdonnerstag
Date: Fri Oct 9 20:46:34 2009
New Revision: 823680
URL: http://svn.apache.org/viewvc?rev=823680&view=rev
Log:
fixed RelativePathPrefixHandler to work with MarkupFragments
Added:
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/template/
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/template/TemplateTest.java
Removed:
wicket/trunk/wicket-examples/src/test/java/com/meterware/httpunit/
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.html
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.java
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/pageinheritance/Page1.java
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.html
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.html?rev=823680&r1=823679&r2=823680&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.html
(original)
+++
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.html
Fri Oct 9 20:46:34 2009
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
- <title>Template example, page 1</title>
+ <title wicket:id="title">title comes here</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
<link rel="stylesheet" type="text/css" href="template/style.css"/>
</head>
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.java?rev=823680&r1=823679&r2=823680&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.java
(original)
+++
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/border/Page1.java
Fri Oct 9 20:46:34 2009
@@ -17,6 +17,8 @@
package org.apache.wicket.examples.template.border;
import org.apache.wicket.examples.WicketExamplePage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.Model;
/**
@@ -31,7 +33,7 @@
*/
public Page1()
{
- super();
+ add(new Label("title", new Model<String>("Template example,
page 1 - border")));
add(new TemplateBorder("border"));
}
}
\ No newline at end of file
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/pageinheritance/Page1.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/pageinheritance/Page1.java?rev=823680&r1=823679&r2=823680&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/pageinheritance/Page1.java
(original)
+++
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/template/pageinheritance/Page1.java
Fri Oct 9 20:46:34 2009
@@ -30,7 +30,7 @@
*/
public Page1()
{
- setPageTitle("Template example, page 1");
+ setPageTitle("Template example, page 1 - page inheritance");
add(new Panel1("panel1"));
}
}
\ No newline at end of file
Modified:
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java?rev=823680&r1=823679&r2=823680&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java
(original)
+++
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java
Fri Oct 9 20:46:34 2009
@@ -33,6 +33,7 @@
import org.apache.wicket.examples.niceurl.NiceUrlTest;
import org.apache.wicket.examples.repeater.RepeaterTest;
import org.apache.wicket.examples.signin2.Signin2Test;
+import org.apache.wicket.examples.template.TemplateTest;
import org.apache.wicket.util.license.ApacheLicenceHeaderTest;
import com.meterware.httpunit.HttpUnitOptions;
@@ -69,6 +70,7 @@
suite.addTestSuite(RepeaterTest.class);
suite.addTestSuite(ImagesTest.class);
suite.addTestSuite(LibraryTest.class);
+ suite.addTestSuite(TemplateTest.class);
suite.addTestSuite(ApacheLicenceHeaderTest.class);
return new JettyTestCaseDecorator(suite);
}
Modified:
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java?rev=823680&r1=823679&r2=823680&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java
(original)
+++
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/JettyTestCaseDecorator.java
Fri Oct 9 20:46:34 2009
@@ -28,16 +28,16 @@
* Test decorator that starts a jetty instance
*
* @author ivaynberg
- *
*/
public class JettyTestCaseDecorator extends TestSetup
{
-
private Server server;
private String contextPath;
private String webappLocation;
/**
+ * Construct.
+ *
* @param test
*/
public JettyTestCaseDecorator(Test test)
@@ -107,5 +107,4 @@
{
this.webappLocation = webappLocation;
}
-
}
Added:
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/template/TemplateTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/template/TemplateTest.java?rev=823680&view=auto
==============================================================================
---
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/template/TemplateTest.java
(added)
+++
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/examples/template/TemplateTest.java
Fri Oct 9 20:46:34 2009
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.examples.template;
+
+import junit.framework.TestCase;
+
+import org.apache.wicket.util.tester.WicketTester;
+
+/**
+ * jWebUnit test for Hello World.
+ */
+public class TemplateTest extends TestCase
+{
+ /**
+ * Test page.
+ *
+ * @throws Exception
+ */
+ public void test_1() throws Exception
+ {
+ WicketTester tester = new WicketTester(new
TemplateApplication());
+ tester.startPage(tester.getApplication().getHomePage());
+ String doc = tester.getServletResponse().getDocument();
+ tester.assertContains("Wicket Examples - template");
+ tester.assertContains("This example shows two different ways of
building your page up from shared parts.");
+
+
tester.startPage(org.apache.wicket.examples.template.pageinheritance.Page1.class);
+ doc = tester.getServletResponse().getDocument();
+ tester.assertContains("Template example, page 1 - page
inheritance");
+ tester.assertContains("This is some concrete content from a
panel.");
+
+
tester.startPage(org.apache.wicket.examples.template.border.Page1.class);
+
tester.assertRenderedPage(org.apache.wicket.examples.template.border.Page1.class);
+ doc = tester.getServletResponse().getDocument();
+ tester.assertContains("Template example, page 1 - border");
+ tester.assertContains("contents here");
+ }
+}
Modified:
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java?rev=823680&r1=823679&r2=823680&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
(original)
+++
wicket/trunk/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
Fri Oct 9 20:46:34 2009
@@ -73,11 +73,5 @@
* Configuration files with no "intelligent" content
*/
"src/main/java/commons-logging.properties",
"src/main/java/log4j.properties" };
-
- javaIgnore = new String[] {
- /*
- * MIT style license. See NOTICE
- */
- "src/test/java/com/meterware/httpunit/ParsedHTML.java" };
}
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java?rev=823680&r1=823679&r2=823680&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/filter/RelativePathPrefixHandler.java
Fri Oct 9 20:46:34 2009
@@ -24,6 +24,7 @@
import org.apache.wicket.behavior.AbstractBehavior;
import org.apache.wicket.behavior.IBehavior;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.MarkupElement;
import org.apache.wicket.markup.MarkupStream;
import org.apache.wicket.markup.WicketTag;
@@ -145,7 +146,8 @@
* @see
org.apache.wicket.markup.resolver.IComponentResolver#resolve(org.apache.wicket.MarkupContainer,
* org.apache.wicket.markup.MarkupStream,
org.apache.wicket.markup.ComponentTag)
*/
- public boolean resolve(MarkupContainer container, MarkupStream
markupStream, ComponentTag tag)
+ public boolean resolve(final MarkupContainer container, final
MarkupStream markupStream,
+ final ComponentTag tag)
{
if ((tag != null) &&
(tag.getId().startsWith(WICKET_RELATIVE_PATH_PREFIX_CONTAINER_ID)))
{
@@ -153,28 +155,34 @@
String id = WICKET_RELATIVE_PATH_PREFIX_CONTAINER_ID +
container.getPage().getAutoIndex();
- tag.setId(id);
- if (tag.isOpenClose())
+ // we do not want to mess with the hierarchy, so the
container has to be
+ // transparent as it may have wicket components inside.
for example a raw anchor tag
+ // that contains a label.
+ wc = new WebMarkupContainer(id)
{
- wc = new WebComponent(id);
- }
- else
- {
- // we do not want to mess with the hierarchy,
so the container has to be
- // transparent as it may have wicket components
inside. for example a raw anchor tag
- // that contains a label.
- wc = new WebMarkupContainer(id)
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @see org.apache.wicket.Component#getMarkup()
+ */
+ @Override
+ public IMarkupFragment getMarkup()
+ {
+ // This is a small trick. We can not
find markup fragments by ID, only by
+ // Component. To search for an ID we
simply need to create a dummy component
+ // with that ID.
+ return getParent().getMarkup(
+ new
WebComponent(WICKET_RELATIVE_PATH_PREFIX_CONTAINER_ID));
+ }
+
+ @Override
+ public boolean isTransparentResolver()
{
- private static final long
serialVersionUID = 1L;
+ return tag.isOpenClose() == false;
+ }
+ };
- @Override
- public boolean isTransparentResolver()
- {
- return true;
- }
- };
- }
container.autoAdd(wc, markupStream);
return true;
}