I simply created a Form and inside an inputTextField and tried to do decoding.
But I got a java.lang.NullPointerException
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:685)
at javax.faces.component.UIInput.decode(UIInput.java:484)
at
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:905)
at javax.faces.component.UIInput.processDecodes(UIInput.java:400)
at
com.hp.ed.configui.credential.CredentialBeanTest.testLabelUpdate(CredentialBeanTest.java:70)
This has happened before, but I couldn't find an answer for that. I'm just
giving it another try, as Shale test framework is really not well documented.
<<Code segment>>
UIViewRoot root=facesContext.getViewRoot();
List<UIComponent> children = root.getChildren();
UIForm credForm = new HtmlForm();
credForm.setId("credForm");
credForm.setParent(root);
UIInput label = new HtmlInputText();
label.setId("label");
label.setParent(credForm);
ValueBinding vb =
facesContext.getApplication().createValueBinding("#{credentialBean.passwordAgain}");
label.setValueBinding("value", vb);
facesContext.getExternalContext().getRequestMap().put("credentialBean", vc);
facesContext.getExternalContext().getRequestParameterMap().put("credForm.label","myLabel");
label.processDecodes(facesContext); //if I don't call label.processDecodes,
but root.processDecodes, then I don't get the exception, however, the
submittedValue of inputText is null.
thanks for any help
Jane