[ 
https://issues.apache.org/jira/browse/WICKET-2227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700099#action_12700099
 ] 

Fridolin Jackstadt commented on WICKET-2227:
--------------------------------------------

May this is a better solution?

package org.apache.wicket.markup.html.form;

import org.apache.log4j.Logger;
import org.apache.wicket.model.IModel;

public class IntegerCheckBox extends CheckBox {
  
  private static Logger logger = Logger.getLogger(IntegerCheckBox.class); 
  
  public IntegerCheckBox(final String id) {
    this(id, null);
  }

  public IntegerCheckBox(final String id, IModel<Integer> model) {
    super(id);
    setDefaultModel(model);
    if (model.getObject() instanceof Integer) {
      setType(Integer.class);
    }
    else {
      logger.warn("Using IntegerCheckBox with not Integer model. Please use 
CheckBox instead.");
    }
  }
  
  @Override
  protected String getModelValue() {
    Object test = getDefaultModelObject();
    if (test instanceof Integer) {
      return Boolean.toString(((Integer) test).intValue() != 0);
    }
    else {
      return super.getModelValue(); 
    }
  }
}

> CheckBoxConverter does not support Integer type
> -----------------------------------------------
>
>                 Key: WICKET-2227
>                 URL: https://issues.apache.org/jira/browse/WICKET-2227
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 1.4-RC2
>            Reporter: Fridolin Jackstadt
>            Assignee: Igor Vaynberg
>
> Maybe it is possible to change the function?
> Is it possible to convert "1" to true? this would enable support for 
> Integer-Models
> public Object convertToObject(String value, Locale locale)
>               {
>                       if ("on".equals(value) || "true".equals(value) || 
> "1".equals(value))
>                       {
>                               return Boolean.TRUE;
>                       }
>                       else
>                       {
>                               return Boolean.FALSE;
>                       }
>               }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to