Author: musachy
Date: Mon Dec 15 14:48:10 2008
New Revision: 726866

URL: http://svn.apache.org/viewvc?rev=726866&view=rev
Log:
Add label, hidden and password handlers

Added:
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HiddenHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/PasswordHandler.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HiddenTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java
Modified:
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
    
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/AbstractTest.java

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HiddenHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HiddenHandler.java?rev=726866&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HiddenHandler.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/HiddenHandler.java
 Mon Dec 15 14:48:10 2008
@@ -0,0 +1,45 @@
+/*
+ * $Id$
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.views.java.Attributes;
+import org.apache.struts2.views.java.TagGenerator;
+
+import java.io.IOException;
+import java.util.Map;
+
+public class HiddenHandler extends AbstractTagHandler implements TagGenerator {
+
+    public void generate() throws IOException {
+        Map<String, Object> params = context.getParameters();
+        Attributes a = new Attributes();
+
+        a.addDefaultToEmpty("name", params.get("name"))
+                .add("type", "hidden")
+                .addIfExists("value", params.get("nameValue"), false)
+                .addIfTrue("disabled", params.get("disabled"))
+                .addIfExists("id", params.get("id"))
+                .addIfExists("class", params.get("cssClass"))
+                .addIfExists("style", params.get("cssStyle"));
+        super.start("input", a);
+        super.end("input");
+    }
+}

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java?rev=726866&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/LabelHandler.java
 Mon Dec 15 14:48:10 2008
@@ -0,0 +1,44 @@
+/*
+ * $Id$
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.views.java.TagGenerator;
+import org.apache.struts2.views.java.Attributes;
+
+import java.io.IOException;
+import java.util.Map;
+
+public class LabelHandler extends AbstractTagHandler implements TagGenerator {
+
+    public void generate() throws IOException {
+        Map<String, Object> params = context.getParameters();
+        Attributes a = new Attributes();
+
+        a.addDefaultToEmpty("name", params.get("name"))
+                .addIfExists("for", "for")
+                .addIfExists("id", params.get("id"))
+                .addIfExists("class", params.get("cssClass"))
+                .addIfExists("style", params.get("cssStyle"))
+                .addIfExists("title", params.get("title"));
+        super.start("label", a);
+        super.end("label");
+    }
+}

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/PasswordHandler.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/PasswordHandler.java?rev=726866&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/PasswordHandler.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/PasswordHandler.java
 Mon Dec 15 14:48:10 2008
@@ -0,0 +1,54 @@
+/*
+ * $Id$
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.views.java.TagGenerator;
+import org.apache.struts2.views.java.Attributes;
+
+import java.io.IOException;
+import java.util.Map;
+
+public class PasswordHandler extends AbstractTagHandler implements 
TagGenerator {
+
+    public void generate() throws IOException {
+        Map<String, Object> params = context.getParameters();
+        Attributes attrs = new Attributes();
+
+        Boolean showPassword = (Boolean) params.get("showPassword");
+        if (showPassword != null && showPassword)
+           attrs.addIfExists("value",  params.get("nameValue"), false);
+
+        attrs.addDefaultToEmpty("name", params.get("name"))
+                .add("type", "password")
+                .addIfExists("size", params.get("size"))
+                .addIfExists("maxlength", params.get("maxlength"))
+                .addIfTrue("disabled", params.get("disabled"))
+                .addIfTrue("readonly", params.get("readonly"))
+                .addIfExists("tabindex", params.get("tabindex"))
+                .addIfExists("id", params.get("id"))
+                .addIfExists("class", params.get("cssClass"))
+                .addIfExists("style", params.get("cssStyle"))
+                .addIfExists("title", params.get("title"));
+        super.start("input", attrs);
+        super.end("input");
+    }
+}
+

Modified: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java?rev=726866&r1=726865&r2=726866&view=diff
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
 (original)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/main/java/org/apache/struts2/views/java/simple/SimpleTheme.java
 Mon Dec 15 14:48:10 2008
@@ -40,9 +40,12 @@
             put("a", new FactoryList(AnchorHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
             put("checkbox", new FactoryList(CheckboxHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
             put("file", new FactoryList(FileHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
+            put("password", new FactoryList(PasswordHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
+            put("label", new FactoryList(LabelHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
             put("actionerror", new FactoryList(ActionErrorHandler.class));
             put("actionmessage", new FactoryList(ActionMessageHandler.class));
             put("head", new FactoryList(HeadHandler.class));
+            put("hidden", new FactoryList(HiddenHandler.class));
             put("fielderror", new FactoryList(FieldErrorHandler.class));
             put("div", new FactoryList(DivHandler.class, 
ScriptingEventsHandler.class, CommonAttributesHandler.class));
             put("empty", new FactoryList(EmptyHandler.class));

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=726866&r1=726865&r2=726866&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
 Mon Dec 15 14:48:10 2008
@@ -41,7 +41,7 @@
 
     @Override
     protected void setUp() throws Exception {
-        super.setUp();    //To change body of overridden methods use File | 
Settings | File Templates.
+        super.setUp();    
         scriptingAttrs.put("onclick", "onclick_");
         scriptingAttrs.put("ondblclick", "ondblclick_");
         scriptingAttrs.put("onmousedown", "onmousedown_");

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HiddenTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HiddenTest.java?rev=726866&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HiddenTest.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/HiddenTest.java
 Mon Dec 15 14:48:10 2008
@@ -0,0 +1,65 @@
+/*
+ * $Id$
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.components.Hidden;
+import org.apache.struts2.components.UIBean;
+
+public class HiddenTest extends AbstractTest {
+    private Hidden tag;
+
+    public void testRenderHidden() {
+        tag.setName("name");
+        tag.setValue("val1");
+        tag.setDisabled("true");
+        tag.setTabindex("1");
+        tag.setId("id1");
+        tag.setCssClass("class1");
+        tag.setCssStyle("style1");
+        tag.setTitle("title");
+
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<input name='name' type='hidden' value='val1' 
id='id1' class='class1' style='style1'></input>");
+        assertEquals(expected, output);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        this.tag = new Hidden(stack, request, response);
+    }
+
+    @Override
+    protected UIBean getUIBean() {
+        return tag;
+    }
+
+    @Override
+    protected String getTagName() {
+        return "hidden";
+    }
+}
+
+

Added: 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java?rev=726866&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/LabelTest.java
 Mon Dec 15 14:48:10 2008
@@ -0,0 +1,66 @@
+/*
+ * $Id$
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.components.Hidden;
+import org.apache.struts2.components.UIBean;
+import org.apache.struts2.components.Label;
+
+public class LabelTest extends AbstractCommonAttributesTest {
+    private Label tag;
+
+    public void testRenderLabel() {
+        tag.setName("name");
+        tag.setValue("val1");
+        tag.setId("id1");
+        tag.setFor("for_");
+        tag.setCssClass("class1");
+        tag.setCssStyle("style1");
+        tag.setTitle("title");
+
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<label name='name' for='for' id='id1' 
class='class1' style='style1' title='title'></label>");
+        assertEquals(expected, output);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        this.tag = new Label(stack, request, response);
+    }
+
+    @Override
+    protected UIBean getUIBean() {
+        return tag;
+    }
+
+    @Override
+    protected String getTagName() {
+        return "label";
+    }
+}
+
+
+

Added: 
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=726866&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java
 (added)
+++ 
struts/sandbox/trunk/struts2-javatemplates-plugin/src/test/java/org/apache/struts2/views/java/simple/PasswordTest.java
 Mon Dec 15 14:48:10 2008
@@ -0,0 +1,101 @@
+/*
+ * $Id$
+ *
+ * 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.struts2.views.java.simple;
+
+import org.apache.struts2.components.File;
+import org.apache.struts2.components.UIBean;
+import org.apache.struts2.components.Password;
+import org.easymock.EasyMock;
+
+public class PasswordTest extends AbstractCommonAttributesTest {
+    private Password tag;
+    private boolean showPassword;
+
+    public void testRenderPassword() throws Exception {
+        this.showPassword = false;
+        super.setUp();
+        this.tag = new Password(stack, request, response);
+
+        tag.setName("name");
+        tag.setValue("val1");
+        tag.setSize("10");
+        tag.setDisabled("true");
+        tag.setTabindex("1");
+        tag.setId("id1");
+        tag.setCssClass("class1");
+        tag.setCssStyle("style1");
+        tag.setTitle("title");
+
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<input name='name' type='password' size='10' 
tabindex='1' id='id1' class='class1' style='style1' title='title'></input>");
+        assertEquals(expected, output);
+    }
+
+    public void testRenderPasswordShowIt() throws Exception {
+        this.showPassword = true;
+        super.setUp();
+        this.tag = new Password(stack, request, response);
+
+        tag.setName("name");
+        tag.setValue("val1");
+        tag.setSize("10");
+        tag.setDisabled("true");
+        tag.setTabindex("1");
+        tag.setId("id1");
+        tag.setCssClass("class1");
+        tag.setCssStyle("style1");
+        tag.setTitle("title");
+        tag.setShowPassword("%{'true'}");
+
+        tag.evaluateParams();
+        map.putAll(tag.getParameters());
+        theme.renderTag(getTagName(), context);
+        String output = writer.getBuffer().toString();
+        String expected = s("<input value='val1' name='name' type='password' 
size='10' tabindex='1' id='id1' class='class1' style='style1' 
title='title'></input>");
+        assertEquals(expected, output);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        //dont call base setup
+    }
+
+    @Override
+    protected void setUpStack() {
+        expectFind("'true'", Boolean.class, true);
+    }
+
+    @Override
+    protected UIBean getUIBean() {
+        return tag;
+    }
+
+    @Override
+    protected String getTagName() {
+        return "password";
+    }
+}
+
+


Reply via email to