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