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);
 	}
 }