List of usage examples for org.apache.wicket.util.visit IVisit stop
void stop();
From source file:org.apache.isis.viewer.wicket.model.models.WicketComponentUtils.java
License:Apache License
/** * Locates a component implementing the required class on the supplied page. *//*from www. j av a 2 s. c o m*/ public static <T> T getFrom(Page page, final Class<T> cls) { final Object[] pComponent = new Object[1]; page.visitChildren(new DeepChildFirstVisitor() { @Override public void component(Component component, IVisit<Void> visit) { if (cls.isAssignableFrom(component.getClass())) { pComponent[0] = component; visit.stop(); } } @Override public boolean preCheck(Component component) { return false; } }); return (T) pComponent[0]; }
From source file:org.cast.isi.component.ResponseFeedbackButtonPanelVisitor.java
License:Open Source License
public void component(ResponseFeedbackButtonPanel component, IVisit<Void> visit) { String currentState = component.getState(); // once a new feedback is found - stop, this will be the indicator if (currentState.equals("new")) { state = "new"; visit.stop(); } else if (currentState.equals("old") && (state == null)) { state = "old"; }/*from www. j a va 2 s .c o m*/ }
From source file:org.cast.isi.panel.ResponseButtons.java
License:Open Source License
/** * Returns a ResponseList component on this page that refers to the same Prompt. * This ResponseList will be used to insert new responses, and refreshed when appropriate. * @return/*from w w w. j a va2s. c o m*/ */ private ResponseList getListComponent() { if (listComponent != null) return listComponent; getPage().visitChildren(ResponseList.class, new IVisitor<ResponseList, Void>() { public void component(ResponseList component, IVisit<Void> visit) { if (component.getPromptModel().equals(mPrompt)) { listComponent = component; // found! visit.stop(); } else { visit.dontGoDeeper(); } } }); return listComponent; }
From source file:org.dcm4chee.wizard.common.login.secure.ExtendedSwarmStrategy.java
License:LGPL
private MarkupContainer findLowestSecureContainer(Component component) { final MarkupContainer[] lowestSecureParent = new MarkupContainer[1]; component.visitParents(MarkupContainer.class, new IVisitor<MarkupContainer, Void>() { public void component(MarkupContainer component, IVisit<Void> visit) { if (component instanceof ISecureComponent) { lowestSecureParent[0] = component; visit.stop(); }//ww w . j a va2 s. com } }); if (null == lowestSecureParent[0]) { try { lowestSecureParent[0] = component.getPage(); } catch (IllegalStateException e) { throw new SecurityException( this.getClass() + ": Unable to create alias for component: " + component, e); } } MarkupContainer markupContainer = lowestSecureParent[0]; return markupContainer; }
From source file:org.devgateway.eudevfin.ui.common.components.VisibilityAwareContainer.java
License:Open Source License
@Override protected void onConfigure() { super.onConfigure(); final Model<Boolean> oneVisibleChild = Model.of(Boolean.FALSE); this.visitChildren(AbstractField.class, new IVisitor<Component, Object>() { @Override/*from ww w . j a v a 2 s . c o m*/ public void component(Component object, IVisit<Object> visit) { object.configure(); //force an early configure on the visited object if (object.determineVisibility()) { //use determineVisibility instead of isVisible, handles all cases! oneVisibleChild.setObject(Boolean.TRUE); visit.stop(); } } }); this.setVisibilityAllowed(oneVisibleChild.getObject()); }
From source file:org.efaps.ui.wicket.components.bpm.process.ProcessAdminPanel.java
License:Apache License
/** * @param _wicketId WicketId//from w w w . ja va2 s.c o m * @param _pageReference Refernce to the page * @throws EFapsException on error */ public ProcessAdminPanel(final String _wicketId, final PageReference _pageReference) throws EFapsException { super(_wicketId); final Form<UIProcessInstanceLog> form = new Form<UIProcessInstanceLog>("form"); add(form); final DropDownChoice<String> dropDown = new DropDownChoice<String>("processIds", Model.<String>of(), UIProcessInstanceLog.getProcessIds()); dropDown.setNullValid(true); dropDown.add(new AjaxFormComponentUpdatingBehavior("change") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(final AjaxRequestTarget _target) { getPage().visitChildren(AjaxFallbackDefaultDataTable.class, new IVisitor<AjaxFallbackDefaultDataTable<?, ?>, Void>() { @Override public void component(final AjaxFallbackDefaultDataTable<?, ?> _table, final IVisit<Void> _visit) { final IDataProvider<?> provider = _table.getDataProvider(); if (provider instanceof ProcessInstanceProvider) { ((ProcessInstanceProvider) provider) .setProcessId(getComponent().getDefaultModelObjectAsString()); ((ProcessInstanceProvider) provider).requery(); _target.add(_table); _visit.stop(); } } }); } }); form.add(dropDown); final ProcessTablePanel taskTable = new ProcessTablePanel("processTable", _pageReference, new ProcessInstanceProvider()); form.add(taskTable); final NodeTablePanel nodeTable = new NodeTablePanel("nodeTable", _pageReference, new NodeInstanceProvider()); form.add(nodeTable); final VariableTablePanel variableTable = new VariableTablePanel("variableTable", _pageReference, new VariableInstanceProvider()); form.add(variableTable); }
From source file:org.efaps.ui.wicket.components.connection.MessagePanel.java
License:Apache License
/** * @param _wicketId wicketId of this component * @param _pageReference reference to the page * @throws EFapsException on error/*ww w . ja v a2s . c om*/ */ public MessagePanel(final String _wicketId, final PageReference _pageReference) throws EFapsException { super(_wicketId); final Form<Void> msgForm = new Form<>("msgForm"); add(msgForm); final AjaxSubmitLink sendMsgBtn = new AjaxSubmitLink("sendMsgBtn", msgForm) { private static final long serialVersionUID = 1L; @Override protected void onAfterSubmit(final AjaxRequestTarget _target, final Form<?> _form) { final StringBuilder msg = new StringBuilder(); _form.visitChildren(TextArea.class, new IVisitor<TextArea<String>, Void>() { @Override public void component(final TextArea<String> _textArea, final IVisit<Void> _visit) { _textArea.setEscapeModelStrings(false); msg.append(_textArea.getDefaultModelObjectAsString()); _visit.stop(); } }); if (msg.length() > 0) { _form.visitChildren(CheckBox.class, new IVisitor<CheckBox, Void>() { @Override public void component(final CheckBox _checkBox, final IVisit<Void> _visit) { final Boolean selected = (Boolean) _checkBox.getDefaultModelObject(); if (selected) { final CheckBoxPanel panel = (CheckBoxPanel) _checkBox.getParent(); final UIUser user = (UIUser) panel.getDefaultModelObject(); final List<IWebSocketConnection> conns = RegistryManager .getConnections4User(user.getUserName()); for (final IWebSocketConnection conn : conns) { conn.sendMessage(new PushMsg(msg.toString())); } } } }); } } }; msgForm.add(sendMsgBtn); final AjaxSubmitLink broadcastMsgBtn = new AjaxSubmitLink("broadcastMsgBtn", msgForm) { private static final long serialVersionUID = 1L; @Override protected void onAfterSubmit(final AjaxRequestTarget _target, final Form<?> _form) { final StringBuilder msg = new StringBuilder(); _form.visitChildren(TextArea.class, new IVisitor<TextArea<String>, Void>() { @Override public void component(final TextArea<String> _textArea, final IVisit<Void> _visit) { _textArea.setEscapeModelStrings(false); msg.append(_textArea.getDefaultModelObjectAsString()); _visit.stop(); } }); if (msg.length() > 0) { final WebSocketSettings webSocketSettings = WebSocketSettings.Holder.get(getApplication()); final WebSocketPushBroadcaster broadcaster = new WebSocketPushBroadcaster( webSocketSettings.getConnectionRegistry()); broadcaster.broadcastAll(EFapsApplication.get(), new PushMsg(msg.toString())); } } }; msgForm.add(broadcastMsgBtn); final TextArea<String> msg = new TextArea<>("msg", Model.of("")); msgForm.add(msg); final MessageTablePanel messageTable = new MessageTablePanel("messageTable", _pageReference, new UserProvider()); msgForm.add(messageTable); }
From source file:org.efaps.ui.wicket.components.gridx.behaviors.SubmitBehavior.java
License:Apache License
@Override protected void onSubmit(final AjaxRequestTarget _target) { super.onSubmit(_target); final IRequestParameters para = getComponent().getRequest().getRequestParameters(); final StringValue rid = para.getParameterValue("rid"); final UIGrid uiGrid = (UIGrid) getComponent().getPage().getDefaultModelObject(); final Long cmdId = uiGrid.getID4Random(rid.toString()); try {/*from w w w .j a va 2 s. co m*/ final Command cmd = Command.get(cmdId); final List<StringValue> oidValues = para.getParameterValues("selectedRow"); final String[] oids = ParameterUtil.parameter2Array(para, "selectedRow"); boolean check = false; if (cmd.getSubmitSelectedRows() > -1) { if (cmd.getSubmitSelectedRows() > 0) { check = oidValues == null ? false : oidValues.size() == cmd.getSubmitSelectedRows(); } else { check = oidValues == null ? false : !oidValues.isEmpty(); } } else { check = true; } if (check) { if (cmd.isAskUser()) { getComponent().getPage().visitChildren(ModalWindowContainer.class, new IVisitor<ModalWindowContainer, Void>() { @Override public void component(final ModalWindowContainer _modal, final IVisit<Void> _visit) { _modal.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; @Override public Page createPage() { Page page = null; try { page = new DialogPage(getComponent().getPage().getPageReference(), UICmdObject.getModel(cmdId), oids); } catch (final EFapsException e) { page = new ErrorPage(e); } return page; } }); _modal.setInitialHeight(150); _modal.setInitialWidth(350); _modal.show(_target); _visit.stop(); } }); } else { boolean updatePage = true; if (cmd.hasEvents(EventType.UI_COMMAND_EXECUTE)) { try { final List<Return> rets; if (oidValues != null) { rets = cmd.executeEvents(EventType.UI_COMMAND_EXECUTE, ParameterValues.OTHERS, oids); } else { rets = cmd.executeEvents(EventType.UI_COMMAND_EXECUTE); } if (cmd.isTargetShowFile() && rets != null && !rets.isEmpty()) { final Object object = rets.get(0).get(ReturnValues.VALUES); if (object instanceof File) { ((EFapsSession) getComponent().getSession()).setFile((File) object); ((AbstractMergePage) getComponent().getPage()).getDownloadBehavior() .initiate(_target); updatePage = false; } } } catch (final EFapsException e) { throw new RestartResponseException(new ErrorPage(e)); } } if (updatePage) { uiGrid.reload(); getComponent().setResponsePage(new GridPage(Model.of(uiGrid))); } } } else { getComponent().getPage().visitChildren(ModalWindowContainer.class, new IVisitor<ModalWindowContainer, Void>() { @Override public void component(final ModalWindowContainer _modal, final IVisit<Void> _visit) { _modal.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; @Override public Page createPage() { return new DialogPage(getComponent().getPage().getPageReference(), "SubmitSelectedRows.fail" + cmd.getSubmitSelectedRows(), false, false); } }); _modal.setInitialHeight(150); _modal.setInitialWidth(350); _modal.show(_target); _visit.stop(); } }); } } catch (final EFapsException e) { SubmitBehavior.LOG.error("Catched", e); } }
From source file:org.efaps.ui.wicket.components.gridx.behaviors.SubmitModalBehavior.java
License:Apache License
@Override protected void onSubmit(final AjaxRequestTarget _target) { super.onSubmit(_target); try {/*from w w w .ja v a 2s.co m*/ final IRequestParameters para = getComponent().getRequest().getRequestParameters(); final StringValue rid = para.getParameterValue("rid"); final UIGrid uiGrid = (UIGrid) getComponent().getPage().getDefaultModelObject(); final Long cmdId = uiGrid.getID4Random(rid.toString()); final Command cmd = Command.get(cmdId); final List<StringValue> oidValues = para.getParameterValues("selectedRow"); boolean check = false; if (cmd.getSubmitSelectedRows() > -1) { if (cmd.getSubmitSelectedRows() > 0) { check = oidValues == null ? false : oidValues.size() == cmd.getSubmitSelectedRows(); } else { check = oidValues == null ? false : !oidValues.isEmpty(); } } else { check = true; } if (check) { final ModalWindowContainer modal = getComponent().getPage() .visitChildren(ModalWindowContainer.class, new ModalVisitor()); modal.show(_target); } else { getComponent().getPage().visitChildren(ModalWindowContainer.class, new IVisitor<ModalWindowContainer, Void>() { @Override public void component(final ModalWindowContainer _modal, final IVisit<Void> _visit) { _modal.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; @Override public Page createPage() { return new DialogPage(getComponent().getPage().getPageReference(), "SubmitSelectedRows.fail" + cmd.getSubmitSelectedRows(), false, false); } }); _modal.setInitialHeight(150); _modal.setInitialWidth(350); _modal.show(_target); _visit.stop(); } }); } } catch (final Exception e) { SubmitModalBehavior.LOG.error("Catched", e); } }
From source file:org.efaps.ui.wicket.components.menutree.MenuTree.java
License:Apache License
/** * @param _commandUUID UUID of the command * @param _instanceKey instance key//from w w w . j a va2s .co m * @param _target the ajax target to use * @throws CacheReloadException on error */ public void addChildMenu(final UUID _commandUUID, final String _instanceKey, final AjaxRequestTarget _target) throws CacheReloadException { final UIMenuItem menuItem = (UIMenuItem) getSelected().getDefaultModelObject(); boolean old = false; for (final UIMenuItem child : menuItem.getChildren()) { if (child.getInstanceKey().equals(_instanceKey) && child.getCommandUUID().equals(_commandUUID)) { old = true; child.setSelected(true); menuItem.setSelected(false); visitChildren(MenuItem.class, new IVisitor<MenuItem, Void>() { @Override public void component(final MenuItem _comp, final IVisit<Void> _visit) { final Object object = _comp.getDefaultModelObject(); if (object != null && object instanceof UIMenuItem) { if (((UIMenuItem) object).isSelected()) { _target.add(getSelected()); setSelected(_comp); _target.add(getSelected()); _visit.stop(); } } } }); break; } } if (!old) { final UIMenuItem newMenuItem = new UIMenuItem(_commandUUID, _instanceKey); newMenuItem.setSelected(true); newMenuItem.setAncestor(menuItem); menuItem.getChildren().add(newMenuItem); expand(menuItem); expand(newMenuItem); menuItem.setSelected(false); _target.add(getSelected()); } }