You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2009/12/13 18:23:29 UTC
svn commit: r890079 - in /wicket/trunk/wicket/src:
main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/
main/java/org/apache/wicket/markup/html/
main/java/org/apache/wicket/markup/html/border/
main/java/org/apache/wicket/markup/transformer/...
Author: jdonnerstag
Date: Sun Dec 13 17:23:28 2009
New Revision: 890079
URL: http://svn.apache.org/viewvc?rev=890079&view=rev
Log:
fixed: create abstraction for content types
Issue: WICKET-2612
Added:
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupType.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/ContainerInfo.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupResourceStreamProvider.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainer.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/transformer/XsltOutputTransformerContainer.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlBasePage.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_1.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_3.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/XmlPage.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/resource/loader/XmlPage.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java Sun Dec 13 17:23:28 2009
@@ -30,6 +30,7 @@
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupNotFoundException;
import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.RawMarkup;
import org.apache.wicket.markup.WicketTag;
import org.apache.wicket.markup.resolver.ComponentResolvers;
@@ -359,7 +360,7 @@
// throw exception since there is no associated markup
throw new MarkupNotFoundException(
"Markup of type '" +
- getMarkupType() +
+ getMarkupType().getExtension() +
"' for component '" +
getClass().getName() +
"' not found." +
@@ -407,8 +408,8 @@
{
// throw exception since there is no associated markup
throw new MarkupNotFoundException(
- exceptionMessage("Markup of type '" + getMarkupType() + "' for component '" +
- getClass().getName() + "' not found." +
+ exceptionMessage("Markup of type '" + getMarkupType().getExtension() +
+ "' for component '" + getClass().getName() + "' not found." +
" Enable debug messages for org.apache.wicket.util.resource to get a list of all filenames tried"),
ex);
}
@@ -494,7 +495,7 @@
* runtime). If there is no markup type for a component, null may be returned, but this
* means that no markup can be loaded for the class.
*/
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
return getPage().getMarkupType();
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Page.java Sun Dec 13 17:23:28 2009
@@ -33,6 +33,7 @@
import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.MarkupException;
import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.resolver.IComponentResolver;
import org.apache.wicket.model.IModel;
@@ -937,7 +938,7 @@
final String encoding = application.getRequestCycleSettings().getResponseRequestEncoding();
// Set content type based on markup type for page
- response.setContentType("text/" + getMarkupType() + "; charset=" + encoding);
+ response.setContentType(getMarkupType().getMimeType() + "; charset=" + encoding);
// Write out an xml declaration if the markup stream and settings allow
final IMarkupFragment markup = getMarkup();
@@ -1169,7 +1170,7 @@
* @see org.apache.wicket.MarkupContainer#getMarkupType()
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
throw new UnsupportedOperationException(
"Page does not support markup. This error can happen if you have extended Page directly, instead extend WebPage");
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/ContainerInfo.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/ContainerInfo.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/ContainerInfo.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/ContainerInfo.java Sun Dec 13 17:23:28 2009
@@ -45,7 +45,7 @@
public ContainerInfo(final MarkupContainer container)
{
this(container.getClass(), container.getLocale(), container.getStyle(),
- container.getVariation(), container.getMarkupType());
+ container.getVariation(), container.getMarkupType().getExtension());
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupCacheKeyProvider.java Sun Dec 13 17:23:28 2009
@@ -53,7 +53,7 @@
final String classname = clazz.getName();
final Locale locale = container.getLocale();
final String style = container.getStyle() + "_" + container.getVariation();
- final String markupType = container.getMarkupType();
+ final String markupType = container.getMarkupType().getExtension();
final AppendingStringBuffer buffer = new AppendingStringBuffer(classname.length() + 64);
buffer.append(classname);
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupResourceStreamProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupResourceStreamProvider.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupResourceStreamProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/DefaultMarkupResourceStreamProvider.java Sun Dec 13 17:23:28 2009
@@ -72,7 +72,7 @@
String style = container.getStyle();
String variation = container.getVariation();
Locale locale = container.getLocale();
- String ext = container.getMarkupType();
+ String ext = container.getMarkupType().getExtension();
// Markup is associated with the containers class. Walk up the class
// hierarchy up to MarkupContainer to find the containers markup
Added: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupType.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupType.java?rev=890079&view=auto
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupType.java (added)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupType.java Sun Dec 13 17:23:28 2009
@@ -0,0 +1,68 @@
+/*
+ * 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.markup;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author Juergen Donnerstag
+ */
+public class MarkupType implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ /** A HTML markup type for web pages */
+ public final static MarkupType HTML_MARKUP_TYPE = new MarkupType("html", "text/html");
+
+ private final String extension;
+
+ private final String mimeType;
+
+ /**
+ * Construct.
+ *
+ * @param extension
+ * associate markup file extension. "html" by default.
+ * @param mimeType
+ */
+ public MarkupType(final String extension, final String mimeType)
+ {
+ this.extension = extension;
+ this.mimeType = mimeType;
+ }
+
+ /**
+ * Gets extension.
+ *
+ * @return extension
+ */
+ public final String getExtension()
+ {
+ return extension;
+ }
+
+ /**
+ * Gets mimeType.
+ *
+ * @return mimeType
+ */
+ public final String getMimeType()
+ {
+ return mimeType;
+ }
+}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainer.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainer.java Sun Dec 13 17:23:28 2009
@@ -50,17 +50,6 @@
}
/**
- * Gets the markup type for this component.
- *
- * @return Markup type of HTML
- */
- @Override
- public String getMarkupType()
- {
- return getPage().getMarkupType();
- }
-
- /**
* A convenience method to return the WebPage. Same as getPage().
*
* @return WebPage
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java Sun Dec 13 17:23:28 2009
@@ -23,6 +23,7 @@
import org.apache.wicket.ResourceReference;
import org.apache.wicket.Response;
import org.apache.wicket.behavior.AbstractBehavior;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
@@ -154,9 +155,9 @@
* @return Markup type for HTML
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "html";
+ return MarkupType.HTML_MARKUP_TYPE;
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/border/MarkupComponentBorder.java Sun Dec 13 17:23:28 2009
@@ -255,11 +255,11 @@
String extension;
if (component instanceof MarkupContainer)
{
- extension = ((MarkupContainer)component).getMarkupType();
+ extension = ((MarkupContainer)component).getMarkupType().getExtension();
}
else
{
- extension = component.getParent().getMarkupType();
+ extension = component.getParent().getMarkupType().getExtension();
}
return extension;
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/transformer/XsltOutputTransformerContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/transformer/XsltOutputTransformerContainer.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/transformer/XsltOutputTransformerContainer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/transformer/XsltOutputTransformerContainer.java Sun Dec 13 17:23:28 2009
@@ -18,6 +18,7 @@
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
@@ -106,9 +107,9 @@
* @see org.apache.wicket.MarkupContainer#getMarkupType()
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "xsl";
+ return new MarkupType("xsl", null);
}
/**
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/MarkupCacheTest.java Sun Dec 13 17:23:28 2009
@@ -85,9 +85,9 @@
}
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "html";
+ return MarkupType.HTML_MARKUP_TYPE;
}
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlBasePage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlBasePage.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlBasePage.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlBasePage.java Sun Dec 13 17:23:28 2009
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.markup.html.basic;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.html.WebPage;
@@ -39,8 +40,8 @@
* @see org.apache.wicket.markup.html.WebPage#getMarkupType()
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "xml";
+ return new MarkupType("xml", null);
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_1.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_1.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_1.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_1.java Sun Dec 13 17:23:28 2009
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.markup.html.basic;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.html.WebPage;
@@ -39,8 +40,8 @@
* @see org.apache.wicket.markup.html.WebPage#getMarkupType()
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "xml";
+ return new MarkupType("xml", null);
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_3.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_3.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_3.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/basic/XmlPage_3.java Sun Dec 13 17:23:28 2009
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.markup.html.basic;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.html.WebPage;
@@ -43,8 +44,8 @@
* @see org.apache.wicket.markup.html.WebPage#getMarkupType()
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "xml";
+ return new MarkupType("xml", null);
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/XmlPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/XmlPage.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/XmlPage.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/XmlPage.java Sun Dec 13 17:23:28 2009
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.markup.html.link;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.html.WebPage;
@@ -37,12 +38,11 @@
}
/**
- *
- * @return string
+ * @see org.apache.wicket.markup.html.WebPage#getMarkupType()
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "xml";
+ return new MarkupType("xml", null);
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/resource/loader/XmlPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/resource/loader/XmlPage.java?rev=890079&r1=890078&r2=890079&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/resource/loader/XmlPage.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/resource/loader/XmlPage.java Sun Dec 13 17:23:28 2009
@@ -16,6 +16,7 @@
*/
package org.apache.wicket.resource.loader;
+import org.apache.wicket.markup.MarkupType;
import org.apache.wicket.markup.html.WebPage;
/**
@@ -37,8 +38,8 @@
* @see org.apache.wicket.markup.html.WebPage#getMarkupType()
*/
@Override
- public String getMarkupType()
+ public MarkupType getMarkupType()
{
- return "xml";
+ return new MarkupType("xml", null);
}
}