I'll send some when i get to work tomorrow.

Erlend

Martin Marinschek wrote:
It would be good to see more of your servlet container error logs -
this excerpt is not enough to say what happens here.

regards,

Martin

On 7/3/07, Erlend Hamnaberg <[EMAIL PROTECTED]> wrote:
Hello all.
I have an odd problem with Tomahawk and a converter.

I have created a converter that accepts a ; separated value.
However, when i try to use it, the following happens:

/protected/richtest.xhtml @87,69 value="#{answerBean.alternative}":
Exception setting property alternative of base with class
org.evatest.web.beans.AnswerBean, Bean:
org.evatest.web.beans.AnswerBean, property: alternative, newValue: null
,newValue class: null method parameter class:
org.evatest.xml.Alternative, null, null


My converter class.

public class AlternativeConverter implements Converter {
    private Log log = LogFactory.getLog(getClass());

    public Object getAsObject(FacesContext facesContext, UIComponent
uiComponent, String string) throws ConverterException {
        if (string == null) return null;
        Alternative a = new Alternative();
        log.debug(string);
        String[] splitted = string.split(";");
        a.setId(Integer.parseInt(splitted[0]));         // id
        a.setText(splitted[1]);                         // text
        a.setWeight(Integer.parseInt(splitted[2]));     // weight
        a.setCertainty(Integer.parseInt(splitted[3]));  // certainty
        log.debug(a.getId() + " " + a.getText() + " " +
a.getWeight());                                   // resource ?
        // points ??
        return a;
    }

    public String getAsString(FacesContext facesContext, UIComponent
uiComponent, Object object) throws ConverterException {
if (object == null || !(object instanceof Alternative)) return null;
        Alternative a = (Alternative) object;
        return a.getId() + ";" + a.getText() + ";" + a.getWeight() + ";"
+ a.getCertainty();
    }
}

Its configured in faces-config.xml as this:

    <converter>
        <converter-id>evatest.EnumConverter</converter-id>

<converter-class>org.evatest.web.converter.EnumConverter</converter-class>
    </converter>


Is there anything immediate wrong that you can see?


example snippet for use:

<t:selectManyCheckbox id="checkboxlist"
rendered="#{visit.answer.question.multipleChoice}"
                                      layout="pageDirection"

converter="evatest.AlternativeConverter"
value="#{answerBean.alternatives}">

<f:selectItems value="#{questionBean.alternatives}"/>
</t:selectManyCheckbox>

The selectitems are created like this:

 public List<SelectItem> getAlternatives() {
        List<SelectItem> list = new ArrayList<SelectItem>();
        for (Alternative a :
JSFUtil.getVisit().getAnswer().getQuestion().getAlternatives()) {
            list.add(new SelectItem(a, a.getText()));
        }
        return list;
    }



Thank you in advance.

Regards

Erlend Hamnaberg




Reply via email to