Author: musachy Date: Tue Dec 16 13:42:18 2008 New Revision: 727167 URL: http://svn.apache.org/viewvc?rev=727167&view=rev Log: Comment code and fix testcases
Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/Attributes.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTheme.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagHandler.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagSerializer.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/CommonAttributesHandler.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ScriptingEventsHandler.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/TextFieldHandler.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SubmitTest.java Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/Attributes.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/Attributes.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/Attributes.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/Attributes.java Tue Dec 16 13:42:18 2008 @@ -24,6 +24,9 @@ import java.util.LinkedHashMap; +/** + * Map of tag attributes, used for rendering the tags + */ public class Attributes extends LinkedHashMap<String, String> { public Attributes add(String key, String value) { @@ -35,10 +38,24 @@ return this; } + /** + * Add a key/value pair to the attributes only if the value is not null. Value + * is html encoded + * @param attrName attribute name + * @param paramValue value of attribute + * @return this + */ public Attributes addIfExists(String attrName, Object paramValue) { return addIfExists(attrName, paramValue, true); } + /** + * Add a key/value pair to the attributes only if the value is not null. + * @param attrName attribute name + * @param paramValue value of attribute + * @param encode html encode the value + * @return this + */ public Attributes addIfExists(String attrName, Object paramValue, boolean encode) { if (paramValue != null) { String val = paramValue.toString(); @@ -48,6 +65,13 @@ return this; } + /** + * Add a key/value pair to the attributes only if the value is not null and is a boolean with a + * value of 'true'. Value is html encoded + * @param attrName attribute name + * @param paramValue value of attribute + * @return this + */ public Attributes addIfTrue(String attrName, Object paramValue) { if (paramValue != null) { if ((paramValue instanceof Boolean && ((Boolean) paramValue).booleanValue()) || @@ -58,10 +82,24 @@ return this; } + /** + * Add a key/value pair to the attributes, if the value is null, it will be set as an empty string. + * Value is html encoded. + * @param attrName attribute name + * @param paramValue value of attribute + * @return this + */ public Attributes addDefaultToEmpty(String attrName, Object paramValue) { return addDefaultToEmpty(attrName, paramValue, true); } + /** + * Add a key/value pair to the attributes, if the value is null, it will be set as an empty string. + * @param attrName attribute name + * @param paramValue value of attribute + * @param encode html encode the value + * @return this + */ public Attributes addDefaultToEmpty(String attrName, Object paramValue, boolean encode) { if (paramValue != null) { String val = paramValue.toString(); Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java Tue Dec 16 13:42:18 2008 @@ -23,6 +23,9 @@ import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; +/** + * Default implementation of TagHandlerFactory + */ public class DefaultTagHandlerFactory implements TagHandlerFactory { private static final Logger LOG = LoggerFactory.getLogger(DefaultTagHandlerFactory.class); @@ -37,16 +40,11 @@ TagHandler th = (TagHandler) tagHandlerClass.newInstance(); th.setNext(next); return th; - } catch (IllegalArgumentException e) { - if (LOG.isErrorEnabled()) - LOG.error("Failed to instantiate tag handler class [#0]", e, tagHandlerClass.getName()); - } catch (InstantiationException e) { - if (LOG.isErrorEnabled()) - LOG.error("Failed to instantiate tag handler class [#0]", e, tagHandlerClass.getName()); - } catch (IllegalAccessException e) { + } catch (Exception e) { if (LOG.isErrorEnabled()) LOG.error("Failed to instantiate tag handler class [#0]", e, tagHandlerClass.getName()); } + return null; } Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTheme.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTheme.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTheme.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/DefaultTheme.java Tue Dec 16 13:42:18 2008 @@ -28,7 +28,14 @@ import java.util.List; import java.util.Map; +import com.opensymphony.xwork2.util.logging.Logger; +import com.opensymphony.xwork2.util.logging.LoggerFactory; + +/** + * Default implementation of the theme + */ public class DefaultTheme implements Theme { + private static final Logger LOG = LoggerFactory.getLogger(DefaultTheme.class); private String name; private Map<String, List<TagHandlerFactory>> handlerFactories; @@ -67,6 +74,8 @@ TagGenerator gen = (TagGenerator) handlers.get(0); try { + if (LOG.isTraceEnabled()) + LOG.trace("Rendering tag [#0]", tagName); gen.generate(); } catch (IOException ex) { throw new StrutsException("Unable to write tag: " + tagName); Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java Tue Dec 16 13:42:18 2008 @@ -28,6 +28,9 @@ import java.util.HashMap; +/** + * Template engine that renders tags using java implementations + */ public class JavaTemplateEngine extends BaseTemplateEngine { private Themes themes = new Themes() {{ @@ -44,7 +47,7 @@ Template t = templateContext.getTemplate(); Theme theme = themes.get(t.getTheme()); if (theme == null) { - throw new StrutsException("Cannot render tag " + t.getName() + " because theme " + t.getTheme() + " is not found."); + throw new StrutsException("Cannot render tag [" + t.getName() + "] because theme [" + t.getTheme() + "] was not found."); } theme.renderTag(t.getName(), templateContext); } Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagHandler.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagHandler.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagHandler.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagHandler.java Tue Dec 16 13:42:18 2008 @@ -30,11 +30,33 @@ void setup(TemplateRenderingContext context); - void start(String name, Attributes a) throws IOException; + /** + * Write a tag openening, with its attributes + * @param name name of the tag + * @param attributes attributes of the tag + * @throws IOException + */ + void start(String name, Attributes attributes) throws IOException; + /** + * Writes a tag close + * @param name name of the tag + * @throws IOException + */ void end(String name) throws IOException; + /** + * Writes to the inner text of a tag. By default the body is html encoded + * @param text tag body. + * @throws IOException + */ void characters(String text) throws IOException; + /** + * Writes to the inner text of a tag + * @param text tag body + * @param encode html encode the body + * @throws IOException + */ void characters(String text, boolean encode) throws IOException; } Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagSerializer.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagSerializer.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagSerializer.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/TagSerializer.java Tue Dec 16 13:42:18 2008 @@ -20,5 +20,8 @@ */ package org.apache.struts2.views.java; +/** + * Implementations of this class build the html representation of the tag + */ public interface TagSerializer extends TagHandler { } Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/XHTMLTagSerializer.java Tue Dec 16 13:42:18 2008 @@ -26,6 +26,9 @@ import java.io.IOException; import java.io.Writer; +/** + * Write tags as XHTML + */ public class XHTMLTagSerializer implements TagSerializer { private Writer writer; @@ -65,7 +68,5 @@ public void setup(TemplateRenderingContext context) { this.writer = context.getWriter(); - } - } Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/AbstractMessageListHandler.java Tue Dec 16 13:42:18 2008 @@ -28,6 +28,9 @@ import java.util.Iterator; import java.util.Map; +/** + * Base class for ActionError and ActionMessage + */ public abstract class AbstractMessageListHandler extends AbstractTagHandler implements TagGenerator { @Override public void generate() throws IOException { Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/CommonAttributesHandler.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/CommonAttributesHandler.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/CommonAttributesHandler.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/CommonAttributesHandler.java Tue Dec 16 13:42:18 2008 @@ -24,6 +24,9 @@ import java.io.IOException; +/** + * Adds attributes from common-attributes.ftl + */ public class CommonAttributesHandler extends AbstractTagHandler { /* (non-Javadoc) Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ScriptingEventsHandler.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ScriptingEventsHandler.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ScriptingEventsHandler.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/ScriptingEventsHandler.java Tue Dec 16 13:42:18 2008 @@ -25,6 +25,9 @@ import java.io.IOException; import java.util.Map; +/** + * Adds attributes from scripting-event.ftl + */ public class ScriptingEventsHandler extends AbstractTagHandler { /* (non-Javadoc) Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/TextFieldHandler.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/TextFieldHandler.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/TextFieldHandler.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/TextFieldHandler.java Tue Dec 16 13:42:18 2008 @@ -30,9 +30,10 @@ public void generate() throws IOException { Map<String, Object> params = context.getParameters(); - Attributes a = new Attributes(); + Attributes attr = new Attributes(); - a.addDefaultToEmpty("name", params.get("name")) + attr.add("type", "text") + .addDefaultToEmpty("name", params.get("name")) .addIfExists("size", params.get("size")) .addIfExists("maxlength", params.get("maxlength")) .addIfExists("value", params.get("nameValue"), false) @@ -43,7 +44,7 @@ .addIfExists("class", params.get("cssClass")) .addIfExists("style", params.get("cssStyle")) .addIfExists("title", params.get("title")); - super.start("input", a); + super.start("input", attr); super.end("input"); } } Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractCommonAttributesTest.java Tue Dec 16 13:42:18 2008 @@ -3,7 +3,7 @@ import org.apache.struts2.components.UIBean; public abstract class AbstractCommonAttributesTest extends AbstractTest { - public void testRenderTextFieldScriptingAttrs() { + public void testRenderTextFieldScriptingAttrs() throws Exception { UIBean tag = getUIBean(); applyScriptingAttrs(tag); @@ -16,7 +16,7 @@ assertScriptingAttrs(output); } - public void testRenderTextFieldCommonAttrs() { + public void testRenderTextFieldCommonAttrs() throws Exception { UIBean tag = getUIBean(); Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java Tue Dec 16 13:42:18 2008 @@ -35,7 +35,7 @@ protected HttpServletRequest request; protected HttpServletResponse response; - protected abstract UIBean getUIBean(); + protected abstract UIBean getUIBean() throws Exception; protected abstract String getTagName(); Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java Tue Dec 16 13:42:18 2008 @@ -88,7 +88,9 @@ } @Override - protected UIBean getUIBean() { + protected UIBean getUIBean() throws Exception { + super.setUp(); + this.tag = new Password(stack, request, response); return tag; } Modified: struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SubmitTest.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SubmitTest.java?rev=727167&r1=727166&r2=727167&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SubmitTest.java (original) +++ struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/SubmitTest.java Tue Dec 16 13:42:18 2008 @@ -58,7 +58,7 @@ tag.setCssClass("class1"); tag.setCssStyle("style1"); tag.setTitle("title"); - tag.setLabel("Just as soon as I belong, than it's time I disappear"); + tag.setLabel("Just as soon as I belong, than its time I disappear"); tag.setType("button"); @@ -66,7 +66,7 @@ map.putAll(tag.getParameters()); theme.renderTag(getTagName(), context); String output = writer.getBuffer().toString(); - String expected = s("<button name='name' type='submit' value='val1' tabindex='1' id='id1' class='class1' style='style1'>Just as soon as I belong, than it's time I disappear</button>"); + String expected = s("<button name='name' type='submit' value='val1' tabindex='1' id='id1' class='class1' style='style1'>Just as soon as I belong, than its time I disappear</button>"); assertEquals(expected, output); } @@ -121,7 +121,7 @@ map.putAll(tag.getParameters()); theme.renderTag(getTagName(), context); String output = writer.getBuffer().toString(); - String expected = s("<button name='name' type='submit' value='val1' tabindex='1' id='id1' class='class1' style='style1'><span>hey hey hey, here I go now</span></button>"); + String expected = s("<input src='http://somesource/image.gif' type='image' alt='alt text'></input>"); assertEquals(expected, output); }