File Source: xmlview.java

         /* 
    P/P   *  Method: net.sourceforge.pebble.web.view.XmlView__static_init
          */
     1  /*
     2   * Copyright (c) 2003-2006, Simon Brown
     3   * All rights reserved.
     4   *
     5   * Redistribution and use in source and binary forms, with or without
     6   * modification, are permitted provided that the following conditions are met:
     7   *
     8   *   - Redistributions of source code must retain the above copyright
     9   *     notice, this list of conditions and the following disclaimer.
    10   *
    11   *   - Redistributions in binary form must reproduce the above copyright
    12   *     notice, this list of conditions and the following disclaimer in
    13   *     the documentation and/or other materials provided with the
    14   *     distribution.
    15   *
    16   *   - Neither the name of Pebble nor the names of its contributors may
    17   *     be used to endorse or promote products derived from this software
    18   *     without specific prior written permission.
    19   *
    20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    30   * POSSIBILITY OF SUCH DAMAGE.
    31   */
    32  package net.sourceforge.pebble.web.view;
    33  
    34  import net.sourceforge.pebble.Constants;
    35  import net.sourceforge.pebble.domain.Blog;
    36  import net.sourceforge.pebble.domain.AbstractBlog;
    37  
         /* 
    P/P   *  Method: void net.sourceforge.pebble.web.view.XmlView()
          */
    38  import javax.servlet.RequestDispatcher;
    39  import javax.servlet.ServletContext;
    40  import javax.servlet.ServletException;
    41  import javax.servlet.http.HttpServletRequest;
    42  import javax.servlet.http.HttpServletResponse;
    43  import java.io.IOException;
    44  
    45  /**
    46   * Represents an XML view component, implemented by a JSP
    47   * and prepares the model for display.
    48   *
    49   * @author    Simon Brown
    50   */
    51  public abstract class XmlView extends JspView {
    52  
    53    /**
    54     * Gets the content type of this view.
    55     *
    56     * @return the content type as a String
    57     */
           /* 
    P/P     *  Method: String getContentType()
            * 
            *  Preconditions:
            *    this.model != null
            *    this.model.data != null
            * 
            *  Presumptions:
            *    java.util.HashMap:get(...)@63 != null
            * 
            *  Postconditions:
            *    return_value != null
            */
    58    public String getContentType() {
    59      Blog blog = (Blog)getModel().get(Constants.BLOG_KEY);
    60      return "application/xml; charset=" + blog.getCharacterEncoding();
    61    }
    62  
    63    /**
    64     * Dispatches this view.
    65     *
    66     * @param request  the HttpServletRequest instance
    67     * @param response the HttpServletResponse instance
    68     * @param context
    69     */
    70    public void dispatch(HttpServletRequest request, HttpServletResponse response, ServletContext context) throws ServletException {
    71      try {
               /* 
    P/P         *  Method: void dispatch(HttpServletRequest, HttpServletResponse, ServletContext)
                * 
                *  Preconditions:
                *    context != null
                *    this.model != null
                *    this.model.data != null
                * 
                *  Presumptions:
                *    java.util.HashMap:get(...)@63 != null
                *    javax.servlet.ServletContext:getRequestDispatcher(...)@72 != null
                */
    72        RequestDispatcher dispatcher = context.getRequestDispatcher(getUri());
    73        dispatcher.include(request, response);
    74      } catch (IOException ioe) {
    75        throw new ServletException(ioe);
    76      } finally {
    77        AbstractBlog blog = (AbstractBlog)getModel().get(Constants.BLOG_KEY);
    78        blog.log(request, HttpServletResponse.SC_OK);
    79      }
    80    }
    81  
    82  }








SofCheck Inspector Build Version : 2.22510
xmlview.java 2010-Jun-25 19:40:32
xmlview.class 2010-Jul-19 20:23:38