Having ValueChangeListener problem
In my method processValueChange(....
i have written the following code -
if (phaseId.equals(PhaseId.ANY_PHASE)) {
event.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
event.queue();
}
else if (phaseId.equals(PhaseId.UPDATE_MODEL_VALUES)) {
. . . .
}
But it never reached the else if block. What should i do?
# 4
That constant ANY_PHASE is pretty descriptive, isn't it?If you check for *every possible* phase in the if clause already, then how are you ever supposed to reach the else if clause?
# 5
> Sorry, I did not get your question.You're checking any phase. There are no other phases than "any phase", so the else if indeed will never be called :o)
# 6
are you trying to do this
this code should work fine
public void changeMethod(ValueChangeEvent event)
{
PhaseId phaseId = event.getPhaseId();
if (phaseId.equals(PhaseId.ANY_PHASE))
{
event.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
event.queue();
}
else if (phaseId.equals(PhaseId.UPDATE_MODEL_VALUES))
{
// do you method here
}
}
# 8
public void changeMethod(ValueChangeEvent event) {
PhaseId phaseId = event.getPhaseId();
if (phaseId.equals(PhaseId.ANY_PHASE)) {
event.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
event.queue();
} else if (phaseId.equals(PhaseId.UPDATE_MODEL_VALUES)) {
// do you method here
}
}
I really don't understand this approach :) The else if will never be reached.
Better do:
public void changeMethod(ValueChangeEvent event) {
PhaseId phaseId = event.getPhaseId();
if (phaseId.equals(PhaseId.UPDATE_MODEL_VALUES)) {
// do you method here
} else {
event.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
event.queue();
}
}