View Javadoc

1   /*
2    *  Java HTML Tidy - JTidy
3    *  HTML parser and pretty printer
4    *
5    *  Copyright (c) 1998-2000 World Wide Web Consortium (Massachusetts
6    *  Institute of Technology, Institut National de Recherche en
7    *  Informatique et en Automatique, Keio University). All Rights
8    *  Reserved.
9    *
10   *  Contributing Author(s):
11   *
12   *     Dave Raggett <dsr@w3.org>
13   *     Andy Quick <ac.quick@sympatico.ca> (translation to Java)
14   *     Gary L Peskin <garyp@firstech.com> (Java development)
15   *     Sami Lempinen <sami@lempinen.net> (release management)
16   *     Fabrizio Giustina <fgiust at users.sourceforge.net>
17   *     Vlad Skarzhevskyy <vlads at users.sourceforge.net> (JTidy servlet  development)
18   *
19   *  The contributing author(s) would like to thank all those who
20   *  helped with testing, bug fixes, and patience.  This wouldn't
21   *  have been possible without all of you.
22   *
23   *  COPYRIGHT NOTICE:
24   *
25   *  This software and documentation is provided "as is," and
26   *  the copyright holders and contributing author(s) make no
27   *  representations or warranties, express or implied, including
28   *  but not limited to, warranties of merchantability or fitness
29   *  for any particular purpose or that the use of the software or
30   *  documentation will not infringe any third party patents,
31   *  copyrights, trademarks or other rights.
32   *
33   *  The copyright holders and contributing author(s) will not be
34   *  liable for any direct, indirect, special or consequential damages
35   *  arising out of any use of the software or documentation, even if
36   *  advised of the possibility of such damage.
37   *
38   *  Permission is hereby granted to use, copy, modify, and distribute
39   *  this source code, or portions hereof, documentation and executables,
40   *  for any purpose, without fee, subject to the following restrictions:
41   *
42   *  1. The origin of this source code must not be misrepresented.
43   *  2. Altered versions must be plainly marked as such and must
44   *     not be misrepresented as being the original source.
45   *  3. This Copyright notice may not be removed or altered from any
46   *     source or altered source distribution.
47   *
48   *  The copyright holders and contributing author(s) specifically
49   *  permit, without fee, and encourage the use of this source code
50   *  as a component for supporting the Hypertext Markup Language in
51   *  commercial products. If you use this source code in a product,
52   *  acknowledgment is not required but would be appreciated.
53   *
54   */
55  package org.w3c.tidy.servlet.jsp.tagext;
56  
57  import java.io.IOException;
58  
59  import javax.servlet.jsp.JspException;
60  import javax.servlet.jsp.tagext.TagSupport;
61  
62  import org.apache.commons.logging.Log;
63  import org.apache.commons.logging.LogFactory;
64  
65  import org.w3c.tidy.servlet.reports.Report;
66  
67  
68  /***
69   * Print the same report as TidyServlet base on JTidy HTML Validation See tagExample.jsp for usage example.
70   * @author Vlad Skarzhevskyy <a href="mailto:skarzhevskyy@gmail.com">skarzhevskyy@gmail.com </a>
71   * @version $Revision: 1.8 $ ($Author: fgiust $)
72   */
73  public class ReportTag extends TagSupport
74  {
75  
76      /***
77       * Stable <code>serialVersionUID</code>.
78       */
79      private static final long serialVersionUID = 29137L;
80  
81      private boolean source = true;
82  
83      private boolean result = false;
84  
85      private boolean wrapSource = true;
86  
87      private int wrapLen = 0;
88  
89      private String requestID = null;
90  
91      /***
92       * logger.
93       */
94      private static Log log = LogFactory.getLog(ReportTag.class);
95  
96      /***
97       * {@inheritDoc}
98       */
99      public int doEndTag() throws JspException
100     {
101         try
102         {
103             Report report = new Report(pageContext.getSession());
104 
105             report.setCompletePage(false);
106             report.setPrintSource(this.source);
107             report.setPrintHtmlResult(this.result);
108             report.setWrapSource(this.wrapSource);
109             report.setWrapLen(this.wrapLen);
110             report.print(pageContext.getOut(), this.requestID);
111 
112         }
113         catch (IOException e)
114         {
115             log.error("ReportTag write error", e);
116             throw new JspException(e.getMessage());
117         }
118         return EVAL_PAGE;
119     }
120 
121     /***
122      * {@inheritDoc}
123      */
124     public void release()
125     {
126         super.release();
127         // Set the default values they are not set is attribute is absent
128         this.source = true;
129         this.wrapSource = true;
130         this.requestID = null;
131         this.result = false;
132     }
133 
134     /***
135      * @param requestID The requestID to set.
136      */
137     public void setRequestID(String requestID)
138     {
139         this.requestID = requestID;
140     }
141 
142     /***
143      * @param source The source to set.
144      */
145     public void setSource(boolean source)
146     {
147         log.debug("Set source:" + source);
148         this.source = source;
149     }
150 
151     /***
152      * @param wrapSource The wrapSource to set.
153      */
154     public void setWrapSource(boolean wrapSource)
155     {
156         this.wrapSource = wrapSource;
157     }
158 
159     /***
160      * @param wrapLen The wrapLen to set.
161      */
162     public void setWrapLen(int wrapLen)
163     {
164         this.wrapLen = wrapLen;
165     }
166 
167     /***
168      * @param result The result to set.
169      */
170     public void setResult(boolean result)
171     {
172         this.result = result;
173     }
174 
175 }