Author: mgrigorov
Date: Wed Aug 17 13:21:33 2011
New Revision: 1158692
URL: http://svn.apache.org/viewvc?rev=1158692&view=rev
Log:
WICKET-3971 TextTemplateResourceReference should be registered into the
ResourceReferenceRegistry because otherwise the next request is served by
PackageResourceReference
Added:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/TextTemplateResourceReferenceTest.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/textTemplateResRef.tmpl
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/TextTemplateResourceReference.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/TextTemplateResourceReference.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/TextTemplateResourceReference.java?rev=1158692&r1=1158691&r2=1158692&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/TextTemplateResourceReference.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/TextTemplateResourceReference.java
Wed Aug 17 13:21:33 2011
@@ -19,6 +19,7 @@ package org.apache.wicket.resource;
import java.util.Locale;
import java.util.Map;
+import org.apache.wicket.Application;
import org.apache.wicket.IClusterable;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.resource.IResource;
@@ -140,6 +141,11 @@ public class TextTemplateResourceReferen
textTemplate = new PackageTextTemplate(scope, fileName,
contentType, encoding);
this.variablesModel = variablesModel;
+
+ if (Application.exists())
+ {
+
Application.get().getResourceReferenceRegistry().registerResourceReference(this);
+ }
}
//
**********************************************************************************************************************
Added:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/TextTemplateResourceReferenceTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/TextTemplateResourceReferenceTest.java?rev=1158692&view=auto
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/TextTemplateResourceReferenceTest.java
(added)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/TextTemplateResourceReferenceTest.java
Wed Aug 17 13:21:33 2011
@@ -0,0 +1,86 @@
+/*
+ * 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.resource;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.Page;
+import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
+import org.apache.wicket.markup.html.IHeaderResponse;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.request.resource.PackageResourceReference;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.junit.Test;
+
+/**
+ * https://issues.apache.org/jira/browse/WICKET-3971
+ */
+public class TextTemplateResourceReferenceTest extends WicketTestCase
+{
+
+ private static final String TEMPLATE_NAME = "textTemplateResRef.tmpl";
+
+ private static final String EXPECTED_VALUE = "value";
+
+ /**
+ * https://issues.apache.org/jira/browse/WICKET-3971
+ */
+ @Test
+ public void renderInterpolatedTemplate()
+ {
+ // the page will render just <script> element with url to the
template
+ // this will register it in the application's
ResourceReferenceRegistry
+ Page page = tester.startPage(new
TemplateResourceReferencePage());
+
+ // make a separate request to the template resource
+ CharSequence urlForTemplate = page.urlFor(new
PackageResourceReference(
+ TextTemplateResourceReferenceTest.class,
TEMPLATE_NAME), null);
+ tester.executeUrl(urlForTemplate.toString());
+ tester.assertContains("TMPL_START\\|" + EXPECTED_VALUE +
"\\|TMPL_END");
+ }
+
+ private static class TemplateResourceReferencePage extends WebPage
+ implements
+ IMarkupResourceStreamProvider
+ {
+
+ @Override
+ public void renderHead(IHeaderResponse response)
+ {
+ super.renderHead(response);
+
+ Map<String, Object> variables = new HashMap<String,
Object>();
+ variables.put("variable", EXPECTED_VALUE);
+
+ final TextTemplateResourceReference reference = new
TextTemplateResourceReference(
+ TextTemplateResourceReferenceTest.class,
TEMPLATE_NAME, Model.ofMap(variables));
+ response.renderJavaScriptReference(reference);
+ }
+
+ public IResourceStream getMarkupResourceStream(MarkupContainer
container,
+ Class<?> containerClass)
+ {
+ return new
StringResourceStream("<html><body></body></html>");
+ }
+
+ }
+}
Added:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/textTemplateResRef.tmpl
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/textTemplateResRef.tmpl?rev=1158692&view=auto
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/textTemplateResRef.tmpl
(added)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/resource/textTemplateResRef.tmpl
Wed Aug 17 13:21:33 2011
@@ -0,0 +1 @@
+TMPL_START|${variable}|TMPL_END
\ No newline at end of file