public UICategoryForm() throws Exception { isDoubleClickSubmit = false; UIFormInputWithActions detailTab = new UIFormInputWithActions(CATEGORY_DETAIL_TAB); UIFormStringInput categoryTitle = new UIFormStringInput(FIELD_CATEGORYTITLE_INPUT, FIELD_CATEGORYTITLE_INPUT, null); categoryTitle.addValidator(MandatoryValidator.class); UIFormStringInput categoryOrder = new UIFormStringInput(FIELD_CATEGORYORDER_INPUT, FIELD_CATEGORYORDER_INPUT, "0"); categoryOrder.addValidator(PositiveNumberFormatValidator.class); UIFormTextAreaInput description = new UIFormTextAreaInput(FIELD_DESCRIPTION_INPUT, FIELD_DESCRIPTION_INPUT, null); UIFormTextAreaInput userPrivate = new UIFormTextAreaInput(FIELD_USERPRIVATE_MULTIVALUE, FIELD_USERPRIVATE_MULTIVALUE, null); detailTab.addUIFormInput(categoryTitle); detailTab.addUIFormInput(categoryOrder); detailTab.addUIFormInput(userPrivate); detailTab.addUIFormInput(description); String[] strings = new String[] {"SelectUser", "SelectMemberShip", "SelectGroup"}; String[] icons = ForumUtils.getClassIconWithAction(); List<ActionData> actions = new ArrayList<ActionData>(); ActionData ad; int i = 0; for (String string : strings) { ad = new ActionData(); if (i == 0) ad.setActionListener("AddValuesUser"); else ad.setActionListener("AddPrivate"); ad.setActionParameter(String.valueOf(i) + ForumUtils.COMMA + FIELD_USERPRIVATE_MULTIVALUE); ad.setCssIconClass(icons[i]); ad.setActionName(string); actions.add(ad); ++i; } detailTab.setActionField(FIELD_USERPRIVATE_MULTIVALUE, actions); addUIFormInput(detailTab); UIPermissionPanel permissionPanel = createUIComponent(UIPermissionPanel.class, null, PERMISSION_TAB); permissionPanel.setPermission(null, new String[] {MODERAROR, TOPICABLE, POSTABLE, VIEWER}); addChild(permissionPanel); setActions(new String[] {"Save", "Cancel"}); setAddColonInLabel(true); }