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


Reply via email to