Author: simoneg
Date: Mon Dec 14 13:49:06 2009
New Revision: 890325

URL: http://svn.apache.org/viewvc?rev=890325&view=rev
Log:
Radiobuttons when value is wrapper value (aka nullable)

Modified:
    
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java

Modified: 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java?rev=890325&r1=890324&r2=890325&view=diff
==============================================================================
--- 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
 (original)
+++ 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
 Mon Dec 14 13:49:06 2009
@@ -1,23 +1,64 @@
 package org.apache.magma.website.htmlpieces;
 
+import org.apache.magma.basics.LocalizableString;
 import org.apache.magma.view.tree.ViewUtils;
 
 public class BooleanHtmlFormPiece implements HtmlFormPiece<Boolean> {
        
+       private static BooleanHtmlFormPiece primitive = null;
+       private static BooleanHtmlFormPiece wrapper = null;
+
+       private boolean onprimitive = false;
+       
+       public BooleanHtmlFormPiece() { }
+       
+       public BooleanHtmlFormPiece(boolean primitive) {
+               this.onprimitive = primitive;
+       }
+       
        public String createFormInput(Boolean value, String id) {
                StringBuilder out = new StringBuilder();
-               out.append("<input type=\"checkbox\"");
-               out.append(FormHtmlUtils.createNameAndId(id));
-               out.append(" value=\"true\"");
-               if (value != null && value.booleanValue()) {
-                       out.append(" checked=\"checked\"");
+               if (!onprimitive) {
+                       out.append("<input type=\"radio\"");
+                       out.append(FormHtmlUtils.createNameAndId(id));
+                       out.append(" value=\"true\"");
+                       if (value != null && value.booleanValue()) {
+                               out.append(" checked=\"checked\"");
+                       }
+                       out.append("/>");
+                       out.append(new LocalizableString("Yes").toString());
+                       out.append(" <input type=\"radio\"");
+                       out.append(FormHtmlUtils.createNameAndId(id));
+                       out.append(" value=\"false\"");
+                       if (value != null && !value.booleanValue()) {
+                               out.append(" checked=\"checked\"");
+                       }
+                       out.append("/>");
+                       out.append(new LocalizableString("No").toString());
+               } else {
+                       out.append("<input type=\"checkbox\"");
+                       out.append(FormHtmlUtils.createNameAndId(id));
+                       out.append(" value=\"true\"");
+                       if (value != null && value.booleanValue()) {
+                               out.append(" checked=\"checked\"");
+                       }
+                       out.append("/>");                       
                }
-               out.append("/>");
                return out.toString();
        }
 
        public HtmlFormPiece<Boolean> createInputFor(Class<? extends Boolean> 
clazz) {
-               return this;
+               if (clazz.isPrimitive()) {
+                       if (primitive == null) {
+                               primitive = new BooleanHtmlFormPiece(true);
+                       }
+                       return primitive;
+               } else {
+                       if (wrapper == null) {
+                               wrapper = new BooleanHtmlFormPiece(false);
+                       }
+                       return wrapper;
+               }
        }
 
        public void formHead(Boolean value, String id) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to