/** * <p> * Retorna o path da instancia atual desde o raiz, incluindo o nome da * instancia raiz. * </p> * Exemplos, supundo que enderecos e experiencias estao dentro de um * elemento raiz (vamos dizer chamado cadastro): * </p> * <p> * <pre> * "cadastro.enderecos[0].rua" * "cadastro.experiencias[0].empresa.nome" * "cadastro.experiencias[1].empresa.ramo" * </pre> */ public final String getPathFull() { return SFormUtil.generatePath(this, i -> i == null); }
/** * <p> * Retorna o path da instancia atual desde o raiz, incluindo o nome da * instancia raiz. * </p> * Exemplos, supundo que enderecos e experiencias estao dentro de um * elemento raiz (vamos dizer chamado cadastro): * </p> * <p> * <pre> * "cadastro.enderecos[0].rua" * "cadastro.experiencias[0].empresa.nome" * "cadastro.experiencias[1].empresa.ramo" * </pre> */ public final String getPathFull() { return SFormUtil.generatePath(this, i -> i == null); }
/** * <p> * Retorna o path da instancia atual relativa ao elemento raiz, ou seja, não * inclui o nome da instância raiz no path gerado. * </p> * Exemplos, supundo que enderecos e experiencias estao dentro de um * elemento raiz (vamos dizer chamado cadastro): * </p> * <p> * <pre> * "enderecos[0].rua" * "experiencias[0].empresa.nome" * "experiencias[1].empresa.ramo" * </pre> * * @return Null se chamado em uma instância raiz. */ public final String getPathFromRoot() { return SFormUtil.generatePath(this, i -> i.parent == null); }
/** * <p> * Retorna o path da instancia atual relativa ao elemento raiz, ou seja, não * inclui o nome da instância raiz no path gerado. * </p> * Exemplos, supundo que enderecos e experiencias estao dentro de um * elemento raiz (vamos dizer chamado cadastro): * </p> * <p> * <pre> * "enderecos[0].rua" * "experiencias[0].empresa.nome" * "experiencias[1].empresa.ramo" * </pre> * * @return Null se chamado em uma instância raiz. */ public final String getPathFromRoot() { return SFormUtil.generatePath(this, i -> i.parent == null); }
@Override protected Component newMessageDisplayComponent(String id, FeedbackMessage message) { Component component = super.newMessageDisplayComponent(id, message); if (component instanceof Label) { final Label label = (Label) component; if (message instanceof SFeedbackMessage) { final SFeedbackMessage bfm = (SFeedbackMessage) message; final SInstance instance = bfm.getInstanceModel().getObject(); final SInstance parentContext = WicketFormUtils.resolveInstance(getFence()).orElse(null); final String labelPath = StringUtils.defaultString( WicketFormUtils.generateTitlePath(getFence(), parentContext, message.getReporter(), instance), SFormUtil.generatePath(instance, it -> it == parentContext)); label.setDefaultModelObject(labelPath + " : " + bfm.getMessage()); } } return component; } }
@Override protected Component newMessageDisplayComponent(String id, FeedbackMessage message) { Component component = super.newMessageDisplayComponent(id, message); if (component instanceof Label) { final Label label = (Label) component; if (message instanceof SFeedbackMessage) { final SFeedbackMessage bfm = (SFeedbackMessage) message; final SInstance instance = bfm.getInstanceModel().getObject(); final SInstance parentContext = WicketFormUtils.resolveInstance(getFence()).orElse(null); final String labelPath = StringUtils.defaultString( WicketFormUtils.generateTitlePath(getFence(), parentContext, message.getReporter(), instance), SFormUtil.generatePath(instance, it -> it == parentContext)); label.setDefaultModelObject(labelPath + " : " + bfm.getMessage()); } } return component; } }
protected Component newMessageDisplayComponent(String id, IModel<ValidationError> error) { final Component component = new Label(id, $m.map(error, ValidationError::getMessage)); component.setEscapeModelStrings(SValidationFeedbackPanel.this.getEscapeModelStrings()); component.add($b.classAppender($m.map(error, this::getCSSClass))); final Label label = (Label) component; if (error instanceof SFeedbackMessage) { final SFeedbackMessage bfm = (SFeedbackMessage) error; final SInstance instance = bfm.getInstanceModel().getObject(); final SInstance parentContext = WicketFormUtils.resolveInstance(getFence().getMainContainer()).orElse(null); final Optional<Component> reporter = WicketFormUtils.findChildByInstance(getFence().getMainContainer(), instance); final String labelPath = StringUtils.defaultString( reporter.map(it -> WicketFormUtils.generateTitlePath(getFence().getMainContainer(), parentContext, it, instance)).orElse(null), SFormUtil.generatePath(instance, it -> Objects.equals(it, parentContext))); label.setDefaultModelObject(labelPath + " : " + bfm.getMessage()); } return component; }
protected Component newMessageDisplayComponent(String id, IModel<IValidationError> error) { final Component component = new Label(id, $m.map(error, IValidationError::getMessage)); component.setEscapeModelStrings(SValidationFeedbackPanel.this.getEscapeModelStrings()); component.add($b.classAppender($m.map(error, this::getCSSClass))); final Label label = (Label) component; if (error instanceof SFeedbackMessage) { final SFeedbackMessage bfm = (SFeedbackMessage) error; final SInstance instance = bfm.getInstanceModel().getObject(); final SInstance parentContext = WicketFormUtils.resolveInstance(getFence().getMainContainer()).orElse(null); final Optional<Component> reporter = WicketFormUtils.findChildByInstance(getFence().getMainContainer(), instance); final String labelPath = StringUtils.defaultString( reporter.map(it -> WicketFormUtils.generateTitlePath(getFence().getMainContainer(), parentContext, it, instance)).orElse(null), SFormUtil.generatePath(instance, it -> Objects.equals(it, parentContext))); label.setDefaultModelObject(labelPath + " : " + bfm.getMessage()); } return component; }