throw new JspException(Constants.ERR_EMPTY_RDC_STACK);
}
// Get the GroupModel from the stateMap or create one if it does not
// exist and put it in stateMap
GroupModel groupModel = (GroupModel) stateMap.get(groupTag.getId());
if (groupModel == null) {
groupModel = new GroupModel();
groupModel.setId(groupTag.getId());
groupModel.setSubmit(groupTag.getSubmit());
if (groupModel.getLocalMap() == null) {
groupModel.setLocalMap(new LinkedHashMap());
}
if (groupModel.getGroupConfirm() == null &&
groupTag.getConfirm().booleanValue()) {
groupModel.setGroupConfirm(new GroupConfirm((PageContext)
ctx, groupModel, groupTag.getId()));
}
groupModel.getLocalMap().put(Constants.STR_INIT_ONLY_FLAG, Boolean.TRUE);
stateMap.put(groupTag.getId(), groupModel);
}
/*
* Return now, if:
* 1) Caller is in initOnly mode, just return as we already registered
* or
* 2) In dormant state then turn for execution has not yet come.
* Check for null value as this may be called directly from JSP page
*/
if (((Boolean) stateMap.get(Constants.STR_INIT_ONLY_FLAG) == Boolean.TRUE)
|| (groupModel.getState() == Constants.FSM_DORMANT)) {
return false;
}
Map modelMap = groupModel.getLocalMap();
stack.push(modelMap);
if (modelMap.get(Constants.STR_INIT_ONLY_FLAG) == Boolean.TRUE) {
// Ask children to register if in registration phase
if (bodyFragment != null) {