List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow setWindowClosedCallback
public ModalWindow setWindowClosedCallback(final WindowClosedCallback callback)
@{link WindowClosedCallback
instance. From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java
License:Apache License
private void addPermOUSearchModal() { final ModalWindow permousModalWindow; add(permousModalWindow = new ModalWindow("permoumodal")); final OUSearchModalPanel permouSearchModalPanel = new OUSearchModalPanel(permousModalWindow.getContentId(), permousModalWindow, false);//from www . j a v a 2 s. co m permousModalWindow.setContent(permouSearchModalPanel); permousModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public void onClose(AjaxRequestTarget target) { OrgUnit ou = permouSearchModalPanel.getSelection(); if (ou != null) { permouSelection = ou.getName(); AdminRole adminRole = (AdminRole) getDefaultModelObject(); adminRole.setOsP(permouSelection); target.add(permouCB); } } }); add(new AjaxButton(GlobalIds.PERMOU_SEARCH) { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { String msg = "clicked on permission OU search"; msg += permouSelection != null ? ": " + permouSelection : ""; permouSearchModalPanel.setSearchVal(permouSelection); LOG.debug(msg); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); permousModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); permousModalWindow.setTitle("Perm Organization Selection Modal"); permousModalWindow.setInitialWidth(450); permousModalWindow.setInitialHeight(450); permousModalWindow.setCookieName("permou-modal"); add(new AjaxButton("permou.delete") { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { String msg = "clicked on permous.delete"; if (StringUtils.isNotEmpty(permouSelection)) { msg += " selection:" + permouSelection; AdminRole adminRole = (AdminRole) form.getModel().getObject(); if (adminRole.getOsPSet() != null) { adminRole.getOsPSet().remove(permouSelection); permous.remove(permouSelection); permouSelection = ""; target.add(permouCB); msg += ", was removed from local, commit to persist changes on server"; } else { msg += ", no action taken because org unit does not have parent set"; } } else { msg += ", no action taken because parents selection is empty"; } LOG.debug(msg); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); }
From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java
License:Apache License
private void addUserOUSearchModal() { final ModalWindow userousModalWindow; add(userousModalWindow = new ModalWindow("useroumodal")); final OUSearchModalPanel userouSearchModalPanel = new OUSearchModalPanel(userousModalWindow.getContentId(), userousModalWindow, true);/*from w w w.j ava 2 s.co m*/ userousModalWindow.setContent(userouSearchModalPanel); userousModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public void onClose(AjaxRequestTarget target) { OrgUnit ou = userouSearchModalPanel.getSelection(); if (ou != null) { userouSelection = ou.getName(); AdminRole adminRole = (AdminRole) getDefaultModelObject(); adminRole.setOsU(userouSelection); target.add(userouCB); } } }); add(new AjaxButton(GlobalIds.USEROU_SEARCH) { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { String msg = "clicked on user OU search"; msg += userouSelection != null ? ": " + userouSelection : ""; userouSearchModalPanel.setSearchVal(userouSelection); LOG.debug(msg); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); userousModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); userousModalWindow.setTitle("User Organization Selection Modal"); userousModalWindow.setInitialWidth(450); userousModalWindow.setInitialHeight(450); userousModalWindow.setCookieName("permou-modal"); add(new AjaxButton("userou.delete") { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { String msg = "clicked on userous.delete"; if (StringUtils.isNotEmpty(userouSelection)) { msg += " selection:" + userouSelection; AdminRole adminRole = (AdminRole) form.getModel().getObject(); if (adminRole.getOsUSet() != null) { adminRole.getOsUSet().remove(userouSelection); userous.remove(userouSelection); userouSelection = ""; target.add(userouCB); msg += ", was removed from local, commit to persist changes on server"; } else { msg += ", no action taken because org unit does not have parent set"; } } else { msg += ", no action taken because parents selection is empty"; } LOG.debug(msg); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); }
From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java
License:Apache License
private void addBeginRoleSearchModal() { final ModalWindow beginRoleModalWindow; add(beginRoleModalWindow = new ModalWindow("beginrolesmodal")); final RoleSearchModalPanel beginRoleSearchModalPanel = new RoleSearchModalPanel( beginRoleModalWindow.getContentId(), beginRoleModalWindow, false); beginRoleModalWindow.setContent(beginRoleSearchModalPanel); beginRoleModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override/*from www . j a va 2 s. co m*/ public void onClose(AjaxRequestTarget target) { UserRole userRole = beginRoleSearchModalPanel.getRoleSelection(); if (userRole != null) { AdminRole adminRole = (AdminRole) getDefaultModelObject(); adminRole.setBeginRange(userRole.getName()); target.add(beginRangeTF); } } }); add(new AjaxButton(GlobalIds.BEGIN_RANGE_SEARCH) { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { AdminRole adminRole = (AdminRole) form.getModel().getObject(); beginRoleSearchModalPanel.setRoleSearchVal(adminRole.getBeginRange()); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); beginRoleModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); beginRoleModalWindow.setTitle("Begin Range Role Selection Modal"); beginRoleModalWindow.setInitialWidth(700); beginRoleModalWindow.setInitialHeight(450); beginRoleModalWindow.setCookieName(ROLE_ASSIGN_MODAL); }
From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java
License:Apache License
private void addEndRoleSearchModal() { final ModalWindow endRoleModalWindow; add(endRoleModalWindow = new ModalWindow("endrolesmodal")); final RoleSearchModalPanel endRoleSearchModalPanel = new RoleSearchModalPanel( endRoleModalWindow.getContentId(), endRoleModalWindow, false); endRoleModalWindow.setContent(endRoleSearchModalPanel); endRoleModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override//from w w w.jav a 2 s .c om public void onClose(AjaxRequestTarget target) { UserRole userRole = endRoleSearchModalPanel.getRoleSelection(); if (userRole != null) { AdminRole adminRole = (AdminRole) getDefaultModelObject(); adminRole.setEndRange(userRole.getName()); target.add(endRangeTF); } } }); add(new AjaxButton(GlobalIds.END_RANGE_SEARCH) { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { AdminRole adminRole = (AdminRole) form.getModel().getObject(); endRoleSearchModalPanel.setRoleSearchVal(adminRole.getBeginRange()); endRoleSearchModalPanel.setParentSearch(true); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); endRoleModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); endRoleModalWindow.setTitle("End Range Role Selection Modal"); endRoleModalWindow.setInitialWidth(700); endRoleModalWindow.setInitialHeight(450); endRoleModalWindow.setCookieName(ROLE_ASSIGN_MODAL); }
From source file:org.apache.directory.fortress.web.panel.SDListPanel.java
License:Apache License
private void addRoleSearchModal(Radio roleRb) { final ModalWindow rolesModalWindow; listForm.add(rolesModalWindow = new ModalWindow("rolesearchmodal")); final RoleSearchModalPanel roleSearchModalPanel = new RoleSearchModalPanel(rolesModalWindow.getContentId(), rolesModalWindow, false);/* w w w . ja v a 2 s . c om*/ rolesModalWindow.setContent(roleSearchModalPanel); rolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public void onClose(AjaxRequestTarget target) { UserRole roleConstraint = roleSearchModalPanel.getRoleSelection(); if (roleConstraint != null) { log.debug("modal selected:" + roleConstraint.getName()); searchVal = roleConstraint.getName(); selectedRadioButton = ROLES; target.add(radioGroup); } } }); roleRb.add(new SecureIndicatingAjaxLink("roleAssignLinkLbl", GlobalIds.REVIEW_MGR, "findRoles") { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { String msg = "clicked on roles search"; msg += "roleSelection: " + searchVal; roleSearchModalPanel.setRoleSearchVal(searchVal); log.debug(msg); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); rolesModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); rolesModalWindow.setTitle("Role Search Modal"); rolesModalWindow.setInitialWidth(700); rolesModalWindow.setInitialHeight(450); rolesModalWindow.setCookieName("role-assign-modal"); }
From source file:org.apache.directory.fortress.web.panel.UserListPanel.java
License:Apache License
private void addRoleSearchModal(Radio roleRb) { final ModalWindow rolesModalWindow; userformsearchfields.add(rolesModalWindow = new ModalWindow("rolesearchmodal")); final RoleSearchModalPanel roleSearchModalPanel = new RoleSearchModalPanel(rolesModalWindow.getContentId(), rolesModalWindow, false);/*from ww w. j av a 2 s. co m*/ rolesModalWindow.setContent(roleSearchModalPanel); rolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public void onClose(AjaxRequestTarget target) { UserRole roleConstraint = roleSearchModalPanel.getRoleSelection(); if (roleConstraint != null) { LOG.debug("modal selected:" + roleConstraint.getName()); searchData.setField1(roleConstraint.getName()); selectedRadioButton = ROLES; enableRoleSearch(); target.add(searchFields); target.add(radioGroup); } } }); roleRb.add(new SecureIndicatingAjaxLink("roleAssignLinkLbl", GlobalIds.REVIEW_MGR, GlobalIds.FIND_ROLES) { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { roleSearchModalPanel.setRoleSearchVal(searchData.getField1()); roleSearchModalPanel.setAdmin(false); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); rolesModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); rolesModalWindow.setTitle("RBAC Role Search Modal"); rolesModalWindow.setInitialWidth(700); rolesModalWindow.setInitialHeight(450); rolesModalWindow.setCookieName("role-assign-modal"); }
From source file:org.apache.directory.fortress.web.panel.UserListPanel.java
License:Apache License
private void addAdminRoleSearchModal(Radio adminRoleRb) { final ModalWindow adminRolesModalWindow; userformsearchfields.add(adminRolesModalWindow = new ModalWindow("adminrolesearchmodal")); final RoleSearchModalPanel adminRoleSearchModalPanel = new RoleSearchModalPanel( adminRolesModalWindow.getContentId(), adminRolesModalWindow, true); adminRolesModalWindow.setContent(adminRoleSearchModalPanel); adminRolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override//from w w w . j a v a 2 s . co m public void onClose(AjaxRequestTarget target) { UserRole roleConstraint = adminRoleSearchModalPanel.getRoleSelection(); if (roleConstraint != null) { searchData.setField1(roleConstraint.getName()); selectedRadioButton = ADMIN_ROLES; enableAdminSearch(); target.add(searchFields); target.add(radioGroup); } } }); adminRoleRb.add(new SecureIndicatingAjaxLink("adminRoleAssignLinkLbl", GlobalIds.DEL_REVIEW_MGR, GlobalIds.FIND_ROLES) { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { String msg = "clicked on admin roles search"; msg += "adminRoleSelection: " + searchData.getField1(); adminRoleSearchModalPanel.setRoleSearchVal(searchData.getField1()); adminRoleSearchModalPanel.setAdmin(true); LOG.debug(msg); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); adminRolesModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); adminRolesModalWindow.setTitle("Admin Role Search Modal"); adminRolesModalWindow.setInitialWidth(700); adminRolesModalWindow.setInitialHeight(450); adminRolesModalWindow.setCookieName("role-assign-modal"); }
From source file:org.apache.directory.fortress.web.panel.UserListPanel.java
License:Apache License
private void addOUSearchModal(Radio ouRb) { final ModalWindow ousModalWindow; userformsearchfields.add(ousModalWindow = new ModalWindow("ousearchmodal")); final OUSearchModalPanel ouSearchModalPanel = new OUSearchModalPanel(ousModalWindow.getContentId(), ousModalWindow, true);/*from w w w .j a v a2s. com*/ ousModalWindow.setContent(ouSearchModalPanel); ousModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public void onClose(AjaxRequestTarget target) { OrgUnit ou = ouSearchModalPanel.getSelection(); if (ou != null) { searchData.setField1(ou.getName()); } selectedRadioButton = OUS; enableOuSearch(); target.add(searchFields); target.add(radioGroup); } }); ouRb.add(new SecureIndicatingAjaxLink("ouAssignLinkLbl", GlobalIds.DEL_REVIEW_MGR, "searchOU") { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { ouSearchModalPanel.setSearchVal(searchData.getField1()); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); ousModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); ousModalWindow.setTitle("User Organizational Unit Search Modal"); ousModalWindow.setInitialWidth(450); ousModalWindow.setInitialHeight(450); ousModalWindow.setCookieName("userou-modal"); }
From source file:org.apache.directory.fortress.web.panel.UserListPanel.java
License:Apache License
private void addPermSearchModal(Radio permRb) { final ModalWindow permsModalWindow; userformsearchfields.add(permsModalWindow = new ModalWindow("permsearchmodal")); final PermSearchModalPanel permSearchModalPanel = new PermSearchModalPanel(permsModalWindow.getContentId(), permsModalWindow, false);/*from www . j a v a 2 s .c o m*/ permsModalWindow.setContent(permSearchModalPanel); permsModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public void onClose(AjaxRequestTarget target) { Permission permSelection = permSearchModalPanel.getSelection(); if (permSelection != null) { searchData.setField1(permSelection.getObjName()); searchData.setField2(permSelection.getOpName()); } selectedRadioButton = PERMS; enablePermSearch(); target.add(searchFields); target.add(radioGroup); } }); permRb.add(new SecureIndicatingAjaxLink("permLinkLbl", GlobalIds.REVIEW_MGR, GlobalIds.FIND_PERMISSIONS) { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { String msg = "clicked on perms search"; msg += "permSelection: " + permission; String objectSearchVal = ""; if (StringUtils.isNotEmpty(searchData.getField1())) { objectSearchVal = searchData.getField1(); } permSearchModalPanel.setSearchVal(objectSearchVal); LOG.debug(msg); target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE); permsModalWindow.show(target); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener() { /** Default serialVersionUID */ private static final long serialVersionUID = 1L; @Override public CharSequence getFailureHandler(Component component) { return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML; } }; attributes.getAjaxCallListeners().add(ajaxCallListener); } }); permsModalWindow.setTitle("Permission Search Modal"); permsModalWindow.setInitialWidth(650); permsModalWindow.setInitialHeight(450); permsModalWindow.setCookieName("perm-search-modal"); }
From source file:org.apache.syncope.client.console.pages.PolicyModalPage.java
License:Apache License
public PolicyModalPage(final PageReference pageRef, final ModalWindow window, final T policyTO) { super();/*from w w w . ja va2s . co m*/ final Form<?> form = new Form<>(FORM); form.setOutputMarkupId(true); add(form); final AjaxTextFieldPanel policyid = new AjaxTextFieldPanel("key", "key", new PropertyModel<String>(policyTO, "key")); policyid.setEnabled(false); policyid.setStyleSheet("ui-widget-content ui-corner-all short_fixedsize"); form.add(policyid); final AjaxTextFieldPanel description = new AjaxTextFieldPanel("description", "description", new PropertyModel<String>(policyTO, "description")); description.addRequiredLabel(); description.setStyleSheet("ui-widget-content ui-corner-all medium_dynamicsize"); form.add(description); final AjaxDropDownChoicePanel<PolicyType> type = new AjaxDropDownChoicePanel<>("type", "type", new PropertyModel<PolicyType>(policyTO, "type")); switch (policyTO.getType()) { case GLOBAL_ACCOUNT: case ACCOUNT: type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_ACCOUNT, PolicyType.ACCOUNT })); break; case GLOBAL_PASSWORD: case PASSWORD: type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_PASSWORD, PolicyType.PASSWORD })); break; case GLOBAL_SYNC: case SYNC: type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_SYNC, PolicyType.SYNC })); default: } type.setChoiceRenderer(new PolicyTypeRenderer()); type.addRequiredLabel(); form.add(type); // Authentication resources - only for AccountPolicyTO Fragment fragment; if (policyTO instanceof AccountPolicyTO) { fragment = new Fragment("forAccountOnly", "authResourcesFragment", form); final List<String> resourceNames = new ArrayList<>(); for (ResourceTO resource : resourceRestClient.getAll()) { resourceNames.add(resource.getKey()); } fragment.add(new AjaxPalettePanel<>("authResources", new PropertyModel<List<String>>(policyTO, "resources"), new ListModel<>(resourceNames))); } else { fragment = new Fragment("forAccountOnly", "emptyFragment", form); } form.add(fragment); // final PolicySpec policy = getPolicySpecification(policyTO); form.add(new PolicyBeanPanel("panel", policy)); final ModalWindow mwindow = new ModalWindow("metaEditModalWin"); mwindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY); mwindow.setInitialHeight(WIN_HEIGHT); mwindow.setInitialWidth(WIN_WIDTH); mwindow.setCookieName("meta-edit-modal"); add(mwindow); List<IColumn<String, String>> resColumns = new ArrayList<>(); resColumns.add(new AbstractColumn<String, String>(new StringResourceModel("name", this, null, "")) { private static final long serialVersionUID = 2054811145491901166L; @Override public void populateItem(final Item<ICellPopulator<String>> cellItem, final String componentId, final IModel<String> rowModel) { cellItem.add(new Label(componentId, rowModel.getObject())); } }); resColumns.add(new AbstractColumn<String, String>(new StringResourceModel("actions", this, null, "")) { private static final long serialVersionUID = 2054811145491901166L; @Override public String getCssClass() { return "action"; } @Override public void populateItem(final Item<ICellPopulator<String>> cellItem, final String componentId, final IModel<String> model) { final String resource = model.getObject(); final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference()); panel.add(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { mwindow.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = -7834632442532690940L; @Override public Page createPage() { return new ResourceModalPage(PolicyModalPage.this.getPageReference(), mwindow, resourceRestClient.read(resource), false); } }); mwindow.show(target); } }, ActionLink.ActionType.EDIT, "Resources"); cellItem.add(panel); } }); ISortableDataProvider<String, String> resDataProvider = new SortableDataProvider<String, String>() { private static final long serialVersionUID = 8263758912838836438L; @Override public Iterator<? extends String> iterator(final long first, final long count) { return policyTO.getKey() == 0 ? Collections.<String>emptyList().iterator() : policyRestClient.getPolicy(policyTO.getKey()).getUsedByResources() .subList((int) first, (int) first + (int) count).iterator(); } @Override public long size() { return policyTO.getKey() == 0 ? 0 : policyRestClient.getPolicy(policyTO.getKey()).getUsedByResources().size(); } @Override public IModel<String> model(final String object) { return new Model<>(object); } }; final AjaxFallbackDefaultDataTable<String, String> resources = new AjaxFallbackDefaultDataTable<>( "resources", resColumns, resDataProvider, 10); form.add(resources); List<IColumn<GroupTO, String>> groupColumns = new ArrayList<>(); groupColumns.add(new PropertyColumn<GroupTO, String>(new ResourceModel("key", "key"), "key", "key")); groupColumns.add(new PropertyColumn<GroupTO, String>(new ResourceModel("name", "name"), "name", "name")); groupColumns.add(new AbstractColumn<GroupTO, String>(new StringResourceModel("actions", this, null, "")) { private static final long serialVersionUID = 2054811145491901166L; @Override public String getCssClass() { return "action"; } @Override public void populateItem(final Item<ICellPopulator<GroupTO>> cellItem, final String componentId, final IModel<GroupTO> model) { final GroupTO group = model.getObject(); final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference()); panel.add(new ActionLink() { private static final long serialVersionUID = -3722207913631435501L; @Override public void onClick(final AjaxRequestTarget target) { mwindow.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = -7834632442532690940L; @Override public Page createPage() { return new GroupModalPage(PolicyModalPage.this.getPageReference(), mwindow, group); } }); mwindow.show(target); } }, ActionLink.ActionType.EDIT, "Groups"); cellItem.add(panel); } }); ISortableDataProvider<GroupTO, String> groupDataProvider = new SortableDataProvider<GroupTO, String>() { private static final long serialVersionUID = 8263758912838836438L; @Override public Iterator<? extends GroupTO> iterator(final long first, final long count) { List<GroupTO> groups = new ArrayList<>(); if (policyTO.getKey() > 0) { for (Long groupId : policyRestClient.getPolicy(policyTO.getKey()).getUsedByGroups() .subList((int) first, (int) first + (int) count)) { groups.add(groupRestClient.read(groupId)); } } return groups.iterator(); } @Override public long size() { return policyTO.getKey() == 0 ? 0 : policyRestClient.getPolicy(policyTO.getKey()).getUsedByGroups().size(); } @Override public IModel<GroupTO> model(final GroupTO object) { return new Model<>(object); } }; final AjaxFallbackDefaultDataTable<GroupTO, String> groups = new AjaxFallbackDefaultDataTable<>("groups", groupColumns, groupDataProvider, 10); form.add(groups); mwindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 8804221891699487139L; @Override public void onClose(final AjaxRequestTarget target) { target.add(resources); target.add(groups); if (isModalResult()) { info(getString(Constants.OPERATION_SUCCEEDED)); feedbackPanel.refresh(target); setModalResult(false); } } }); final AjaxButton submit = new IndicatingAjaxButton(APPLY, new ResourceModel(APPLY)) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { setPolicySpecification(policyTO, policy); try { if (policyTO.getKey() > 0) { policyRestClient.updatePolicy(policyTO); } else { policyRestClient.createPolicy(policyTO); } ((BasePage) pageRef.getPage()).setModalResult(true); window.close(target); } catch (Exception e) { LOG.error("While creating policy", e); error(getString(Constants.ERROR) + ": " + e.getMessage()); ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form<?> form) { ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target); } }; form.add(submit); final IndicatingAjaxButton cancel = new IndicatingAjaxButton(CANCEL, new ResourceModel(CANCEL)) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { window.close(target); } @Override protected void onError(final AjaxRequestTarget target, final Form<?> form) { } }; cancel.setDefaultFormProcessing(false); form.add(cancel); }